From: Chris Zankel <chris@zankel.net>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/2] xtensa: add support for the Xtensa architecture
Date: Wed, 07 Nov 2012 19:38:45 -0800 [thread overview]
Message-ID: <509b2947.a6e6440a.547c.7082@mx.google.com> (raw)
The original support for the Xtensa architecture in buildroot required a lot
of special handling and additional files, so it became hard to maintain.
This implementation is much more aligned to other architectures with only
minimal overhead.
Signed-off-by: Chris Zankel <chris@zankel.net>
diff --git a/arch/Config.in b/arch/Config.in
index 4d1f81f..ad4a9e0 100644
--- a/arch/Config.in
+++ b/arch/Config.in
@@ -145,6 +145,13 @@ config BR2_x86_64
architecture compatible microprocessor).
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
config BR2_microblaze
@@ -158,4 +165,5 @@ source "arch/Config.in.powerpc"
source "arch/Config.in.sh"
source "arch/Config.in.sparc"
source "arch/Config.in.x86"
+source "arch/Config.in.xtensa"
source "arch/Config.in.common"
diff --git a/arch/Config.in.common b/arch/Config.in.common
index 1ed9929..d2bfd59 100644
--- a/arch/Config.in.common
+++ b/arch/Config.in.common
@@ -49,6 +49,7 @@ config BR2_ARCH
default "sh4aeb" if BR2_sh4aeb
default "sh64" if BR2_sh64
default "sparc" if BR2_sparc
+ default "xtensa" if BR2_xtensa
config BR2_ENDIAN
diff --git a/linux/Config.in b/linux/Config.in
index 277ef0e..29a2110 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -152,7 +152,8 @@ config BR2_LINUX_KERNEL_BZIMAGE
config BR2_LINUX_KERNEL_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
bool "zImage with appended DT"
diff --git a/package/autoconf/Config.in b/package/autoconf/Config.in
index c304572..3622f3d 100644
--- a/package/autoconf/Config.in
+++ b/package/autoconf/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_AUTOCONF
bool "autoconf"
- depends on !(BR2_avr32 || BR2_bfin || BR2_sh2 || BR2_sh2a || BR2_sh3 || BR2_sh3eb || BR2_sh64)
+ depends on !(BR2_avr32 || BR2_bfin || BR2_sh2 || BR2_sh2a || BR2_sh3)
+ depends on !(BR2_sh3eb || BR2_sh64 || BR2_xtensa)
select BR2_PACKAGE_PERL
help
Extensible program for developing configure scripts. These
@@ -9,4 +10,5 @@ config BR2_PACKAGE_AUTOCONF
http://www.gnu.org/software/autoconf/
comment "autoconf requires an architecture supported by qemu"
- depends on BR2_avr32 || BR2_bfin || BR2_sh2 || BR2_sh2a || BR2_sh3 || BR2_sh3eb || BR2_sh64
+ depends on BR2_avr32 || BR2_bfin || BR2_sh2 || BR2_sh2a || BR2_sh3 || \
+ BR2_sh3eb || BR2_sh64 || BR2_xtensa
diff --git a/package/automake/Config.in b/package/automake/Config.in
index f8d74ef..6e48517 100644
--- a/package/automake/Config.in
+++ b/package/automake/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_AUTOMAKE
bool "automake"
- depends on !(BR2_avr32 || BR2_bfin || BR2_sh2 || BR2_sh2a || BR2_sh3 || BR2_sh3eb || BR2_sh64)
+ depends on !(BR2_avr32 || BR2_bfin || BR2_sh2 || BR2_sh2a || BR2_sh3)
+ depends on !(BR2_sh3eb || BR2_sh64 || BR2_xtensa)
select BR2_PACKAGE_AUTOCONF
select BR2_PACKAGE_PERL
help
@@ -10,4 +11,5 @@ config BR2_PACKAGE_AUTOMAKE
http://www.gnu.org/software/automake/
comment "automake requires an architecture supported by qemu"
- depends on BR2_avr32 || BR2_bfin || BR2_sh2 || BR2_sh2a || BR2_sh3 || BR2_sh3eb || BR2_sh64
+ depends on BR2_avr32 || BR2_bfin || BR2_sh2 || BR2_sh2a || BR2_sh3 || \
+ BR2_sh3eb || BR2_sh64 || BR2_xtensa
diff --git a/package/ltrace/Config.in b/package/ltrace/Config.in
index a65ca48..4cce767 100644
--- a/package/ltrace/Config.in
+++ b/package/ltrace/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_LTRACE
bool "ltrace"
depends on !(BR2_avr32 || BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64)
+ depends on !BR2_xtensa
select BR2_PACKAGE_LIBELF
help
Debugging program which runs a specified command until it exits.
diff --git a/package/perl/Config.in b/package/perl/Config.in
index 0642deb..2906714 100644
--- a/package/perl/Config.in
+++ b/package/perl/Config.in
@@ -7,6 +7,7 @@ config BR2_PACKAGE_PERL
depends on !BR2_sh3
depends on !BR2_sh3eb
depends on !BR2_sh64
+ depends on !BR2_xtensa
help
Larry Wall's Practical Extraction and Report Language
An interpreted scripting language, known among some as "Unix's Swiss
@@ -47,4 +48,5 @@ config BR2_PACKAGE_PERL_GDBM_FILE
endif
comment "perl requires an architecture supported by qemu"
- depends on BR2_avr32 || BR2_bfin || BR2_sh2 || BR2_sh2a || BR2_sh3 || BR2_sh3eb || BR2_sh64
+ depends on BR2_avr32 || BR2_bfin || BR2_sh2 || BR2_sh2a || BR2_sh3 || \
+ BR2_sh3eb || BR2_sh64 || BR2_xtensa
diff --git a/toolchain/toolchain-common.in b/toolchain/toolchain-common.in
index 4c2a28b..9f11a39 100644
--- a/toolchain/toolchain-common.in
+++ b/toolchain/toolchain-common.in
@@ -93,7 +93,7 @@ config BR2_NEEDS_GETTEXT_IF_LOCALE
default y if (BR2_NEEDS_GETTEXT && BR2_ENABLE_LOCALE)
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
help
If your target has a MMU, you should say Y here. If you
diff --git a/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk
index 8cf59bc..055267c 100644
--- a/toolchain/uClibc/uclibc.mk
+++ b/toolchain/uClibc/uclibc.mk
@@ -38,6 +38,7 @@ UCLIBC_TARGET_ARCH:=$(shell $(SHELL) -c "echo $(ARCH) | sed \
-e 's/sh[234].*/sh/' \
-e 's/mips.*/mips/' \
-e 's/cris.*/cris/' \
+ -e 's/xtensa.*/xtensa/' \
")
UCLIBC_TARGET_ENDIAN:=$(call qstrip,$(BR2_ENDIAN))
next reply other threads:[~2012-11-08 3:38 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-08 3:38 Chris Zankel [this message]
2012-11-08 21:01 ` [Buildroot] [PATCH 1/2] xtensa: add support for the Xtensa architecture Arnout Vandecappelle
2012-11-10 0:28 ` Chris Zankel
2012-11-10 0:33 ` Arnout Vandecappelle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=509b2947.a6e6440a.547c.7082@mx.google.com \
--to=chris@zankel.net \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox