Re: [PATCH v3] arch: Kconfig: Let all architectures set endian explicitly
From: Chen Gang <hidden>
Date: 2014-08-15 02:02:44
Also in:
linux-mips, linux-um, linuxppc-dev
On 8/15/14 9:52, Max Filippov wrote:
On Fri, Aug 15, 2014 at 5:47 AM, Max Filippov [off-list ref] wrote:quoted
Hi Chen, On Thu, Aug 14, 2014 at 8:54 PM, Chen Gang [off-list ref] wrote:quoted
Normal architectures: - Big endian: avr32, frv, m68k, openrisc, parisc, s390, sparc - Little endian: alpha, blackfin, cris, hexagon, ia64, metag, mn10300, score, unicore32, x86 - Choose in config time: arc, arm, arm64, c6x, m32r, mips, powerpc, sh Special architectures: - Deside by compiler: microblaze, tile, xtensa. - Deside by building host: um - Next, need improve Kbuild to probe endian to deside whether need mark __BUILDING_TIME_BIG_ENDIAN__ before real config.
Please check this comments, thanks.
quoted
[...]quoted
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index 3a617af..a3e8f7e 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig@@ -22,6 +22,8 @@ config XTENSA select HAVE_IRQ_TIME_ACCOUNTING select HAVE_PERF_EVENTS select COMMON_CLK + select CPU_BIG_ENDIAN if __BUILDING_TIME_BIG_ENDIAN__ + select CPU_LITTLE_ENDIAN if !CPU_BIG_ENDIAN help Xtensa processors are 32-bit RISC machines designed by Tensilica primarily for embedded systems. These processors are bothI've tested this part and it doesn't select neither CPU_BIG_ENDIAN, nor CPU_LITTLE_ENDIAN. And looking into the Kconfig/Kbuild I cound'tCorrection: it always selects CPU_LITTLE_ENDIAN, regardless of the compiler endianness.
Yeah, at present, it always select CPU_LITTLE_ENDIAN, next, Kbuild need be improved for it, just the comments said. If this patch can be pass checking, I shall improve the Kbuild for it, also will modify some individual drivers to use CPU_*_ENDIAN. I guess, we need Cc to kbuild for getting more ideas, suggestions, or completions. THanks. -- Chen Gang Open, share, and attitude like air, water, and life which God blessed