Skip to contentSkip to conversation

defconfig support for CPU_BIG_ENDIAN arm64 kernel

DISCUSSION Scott Branden 2 participants 3 messages Nov 23, 2015

lore
Share & tools
lore
#0 lore raw

For arm64 platforms there is only a single defconfig upstreamed. This builds for Little Endian ARM64 platforms. So...what about Big Endian?

It seems like we need another defconfig with CPU_BIG_ENDIAN to be enabled and built in the upstream kernel. We need this deconfig to test that drivers compile in big endian mode and we have an upstream kernel image to run on these systems.

I'm hoping the upstreamed kernel is already being built/tested with the arm64 big endian compiler.

If not, perhaps the upstream solution is to continue to use the single defconfig we have today and start using scripts/kconfig/merge_config.sh to add the CPU_BIG_ENDIAN support to generate a big endian defconfig?

Hopefully arm64 is already being compiled and tested for Big Endian and I'm missing something?

Regards,
Scott

#1 lore raw
Quoted 11 lines · On Monday 23 November 2015 13:58:42 Scott Branden wrote:

For arm64 platforms there is only a single defconfig upstreamed. This builds for Little Endian ARM64 platforms. So...what about Big Endian?

It seems like we need another defconfig with CPU_BIG_ENDIAN to be enabled and built in the upstream kernel. We need this deconfig to test that drivers compile in big endian mode and we have an upstream kernel image to run on these systems.

I'm hoping the upstreamed kernel is already being built/tested with the arm64 big endian compiler.

Quoted 6 lines

If not, perhaps the upstream solution is to continue to use the single defconfig we have today and start using scripts/kconfig/merge_config.sh to add the CPU_BIG_ENDIAN support to generate a big endian defconfig?

Hopefully arm64 is already being compiled and tested for Big Endian and I'm missing something?

kernelci.org uses Kconfig fragments to build big-endian kernels with merge-config.sh

We should probably make it a little more straightforward to do this with mainline kernels. 'make help' already shows 'kvmconfig', 'xenconfig' and 'tinyconfig' targets for arm64 that use this. Any suggestions how we should name and integrate big-endian builds?

Arnd

#2 lore raw

Hi Arnd,

Quoted 16 lines · Arnd Bergmann
Quoted 15 lines · On Monday 23 November 2015 13:58:42 Scott Branden wrote:

For arm64 platforms there is only a single defconfig upstreamed. This builds for Little Endian ARM64 platforms. So...what about Big Endian?

It seems like we need another defconfig with CPU_BIG_ENDIAN to be enabled and built in the upstream kernel. We need this deconfig to test that drivers compile in big endian mode and we have an upstream kernel image to run on these systems.

I'm hoping the upstreamed kernel is already being built/tested with the arm64 big endian compiler.

If not, perhaps the upstream solution is to continue to use the single defconfig we have today and start using scripts/kconfig/merge_config.sh to add the CPU_BIG_ENDIAN support to generate a big endian defconfig?

Quoted 5 lines
Quoted 2 lines

Hopefully arm64 is already being compiled and tested for Big Endian and I'm missing something?

kernelci.org uses Kconfig fragments to build big-endian kernels with merge-config.sh

Glad its already tested!

Quoted 5 lines

We should probably make it a little more straightforward to do this with mainline kernels. 'make help' already shows 'kvmconfig', 'xenconfig' and 'tinyconfig' targets for arm64 that use this. Any suggestions how we should name and integrate big-endian builds?

Yes, I would like this ability added to the standard arm64 make configuration targets.

To do this we would need to add a new configuration target "bigendianconfig"
or
"beconfig" - Update current config to enable big endian support

If we do that - Perhaps the other is necessary as well then? "littleendianconfig"
or
"leconfig"

I propose the short format "beconfig" and "leconfig" be added.

Thanks,
Scott

Quoted 3 lines

Arnd