You need to sign in or sign up before continuing.
  • Arnd Bergmann's avatar
    ARM: rework endianess selection · 5d6f5267
    Arnd Bergmann authored
    Choosing big-endian vs little-endian kernels in Kconfig has not worked
    correctly since the introduction of CONFIG_ARCH_MULTIPLATFORM a long
    time ago.
    
    The problems is that CONFIG_BIG_ENDIAN depends on
    ARCH_SUPPORTS_BIG_ENDIAN, which can set by any one platform
    in the config, but would actually have to be supported by all
    of them.
    
    This was mostly ok for ARMv6/ARMv7 builds, since these are BE8 and
    tend to just work aside from problems in nonportable device drivers.
    For ARMv4/v5 machines, CONFIG_BIG_ENDIAN and CONFIG_ARCH_MULTIPLATFORM
    were never set together, so this was disabled on all those machines
    except for IXP4xx.
    
    As IXP4xx can now become part of ARCH_MULTIPLATFORM, it seems better to
    formalize this logic: all ARMv4/v5 platforms get an explicit dependency
    on being either big-endian (ixp4xx) or little-endian (the rest). We may
    want to fix ixp4xx in the future to support both, but it does not work
    in LE mode at the moment.
    
    For the ARMv6/v7 platforms, there are two ways...
    5d6f5267
Kconfig 9.03 KB