Message ID | 20220115200306.14037-2-patrickdepinguin@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | Basic support for 64-bit kernel and 32-bit userland | expand |
On 15/01/2022 21:02, Thomas De Schampheleire wrote: > From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> > > Similar to other arch-specific strings, the 'KERNEL_ARCH' variable can be > determined from Config.in.<arch> files. > > Besides aligning with similar strings, this also means simplification: the > big 'sed' covers several architectures not even supported by Buildroot. > > Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> > Reviewed-by: Romain Naour <romain.naour@gmail.com> Applied to master, thanks. Regards, Arnout > > --- > Makefile | 17 +---------------- > arch/Config.in | 3 +++ > arch/Config.in.arc | 3 +++ > arch/Config.in.arm | 4 ++++ > arch/Config.in.csky | 3 +++ > arch/Config.in.m68k | 3 +++ > arch/Config.in.microblaze | 3 +++ > arch/Config.in.mips | 3 +++ > arch/Config.in.nds32 | 3 +++ > arch/Config.in.nios2 | 3 +++ > arch/Config.in.or1k | 3 +++ > arch/Config.in.powerpc | 3 +++ > arch/Config.in.riscv | 3 +++ > arch/Config.in.s390x | 3 +++ > arch/Config.in.sh | 3 +++ > arch/Config.in.sparc | 4 ++++ > arch/Config.in.x86 | 4 ++++ > arch/Config.in.xtensa | 3 +++ > 18 files changed, 55 insertions(+), 16 deletions(-) > > diff --git a/Makefile b/Makefile > index 5fc7137e5a..e012d121b9 100644 > --- a/Makefile > +++ b/Makefile > @@ -437,22 +437,7 @@ QUIET := $(if $(findstring s,$(filter-out --%,$(MAKEFLAGS))),-q) > > # Strip off the annoying quoting > ARCH := $(call qstrip,$(BR2_ARCH)) > - > -KERNEL_ARCH := $(shell echo "$(ARCH)" | sed -e "s/-.*//" \ > - -e s/i.86/i386/ -e s/sun4u/sparc64/ \ > - -e s/arcle/arc/ \ > - -e s/arceb/arc/ \ > - -e s/arm.*/arm/ -e s/sa110/arm/ \ > - -e s/aarch64.*/arm64/ \ > - -e s/nds32.*/nds32/ \ > - -e s/or1k/openrisc/ \ > - -e s/parisc64/parisc/ \ > - -e s/powerpc64.*/powerpc/ \ > - -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \ > - -e s/riscv.*/riscv/ \ > - -e s/sh.*/sh/ \ > - -e s/s390x/s390/ \ > - -e s/microblazeel/microblaze/) > +KERNEL_ARCH := $(call qstrip,$(BR2_KERNEL_ARCH)) > > ZCAT := $(call qstrip,$(BR2_ZCAT)) > BZCAT := $(call qstrip,$(BR2_BZCAT)) > diff --git a/arch/Config.in b/arch/Config.in > index c99af89efa..edf337f13e 100644 > --- a/arch/Config.in > +++ b/arch/Config.in > @@ -328,6 +328,9 @@ config BR2_ARCH_NEEDS_GCC_AT_LEAST_11 > config BR2_ARCH > string > > +config BR2_KERNEL_ARCH > + string > + > config BR2_ENDIAN > string > > diff --git a/arch/Config.in.arc b/arch/Config.in.arc > index f7a6d920b5..cc55c9e68f 100644 > --- a/arch/Config.in.arc > +++ b/arch/Config.in.arc > @@ -62,6 +62,9 @@ config BR2_ARCH > default "arc" if BR2_arcle > default "arceb" if BR2_arceb > > +config BR2_KERNEL_ARCH > + default "arc" > + > config BR2_arc > bool > default y if BR2_arcle || BR2_arceb > diff --git a/arch/Config.in.arm b/arch/Config.in.arm > index 4c0910e4f8..0f50512fad 100644 > --- a/arch/Config.in.arm > +++ b/arch/Config.in.arm > @@ -822,6 +822,10 @@ config BR2_ARCH > default "aarch64" if BR2_aarch64 > default "aarch64_be" if BR2_aarch64_be > > +config BR2_KERNEL_ARCH > + default "arm" if BR2_arm || BR2_armeb > + default "arm64" if BR2_aarch64 || BR2_aarch64_be > + > config BR2_ENDIAN > default "LITTLE" if (BR2_arm || BR2_aarch64) > default "BIG" if (BR2_armeb || BR2_aarch64_be) > diff --git a/arch/Config.in.csky b/arch/Config.in.csky > index 7e2029f759..df9e7ab75b 100644 > --- a/arch/Config.in.csky > +++ b/arch/Config.in.csky > @@ -39,6 +39,9 @@ config BR2_GCC_TARGET_FLOAT_ABI > config BR2_ARCH > default "csky" > > +config BR2_KERNEL_ARCH > + default "csky" > + > config BR2_ENDIAN > default "LITTLE" > > diff --git a/arch/Config.in.m68k b/arch/Config.in.m68k > index 275f47f1d3..7f3aec7232 100644 > --- a/arch/Config.in.m68k > +++ b/arch/Config.in.m68k > @@ -1,6 +1,9 @@ > config BR2_ARCH > default "m68k" if BR2_m68k > > +config BR2_KERNEL_ARCH > + default "m68k" > + > config BR2_ENDIAN > default "BIG" > > diff --git a/arch/Config.in.microblaze b/arch/Config.in.microblaze > index 5fe2906d40..52aa252a2c 100644 > --- a/arch/Config.in.microblaze > +++ b/arch/Config.in.microblaze > @@ -2,6 +2,9 @@ config BR2_ARCH > default "microblazeel" if BR2_microblazeel > default "microblaze" if BR2_microblazebe > > +config BR2_KERNEL_ARCH > + default "microblaze" > + > config BR2_ENDIAN > default "LITTLE" if BR2_microblazeel > default "BIG" if BR2_microblazebe > diff --git a/arch/Config.in.mips b/arch/Config.in.mips > index 619456c2d5..b4923f8484 100644 > --- a/arch/Config.in.mips > +++ b/arch/Config.in.mips > @@ -235,6 +235,9 @@ config BR2_ARCH > default "mips64" if BR2_mips64 > default "mips64el" if BR2_mips64el > > +config BR2_KERNEL_ARCH > + default "mips" > + > config BR2_ENDIAN > default "LITTLE" if BR2_mipsel || BR2_mips64el > default "BIG" if BR2_mips || BR2_mips64 > diff --git a/arch/Config.in.nds32 b/arch/Config.in.nds32 > index 322ff49f2e..61fc346260 100644 > --- a/arch/Config.in.nds32 > +++ b/arch/Config.in.nds32 > @@ -1,6 +1,9 @@ > config BR2_ARCH > default "nds32le" > > +config BR2_KERNEL_ARCH > + default "nds32" > + > config BR2_GCC_TARGET_ARCH > default "v3" > > diff --git a/arch/Config.in.nios2 b/arch/Config.in.nios2 > index aae435fa17..c77b1a1c59 100644 > --- a/arch/Config.in.nios2 > +++ b/arch/Config.in.nios2 > @@ -1,6 +1,9 @@ > config BR2_ARCH > default "nios2" > > +config BR2_KERNEL_ARCH > + default "nios2" > + > config BR2_ENDIAN > default "LITTLE" > > diff --git a/arch/Config.in.or1k b/arch/Config.in.or1k > index abdf498fb8..ef1bded453 100644 > --- a/arch/Config.in.or1k > +++ b/arch/Config.in.or1k > @@ -1,6 +1,9 @@ > config BR2_ARCH > default "or1k" > > +config BR2_KERNEL_ARCH > + default "openrisc" > + > config BR2_ENDIAN > default "BIG" > > diff --git a/arch/Config.in.powerpc b/arch/Config.in.powerpc > index ba56c9c721..33b2471cf9 100644 > --- a/arch/Config.in.powerpc > +++ b/arch/Config.in.powerpc > @@ -157,6 +157,9 @@ config BR2_ARCH > default "powerpc64" if BR2_powerpc64 > default "powerpc64le" if BR2_powerpc64le > > +config BR2_KERNEL_ARCH > + default "powerpc" > + > config BR2_ENDIAN > default "BIG" if BR2_powerpc || BR2_powerpc64 > default "LITTLE" if BR2_powerpc64le > diff --git a/arch/Config.in.riscv b/arch/Config.in.riscv > index e6436d7c39..1a008a935d 100644 > --- a/arch/Config.in.riscv > +++ b/arch/Config.in.riscv > @@ -118,6 +118,9 @@ config BR2_ARCH > default "riscv32" if !BR2_ARCH_IS_64 > default "riscv64" if BR2_ARCH_IS_64 > > +config BR2_KERNEL_ARCH > + default "riscv" > + > config BR2_ENDIAN > default "LITTLE" > > diff --git a/arch/Config.in.s390x b/arch/Config.in.s390x > index ad866b421e..bf4b70f957 100644 > --- a/arch/Config.in.s390x > +++ b/arch/Config.in.s390x > @@ -17,6 +17,9 @@ endchoice > config BR2_ARCH > default "s390x" if BR2_s390x > > +config BR2_KERNEL_ARCH > + default "s390" > + > config BR2_ENDIAN > default "BIG" > > diff --git a/arch/Config.in.sh b/arch/Config.in.sh > index b5cce18e22..fde42dfce2 100644 > --- a/arch/Config.in.sh > +++ b/arch/Config.in.sh > @@ -24,6 +24,9 @@ config BR2_ARCH > default "sh4a" if BR2_sh4a > default "sh4aeb" if BR2_sh4aeb > > +config BR2_KERNEL_ARCH > + default "sh" > + > config BR2_ENDIAN > default "LITTLE" if BR2_sh4 || BR2_sh4a > default "BIG" if BR2_sh2a || BR2_sh4eb || BR2_sh4aeb > diff --git a/arch/Config.in.sparc b/arch/Config.in.sparc > index 4c4dc61745..b91df6892b 100644 > --- a/arch/Config.in.sparc > +++ b/arch/Config.in.sparc > @@ -21,6 +21,10 @@ config BR2_ARCH > default "sparc" if BR2_sparc > default "sparc64" if BR2_sparc64 > > +config BR2_KERNEL_ARCH > + default "sparc" if BR2_sparc > + default "sparc64" if BR2_sparc64 > + > config BR2_ENDIAN > default "BIG" > > diff --git a/arch/Config.in.x86 b/arch/Config.in.x86 > index 0ba9ecbcea..b38d0f8106 100644 > --- a/arch/Config.in.x86 > +++ b/arch/Config.in.x86 > @@ -337,6 +337,10 @@ config BR2_ARCH > default "i686" if BR2_x86_athlon_4 > default "x86_64" if BR2_x86_64 > > +config BR2_KERNEL_ARCH > + default "i386" if !BR2_x86_64 > + default "x86_64" if BR2_x86_64 > + > config BR2_ENDIAN > default "LITTLE" > > diff --git a/arch/Config.in.xtensa b/arch/Config.in.xtensa > index a79d906985..acc340eca6 100644 > --- a/arch/Config.in.xtensa > +++ b/arch/Config.in.xtensa > @@ -48,6 +48,9 @@ config BR2_ENDIAN > config BR2_ARCH > default "xtensa" if BR2_xtensa > > +config BR2_KERNEL_ARCH > + default "xtensa" > + > config BR2_READELF_ARCH_NAME > default "Tensilica Xtensa Processor" >
diff --git a/Makefile b/Makefile index 5fc7137e5a..e012d121b9 100644 --- a/Makefile +++ b/Makefile @@ -437,22 +437,7 @@ QUIET := $(if $(findstring s,$(filter-out --%,$(MAKEFLAGS))),-q) # Strip off the annoying quoting ARCH := $(call qstrip,$(BR2_ARCH)) - -KERNEL_ARCH := $(shell echo "$(ARCH)" | sed -e "s/-.*//" \ - -e s/i.86/i386/ -e s/sun4u/sparc64/ \ - -e s/arcle/arc/ \ - -e s/arceb/arc/ \ - -e s/arm.*/arm/ -e s/sa110/arm/ \ - -e s/aarch64.*/arm64/ \ - -e s/nds32.*/nds32/ \ - -e s/or1k/openrisc/ \ - -e s/parisc64/parisc/ \ - -e s/powerpc64.*/powerpc/ \ - -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \ - -e s/riscv.*/riscv/ \ - -e s/sh.*/sh/ \ - -e s/s390x/s390/ \ - -e s/microblazeel/microblaze/) +KERNEL_ARCH := $(call qstrip,$(BR2_KERNEL_ARCH)) ZCAT := $(call qstrip,$(BR2_ZCAT)) BZCAT := $(call qstrip,$(BR2_BZCAT)) diff --git a/arch/Config.in b/arch/Config.in index c99af89efa..edf337f13e 100644 --- a/arch/Config.in +++ b/arch/Config.in @@ -328,6 +328,9 @@ config BR2_ARCH_NEEDS_GCC_AT_LEAST_11 config BR2_ARCH string +config BR2_KERNEL_ARCH + string + config BR2_ENDIAN string diff --git a/arch/Config.in.arc b/arch/Config.in.arc index f7a6d920b5..cc55c9e68f 100644 --- a/arch/Config.in.arc +++ b/arch/Config.in.arc @@ -62,6 +62,9 @@ config BR2_ARCH default "arc" if BR2_arcle default "arceb" if BR2_arceb +config BR2_KERNEL_ARCH + default "arc" + config BR2_arc bool default y if BR2_arcle || BR2_arceb diff --git a/arch/Config.in.arm b/arch/Config.in.arm index 4c0910e4f8..0f50512fad 100644 --- a/arch/Config.in.arm +++ b/arch/Config.in.arm @@ -822,6 +822,10 @@ config BR2_ARCH default "aarch64" if BR2_aarch64 default "aarch64_be" if BR2_aarch64_be +config BR2_KERNEL_ARCH + default "arm" if BR2_arm || BR2_armeb + default "arm64" if BR2_aarch64 || BR2_aarch64_be + config BR2_ENDIAN default "LITTLE" if (BR2_arm || BR2_aarch64) default "BIG" if (BR2_armeb || BR2_aarch64_be) diff --git a/arch/Config.in.csky b/arch/Config.in.csky index 7e2029f759..df9e7ab75b 100644 --- a/arch/Config.in.csky +++ b/arch/Config.in.csky @@ -39,6 +39,9 @@ config BR2_GCC_TARGET_FLOAT_ABI config BR2_ARCH default "csky" +config BR2_KERNEL_ARCH + default "csky" + config BR2_ENDIAN default "LITTLE" diff --git a/arch/Config.in.m68k b/arch/Config.in.m68k index 275f47f1d3..7f3aec7232 100644 --- a/arch/Config.in.m68k +++ b/arch/Config.in.m68k @@ -1,6 +1,9 @@ config BR2_ARCH default "m68k" if BR2_m68k +config BR2_KERNEL_ARCH + default "m68k" + config BR2_ENDIAN default "BIG" diff --git a/arch/Config.in.microblaze b/arch/Config.in.microblaze index 5fe2906d40..52aa252a2c 100644 --- a/arch/Config.in.microblaze +++ b/arch/Config.in.microblaze @@ -2,6 +2,9 @@ config BR2_ARCH default "microblazeel" if BR2_microblazeel default "microblaze" if BR2_microblazebe +config BR2_KERNEL_ARCH + default "microblaze" + config BR2_ENDIAN default "LITTLE" if BR2_microblazeel default "BIG" if BR2_microblazebe diff --git a/arch/Config.in.mips b/arch/Config.in.mips index 619456c2d5..b4923f8484 100644 --- a/arch/Config.in.mips +++ b/arch/Config.in.mips @@ -235,6 +235,9 @@ config BR2_ARCH default "mips64" if BR2_mips64 default "mips64el" if BR2_mips64el +config BR2_KERNEL_ARCH + default "mips" + config BR2_ENDIAN default "LITTLE" if BR2_mipsel || BR2_mips64el default "BIG" if BR2_mips || BR2_mips64 diff --git a/arch/Config.in.nds32 b/arch/Config.in.nds32 index 322ff49f2e..61fc346260 100644 --- a/arch/Config.in.nds32 +++ b/arch/Config.in.nds32 @@ -1,6 +1,9 @@ config BR2_ARCH default "nds32le" +config BR2_KERNEL_ARCH + default "nds32" + config BR2_GCC_TARGET_ARCH default "v3" diff --git a/arch/Config.in.nios2 b/arch/Config.in.nios2 index aae435fa17..c77b1a1c59 100644 --- a/arch/Config.in.nios2 +++ b/arch/Config.in.nios2 @@ -1,6 +1,9 @@ config BR2_ARCH default "nios2" +config BR2_KERNEL_ARCH + default "nios2" + config BR2_ENDIAN default "LITTLE" diff --git a/arch/Config.in.or1k b/arch/Config.in.or1k index abdf498fb8..ef1bded453 100644 --- a/arch/Config.in.or1k +++ b/arch/Config.in.or1k @@ -1,6 +1,9 @@ config BR2_ARCH default "or1k" +config BR2_KERNEL_ARCH + default "openrisc" + config BR2_ENDIAN default "BIG" diff --git a/arch/Config.in.powerpc b/arch/Config.in.powerpc index ba56c9c721..33b2471cf9 100644 --- a/arch/Config.in.powerpc +++ b/arch/Config.in.powerpc @@ -157,6 +157,9 @@ config BR2_ARCH default "powerpc64" if BR2_powerpc64 default "powerpc64le" if BR2_powerpc64le +config BR2_KERNEL_ARCH + default "powerpc" + config BR2_ENDIAN default "BIG" if BR2_powerpc || BR2_powerpc64 default "LITTLE" if BR2_powerpc64le diff --git a/arch/Config.in.riscv b/arch/Config.in.riscv index e6436d7c39..1a008a935d 100644 --- a/arch/Config.in.riscv +++ b/arch/Config.in.riscv @@ -118,6 +118,9 @@ config BR2_ARCH default "riscv32" if !BR2_ARCH_IS_64 default "riscv64" if BR2_ARCH_IS_64 +config BR2_KERNEL_ARCH + default "riscv" + config BR2_ENDIAN default "LITTLE" diff --git a/arch/Config.in.s390x b/arch/Config.in.s390x index ad866b421e..bf4b70f957 100644 --- a/arch/Config.in.s390x +++ b/arch/Config.in.s390x @@ -17,6 +17,9 @@ endchoice config BR2_ARCH default "s390x" if BR2_s390x +config BR2_KERNEL_ARCH + default "s390" + config BR2_ENDIAN default "BIG" diff --git a/arch/Config.in.sh b/arch/Config.in.sh index b5cce18e22..fde42dfce2 100644 --- a/arch/Config.in.sh +++ b/arch/Config.in.sh @@ -24,6 +24,9 @@ config BR2_ARCH default "sh4a" if BR2_sh4a default "sh4aeb" if BR2_sh4aeb +config BR2_KERNEL_ARCH + default "sh" + config BR2_ENDIAN default "LITTLE" if BR2_sh4 || BR2_sh4a default "BIG" if BR2_sh2a || BR2_sh4eb || BR2_sh4aeb diff --git a/arch/Config.in.sparc b/arch/Config.in.sparc index 4c4dc61745..b91df6892b 100644 --- a/arch/Config.in.sparc +++ b/arch/Config.in.sparc @@ -21,6 +21,10 @@ config BR2_ARCH default "sparc" if BR2_sparc default "sparc64" if BR2_sparc64 +config BR2_KERNEL_ARCH + default "sparc" if BR2_sparc + default "sparc64" if BR2_sparc64 + config BR2_ENDIAN default "BIG" diff --git a/arch/Config.in.x86 b/arch/Config.in.x86 index 0ba9ecbcea..b38d0f8106 100644 --- a/arch/Config.in.x86 +++ b/arch/Config.in.x86 @@ -337,6 +337,10 @@ config BR2_ARCH default "i686" if BR2_x86_athlon_4 default "x86_64" if BR2_x86_64 +config BR2_KERNEL_ARCH + default "i386" if !BR2_x86_64 + default "x86_64" if BR2_x86_64 + config BR2_ENDIAN default "LITTLE" diff --git a/arch/Config.in.xtensa b/arch/Config.in.xtensa index a79d906985..acc340eca6 100644 --- a/arch/Config.in.xtensa +++ b/arch/Config.in.xtensa @@ -48,6 +48,9 @@ config BR2_ENDIAN config BR2_ARCH default "xtensa" if BR2_xtensa +config BR2_KERNEL_ARCH + default "xtensa" + config BR2_READELF_ARCH_NAME default "Tensilica Xtensa Processor"