xtensa: add support for the Xtensa architecture

The Xtensa architecture had been removed because it required special
handling and depended on additional directories and files that became
obsolete over time. This change is more aligned to other architectures.

[Thomas: rebased on top of the "arch: improve definition of gcc mtune,
mcpu, etc." patch].

Signed-off-by: Chris Zankel <chris@zankel.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Chris Zankel 2012-11-15 03:53:51 +00:00 committed by Peter Korsgaard
parent 86f6987bf7
commit 75720db391
9 changed files with 25 additions and 6 deletions

View File

@ -145,6 +145,13 @@ config BR2_x86_64
architecture compatible microprocessor). architecture compatible microprocessor).
http://en.wikipedia.org/wiki/X86_64 http://en.wikipedia.org/wiki/X86_64
config BR2_xtensa
bool "Xtensa"
help
Xtensa is a Tensilica processor IP architecture.
http://en.wikipedia.org/wiki/Xtensa
http://www.tensilica.com/
endchoice endchoice
# The following string values are defined by the individual # The following string values are defined by the individual
@ -210,3 +217,7 @@ endif
if BR2_i386 || BR2_x86_64 if BR2_i386 || BR2_x86_64
source "arch/Config.in.x86" source "arch/Config.in.x86"
endif endif
if BR2_xtensa
source "arch/Config.in.xtensa"
endif

2
arch/Config.in.xtensa Normal file
View File

@ -0,0 +1,2 @@
config BR2_ARCH
default "xtensa" if BR2_xtensa

View File

@ -152,7 +152,8 @@ config BR2_LINUX_KERNEL_BZIMAGE
config BR2_LINUX_KERNEL_ZIMAGE config BR2_LINUX_KERNEL_ZIMAGE
bool "zImage" bool "zImage"
depends on BR2_arm || BR2_armeb || BR2_powerpc || BR2_sparc || BR2_sh || BR2_sh64 depends on BR2_arm || BR2_armeb || BR2_powerpc || BR2_sparc || \
BR2_sh || BR2_sh64 || BR2_xtensa
config BR2_LINUX_KERNEL_APPENDED_ZIMAGE config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
bool "zImage with appended DT" bool "zImage with appended DT"

View File

@ -1,6 +1,7 @@
config BR2_PACKAGE_LTRACE config BR2_PACKAGE_LTRACE
bool "ltrace" bool "ltrace"
depends on !(BR2_avr32 || BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64) depends on !(BR2_avr32 || BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64)
depends on !BR2_xtensa
select BR2_PACKAGE_LIBELF select BR2_PACKAGE_LIBELF
help help
Debugging program which runs a specified command until it exits. Debugging program which runs a specified command until it exits.

View File

@ -23,7 +23,7 @@ config BR2_TOOLCHAIN_EXTERNAL
config BR2_TOOLCHAIN_CTNG config BR2_TOOLCHAIN_CTNG
bool "Crosstool-NG toolchain" bool "Crosstool-NG toolchain"
depends on !BR2_microblaze && !BR2_aarch64 depends on !BR2_microblaze && !BR2_aarch64 && !BR2_xtensa
select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS select BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
select BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED select BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED
help help

View File

@ -68,7 +68,7 @@ config BR2_TOOLCHAIN_BUILDROOT_USE_SSP
choice choice
prompt "Thread library implementation" prompt "Thread library implementation"
default BR2_PTHREADS_NATIVE if (!BR2_UCLIBC_VERSION_0_9_31) && !BR2_ARM_OABI default BR2_PTHREADS_NATIVE if (!BR2_UCLIBC_VERSION_0_9_31) && !BR2_ARM_OABI && !BR2_xtensa
default BR2_PTHREADS_OLD default BR2_PTHREADS_OLD
help help
Use this option to select the thread library implementation Use this option to select the thread library implementation
@ -82,6 +82,7 @@ choice
config BR2_PTHREADS config BR2_PTHREADS
bool "linuxthreads" bool "linuxthreads"
depends on !BR2_xtensa
select BR2_TOOLCHAIN_HAS_THREADS select BR2_TOOLCHAIN_HAS_THREADS
config BR2_PTHREADS_OLD config BR2_PTHREADS_OLD
@ -94,6 +95,7 @@ choice
depends on !BR2_UCLIBC_VERSION_0_9_31 depends on !BR2_UCLIBC_VERSION_0_9_31
depends on !BR2_ARM_OABI depends on !BR2_ARM_OABI
depends on !BR2_x86_i386 depends on !BR2_x86_i386
depends on !BR2_xtensa
endchoice endchoice
source "toolchain/elf2flt/Config.in" source "toolchain/elf2flt/Config.in"

View File

@ -93,7 +93,7 @@ config BR2_NEEDS_GETTEXT_IF_LOCALE
default y if (BR2_NEEDS_GETTEXT && BR2_ENABLE_LOCALE) default y if (BR2_NEEDS_GETTEXT && BR2_ENABLE_LOCALE)
config BR2_USE_MMU config BR2_USE_MMU
bool "Enable MMU support" if BR2_arm || BR2_armeb || BR2_mips || BR2_mipsel || BR2_sh bool "Enable MMU support" if BR2_arm || BR2_armeb || BR2_mips || BR2_mipsel || BR2_sh || BR2_xtensa
default y if !BR2_bfin default y if !BR2_bfin
help help
If your target has a MMU, you should say Y here. If you If your target has a MMU, you should say Y here. If you

View File

@ -12,14 +12,15 @@ choice
config BR2_UCLIBC_VERSION_0_9_31 config BR2_UCLIBC_VERSION_0_9_31
bool "uClibc 0.9.31.x" bool "uClibc 0.9.31.x"
depends on !BR2_xtensa
config BR2_UCLIBC_VERSION_0_9_32 config BR2_UCLIBC_VERSION_0_9_32
bool "uClibc 0.9.32.x" bool "uClibc 0.9.32.x"
depends on !(BR2_avr32 || BR2_sh) depends on !(BR2_avr32 || BR2_sh || BR2_xtensa)
config BR2_UCLIBC_VERSION_0_9_33 config BR2_UCLIBC_VERSION_0_9_33
bool "uClibc 0.9.33.x" bool "uClibc 0.9.33.x"
depends on !BR2_avr32 depends on !(BR2_avr32 || BR2_xtensa)
config BR2_UCLIBC_VERSION_SNAPSHOT config BR2_UCLIBC_VERSION_SNAPSHOT
bool "daily snapshot" bool "daily snapshot"

View File

@ -38,6 +38,7 @@ UCLIBC_TARGET_ARCH:=$(shell $(SHELL) -c "echo $(ARCH) | sed \
-e 's/sh[234].*/sh/' \ -e 's/sh[234].*/sh/' \
-e 's/mips.*/mips/' \ -e 's/mips.*/mips/' \
-e 's/cris.*/cris/' \ -e 's/cris.*/cris/' \
-e 's/xtensa.*/xtensa/' \
") ")
UCLIBC_TARGET_ENDIAN:=$(call qstrip,$(BR2_ENDIAN)) UCLIBC_TARGET_ENDIAN:=$(call qstrip,$(BR2_ENDIAN))