From patchwork Thu Nov 8 03:38:45 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Zankel X-Patchwork-Id: 197749 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from fraxinus.osuosl.org (fraxinus.osuosl.org [140.211.166.137]) by ozlabs.org (Postfix) with ESMTP id 7CA882C0087 for ; Thu, 8 Nov 2012 14:38:58 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 25968101268; Thu, 8 Nov 2012 03:38:51 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id d67fc-9H-ijN; Thu, 8 Nov 2012 03:38:47 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id BB5B6101A7D; Thu, 8 Nov 2012 03:38:47 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id B3D6D8F74A for ; Thu, 8 Nov 2012 03:38:55 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id AF0FE8BB7D for ; Thu, 8 Nov 2012 03:38:51 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id K1qe7bL6rjNj for ; Thu, 8 Nov 2012 03:38:48 +0000 (UTC) X-Greylist: delayed 00:11:03 by SQLgrey-1.7.6 Received: from mail-pa0-f43.google.com (mail-pa0-f43.google.com [209.85.220.43]) by whitealder.osuosl.org (Postfix) with ESMTPS id 94A278B9D6 for ; Thu, 8 Nov 2012 03:38:48 +0000 (UTC) Received: by mail-pa0-f43.google.com with SMTP id fb1so2262348pad.16 for ; Wed, 07 Nov 2012 19:38:48 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:to:from:subject:x-gm-message-state; bh=OKPOKVeG1ogR3hbOTBeGDBrULfOqcfRL9NwEBS9/qgY=; b=K656ItbAuPKvAntVX4pik1+PLuRaikuhXAdLgzPugA7pY5IfEJpefzoK8AnOVIN7bP RM6t+7aoUqxKg8hhjq0shYzeMTiLhGnwKsp1guJ898tpuEiERJtu7aL2mPahTHngi9rF gh32MYXLEvsCq5c3RVCt0kGBLGSsdRmu2PgcOzdaRqFBkIj+M/jArS/9OzVyZL3CfDv7 O+yjOaNyd2PyHoR6G1Ty7zxasWZdnM6Hd7+PTQNgPZy3n0YvssTSPR/SBxNqZ3yQJPaB CLRLVYcIUcSLBoTRMvNzDmvCc0o9s8UszS+8nzQz9eiX87RSrXW/s+S++5Yp78AaohNm dU+g== Received: by 10.66.84.132 with SMTP id z4mr18408098pay.63.1352345928286; Wed, 07 Nov 2012 19:38:48 -0800 (PST) Received: from localhost (c-67-161-9-61.hsd1.ca.comcast.net. [67.161.9.61]) by mx.google.com with ESMTPS id sz6sm15163721pbc.52.2012.11.07.19.38.46 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 07 Nov 2012 19:38:47 -0800 (PST) Message-ID: <509b2947.a6e6440a.547c.7082@mx.google.com> Received: by localhost (sSMTP sendmail emulation); Wed, 07 Nov 2012 19:38:45 -0800 Date: Wed, 07 Nov 2012 19:38:45 -0800 To: buildroot@busybox.net From: Chris Zankel X-Gm-Message-State: ALoCoQkjHrE+cHlQKBhS3JuyAVnNYe8Nw9z3bhuWYQsuGUQ/hdkNccn+LGWCcE6vmBQV9mfm6V/t Subject: [Buildroot] [PATCH 1/2] xtensa: add support for the Xtensa architecture X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net 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 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))