Commit 44c04a2b authored by Thomas Petazzoni's avatar Thomas Petazzoni Committed by Peter Korsgaard
Browse files

arch: improve definition of gcc mtune, mcpu, etc.



As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.

Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.

Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent 53adfc5f
Loading
Loading
Loading
Loading
+55 −4
Original line number Diff line number Diff line
@@ -147,15 +147,66 @@ config BR2_x86_64

endchoice

config BR2_microblaze
	bool
	default y if BR2_microblazeel || BR2_microblazebe
# The following string values are defined by the individual
# Config.in.$ARCH files
config BR2_ARCH
	string

config BR2_ENDIAN
	string

config BR2_GCC_TARGET_TUNE
	string

config BR2_GCC_TARGET_ARCH
	string

config BR2_GCC_TARGET_ABI
	string

config BR2_GCC_TARGET_CPU
	string

if BR2_arm || BR2_armeb
source "arch/Config.in.arm"
endif

if BR2_aarch64
source "arch/Config.in.aarch64"
endif

if BR2_avr32
source "arch/Config.in.avr32"
endif

if BR2_bfin
source "arch/Config.in.bfin"
endif

if BR2_m68k
source "arch/Config.in.m68k"
endif

if BR2_microblazeel || BR2_microblazebe
source "arch/Config.in.microblaze"
endif

if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el
source "arch/Config.in.mips"
endif

if BR2_powerpc
source "arch/Config.in.powerpc"
endif

if BR2_sh || BR2_sh64
source "arch/Config.in.sh"
endif

if BR2_sparc
source "arch/Config.in.sparc"
endif

if BR2_i386 || BR2_x86_64
source "arch/Config.in.x86"
source "arch/Config.in.common"
endif

arch/Config.in.aarch64

0 → 100644
+5 −0
Original line number Diff line number Diff line
config BR2_ARCH
	default "aarch64"	if BR2_aarch64

config BR2_ENDIAN
	default "LITTLE"
+52 −0
Original line number Diff line number Diff line
@@ -60,3 +60,55 @@ config BR2_ARM_OABI
	depends on !BR2_GCC_VERSION_4_7_X
endchoice

config BR2_ARCH
	default "arm"	if BR2_arm
	default "armeb"	if BR2_armeb

config BR2_ENDIAN
	default "LITTLE" if BR2_arm
	default "BIG"	 if BR2_armeb

config BR2_GCC_TARGET_TUNE
	default arm600		if BR2_arm600
	default arm610		if BR2_arm610
	default arm620		if BR2_arm620
	default arm7tdmi	if BR2_arm7tdmi
	default arm7tdmi	if BR2_arm720t
	default arm7tdmi	if BR2_arm740t
	default arm920		if BR2_arm920
	default arm920t		if BR2_arm920t
	default arm922t		if BR2_arm922t
	default arm926ej-s	if BR2_arm926t
	default arm1136j-s	if BR2_arm1136j_s
	default arm1136jf-s	if BR2_arm1136jf_s
	default arm1176jz-s	if BR2_arm1176jz_s
	default arm1176jzf-s	if BR2_arm1176jzf_s
	default cortex-a8	if BR2_cortex_a8
	default cortex-a9	if BR2_cortex_a9
	default strongarm110	if BR2_sa110
	default strongarm1100	if BR2_sa1100
	default xscale		if BR2_xscale
	default iwmmxt		if BR2_iwmmxt

config BR2_GCC_TARGET_ARCH
	default armv4t		if BR2_arm7tdmi
	default armv3		if BR2_arm610
	default armv3		if BR2_arm710
	default armv4t		if BR2_arm720t
	default armv4t		if BR2_arm920t
	default armv4t		if BR2_arm922t
	default armv5te		if BR2_arm926t
	default armv5t		if BR2_arm10t
	default armv6j		if BR2_arm1136jf_s
	default armv6zk		if BR2_arm1176jz_s
	default armv6zk		if BR2_arm1176jzf_s
	default armv7-a		if BR2_cortex_a8
	default armv7-a		if BR2_cortex_a9
	default armv4		if BR2_sa110
	default armv4		if BR2_sa1100
	default armv5te		if BR2_xscale
	default iwmmxt		if BR2_iwmmxt

config BR2_GCC_TARGET_ABI
	default apcs-gnu	if BR2_ARM_OABI
	default aapcs-linux	if BR2_ARM_EABI

arch/Config.in.avr32

0 → 100644
+5 −0
Original line number Diff line number Diff line
config BR2_ARCH
       default "avr32"

config BR2_ENDIAN
       default "BIG"
+6 −0
Original line number Diff line number Diff line
@@ -8,3 +8,9 @@ config BR2_BFIN_FLAT
	bool "FLAT"
	select BR2_PREFER_STATIC_LIB
endchoice

config BR2_ARCH
	default "bfin"

config BR2_ENDIAN
        default "LITTLE"
Loading