Skip to contentSkip to conversation

Remove Xtensa architecture and target/ directory

GIT PULL New Thomas Petazzoni 3 participants 13 messages Sep 4, 2012 – Sep 20, 2012 Kbuild

lore
Share & tools
lore
#0 lore raw

Hello,

The goal of this branch is to get rid of the Xtensa architecture, and then get rid of the target/ directory, which becomes mostly useless once the Xtensa architecture has been removed.

* Patch 1 removes the Xtensa architecture and all related files and references in Buildroot. It allows to review a bunch of special stuff here and there which were annoying. The Xtensa architecture has been introduced a few years ago in Buildroot, and has never been maintained since then, despite being marked deprecated since several months.

* Patch 2 creates a new top-level directory called 'system' to store the default device table, the default skeleton, and system-wide configuration options.

* Patch 3 removes an useless file in target/

* Patch 4 removes the last file from target/, Config.in.arch, by splitting it into smaller chunks into a new top-level arch/ directory.

Note that Patch 1 can be applied independently of the last three patches, which may require more discussion.

Best regards,

Thomas

The following changes since commit 27045cde7d18f6132ab804ed30673e3fb3961879:

gcc: default to 4.6.x (2012-09-04 13:28:03 +0200)

are available in the git repository at:

git://git.free-electrons.com/users/thomas-petazzoni/buildroot.git remove-xtensa-and-target-dir

for you to fetch changes up to bf030fb668c9608de1f3e99bac17bf300ad59c67:

Split target/Config.in.arch into multiple Config.in.* in arch/ (2012-09-04 15:50:57 +0200)

----------------------------------------------------------------
Thomas Petazzoni (4):
Remove the Xtensa architecture
New top-level directory: system
Remove target/Makefile.in, now useless
Split target/Config.in.arch into multiple Config.in.* in arch/

 Config.in                                          |    4 +-
 Makefile                                           |    5 +-
 arch/Config.in                                     |    9 +
 arch/Config.in.arches                              |  129 +++
 arch/Config.in.arm                                 |   83 ++
 arch/Config.in.bfin                                |   10 +
 arch/Config.in.common                              |  245 ++++++
 arch/Config.in.mips                                |   57 ++
 arch/Config.in.powerpc                             |   83 ++
 arch/Config.in.sh                                  |   24 +
 arch/Config.in.sparc                               |   43 +
 arch/Config.in.x86                                 |  146 ++++
 linux/Config.in                                    |    2 +-
 package/ltrace/Config.in                           |    2 +-
 {target/generic => system}/Config.in               |    2 +-
 {target/generic => system}/device_table.txt        |    0
 {target/generic => system}/device_table_dev.txt    |    0
 {fs => system}/skeleton/bin/.empty                 |    0
 {fs => system}/skeleton/dev/log                    |    0
 {fs => system}/skeleton/dev/pts/.empty             |    0
 {fs => system}/skeleton/etc/TZ                     |    0
 {fs => system}/skeleton/etc/fstab                  |    0
 {fs => system}/skeleton/etc/group                  |    0
 {fs => system}/skeleton/etc/hostname               |    0
 {fs => system}/skeleton/etc/hosts                  |    0
 {fs => system}/skeleton/etc/init.d/S20urandom      |    0
 {fs => system}/skeleton/etc/init.d/S40network      |    0
 {fs => system}/skeleton/etc/init.d/rcK             |    0
 {fs => system}/skeleton/etc/init.d/rcS             |    0
 {fs => system}/skeleton/etc/inittab                |    0
 {fs => system}/skeleton/etc/inputrc                |    0
 {fs => system}/skeleton/etc/issue                  |    0
 {fs => system}/skeleton/etc/ld.so.conf.d/.empty    |    0
 {fs => system}/skeleton/etc/mtab                   |    0
 .../skeleton/etc/network/if-down.d/.empty          |    0
 .../skeleton/etc/network/if-post-down.d/.empty     |    0
 .../skeleton/etc/network/if-pre-up.d/.empty        |    0
 {fs => system}/skeleton/etc/network/if-up.d/.empty |    0
 {fs => system}/skeleton/etc/network/interfaces     |    0
 {fs => system}/skeleton/etc/passwd                 |    0
 {fs => system}/skeleton/etc/profile                |    0
 {fs => system}/skeleton/etc/protocols              |    0
 {fs => system}/skeleton/etc/random-seed            |  Bin 512 -> 512 bytes
 {fs => system}/skeleton/etc/resolv.conf            |    0
 {fs => system}/skeleton/etc/securetty              |    0
 {fs => system}/skeleton/etc/services               |    0
 {fs => system}/skeleton/etc/shadow                 |    0
 {fs => system}/skeleton/home/ftp/.empty            |    0
 {fs => system}/skeleton/lib/.empty                 |    0
 {fs => system}/skeleton/media/.empty               |    0
 {fs => system}/skeleton/mnt/.empty                 |    0
 {fs => system}/skeleton/opt/.empty                 |    0
 {fs => system}/skeleton/proc/.empty                |    0
 {fs => system}/skeleton/root/.bash_history         |    0
 {fs => system}/skeleton/root/.bash_logout          |    0
 {fs => system}/skeleton/root/.bash_profile         |    0
 {fs => system}/skeleton/root/.empty                |    0
 {fs => system}/skeleton/run                        |    0
 {fs => system}/skeleton/sbin/.empty                |    0
 {fs => system}/skeleton/sys/.empty                 |    0
 {fs => system}/skeleton/tmp/.empty                 |    0
 {fs => system}/skeleton/usr/bin/.empty             |    0
 {fs => system}/skeleton/usr/lib/.empty             |    0
 {fs => system}/skeleton/usr/sbin/.empty            |    0
 {fs => system}/skeleton/var/cache                  |    0
 {fs => system}/skeleton/var/lib/misc               |    0
 {fs => system}/skeleton/var/lib/pcmcia             |    0
 {fs => system}/skeleton/var/lock                   |    0
 {fs => system}/skeleton/var/log                    |    0
 {fs => system}/skeleton/var/pcmcia                 |    0
 {fs => system}/skeleton/var/run                    |    0
 {fs => system}/skeleton/var/spool                  |    0
 {fs => system}/skeleton/var/tmp                    |    0
 target/generic/Makefile.in => system/system.mk     |    0
 target/Config.in.arch                              |  878 --------------------
 target/Makefile.in                                 |    3 -
 target/device/xtensa/device_table.txt              |  189 -----
 target/xtensa/.gitignore                           |    1 -
 target/xtensa/Makefile.in                          |    1 -
 target/xtensa/defconfig                            |  129 ---
 target/xtensa/patch.in                             |   33 -
 target/xtensa/setup-config                         |   57 --
 target/xtensa/uClibc-0.9.30.config                 |  245 ------
 target/xtensa/uClibc.config                        |  190 -----
 target/xtensa/xt-buildroot-overlay-install         |  488 -----------
 toolchain/gcc/gcc-uclibc-4.x.mk                    |    7 +-
 toolchain/gdb/gdb.mk                               |    7 +-
 toolchain/toolchain-common.in                      |    2 +-
 toolchain/uClibc/uclibc.mk                         |    1 -
 89 files changed, 838 insertions(+), 2237 deletions(-)
 create mode 100644 arch/Config.in
 create mode 100644 arch/Config.in.arches
 create mode 100644 arch/Config.in.arm
 create mode 100644 arch/Config.in.bfin
 create mode 100644 arch/Config.in.common
 create mode 100644 arch/Config.in.mips
 create mode 100644 arch/Config.in.powerpc
 create mode 100644 arch/Config.in.sh
 create mode 100644 arch/Config.in.sparc
 create mode 100644 arch/Config.in.x86
 rename {target/generic => system}/Config.in (99%)
 rename {target/generic => system}/device_table.txt (100%)
 rename {target/generic => system}/device_table_dev.txt (100%)
 rename {fs => system}/skeleton/bin/.empty (100%)
 rename {fs => system}/skeleton/dev/log (100%)
 rename {fs => system}/skeleton/dev/pts/.empty (100%)
 rename {fs => system}/skeleton/etc/TZ (100%)
 rename {fs => system}/skeleton/etc/fstab (100%)
 rename {fs => system}/skeleton/etc/group (100%)
 rename {fs => system}/skeleton/etc/hostname (100%)
 rename {fs => system}/skeleton/etc/hosts (100%)
 rename {fs => system}/skeleton/etc/init.d/S20urandom (100%)
 rename {fs => system}/skeleton/etc/init.d/S40network (100%)
 rename {fs => system}/skeleton/etc/init.d/rcK (100%)
 rename {fs => system}/skeleton/etc/init.d/rcS (100%)
 rename {fs => system}/skeleton/etc/inittab (100%)
 rename {fs => system}/skeleton/etc/inputrc (100%)
 rename {fs => system}/skeleton/etc/issue (100%)
 rename {fs => system}/skeleton/etc/ld.so.conf.d/.empty (100%)
 rename {fs => system}/skeleton/etc/mtab (100%)
 rename {fs => system}/skeleton/etc/network/if-down.d/.empty (100%)
 rename {fs => system}/skeleton/etc/network/if-post-down.d/.empty (100%)
 rename {fs => system}/skeleton/etc/network/if-pre-up.d/.empty (100%)
 rename {fs => system}/skeleton/etc/network/if-up.d/.empty (100%)
 rename {fs => system}/skeleton/etc/network/interfaces (100%)
 rename {fs => system}/skeleton/etc/passwd (100%)
 rename {fs => system}/skeleton/etc/profile (100%)
 rename {fs => system}/skeleton/etc/protocols (100%)
 rename {fs => system}/skeleton/etc/random-seed (100%)
 rename {fs => system}/skeleton/etc/resolv.conf (100%)
 rename {fs => system}/skeleton/etc/securetty (100%)
 rename {fs => system}/skeleton/etc/services (100%)
 rename {fs => system}/skeleton/etc/shadow (100%)
 rename {fs => system}/skeleton/home/ftp/.empty (100%)
 rename {fs => system}/skeleton/lib/.empty (100%)
 rename {fs => system}/skeleton/media/.empty (100%)
 rename {fs => system}/skeleton/mnt/.empty (100%)
 rename {fs => system}/skeleton/opt/.empty (100%)
 rename {fs => system}/skeleton/proc/.empty (100%)
 rename {fs => system}/skeleton/root/.bash_history (100%)
 rename {fs => system}/skeleton/root/.bash_logout (100%)
 rename {fs => system}/skeleton/root/.bash_profile (100%)
 rename {fs => system}/skeleton/root/.empty (100%)
 rename {fs => system}/skeleton/run (100%)
 rename {fs => system}/skeleton/sbin/.empty (100%)
 rename {fs => system}/skeleton/sys/.empty (100%)
 rename {fs => system}/skeleton/tmp/.empty (100%)
 rename {fs => system}/skeleton/usr/bin/.empty (100%)
 rename {fs => system}/skeleton/usr/lib/.empty (100%)
 rename {fs => system}/skeleton/usr/sbin/.empty (100%)
 rename {fs => system}/skeleton/var/cache (100%)
 rename {fs => system}/skeleton/var/lib/misc (100%)
 rename {fs => system}/skeleton/var/lib/pcmcia (100%)
 rename {fs => system}/skeleton/var/lock (100%)
 rename {fs => system}/skeleton/var/log (100%)
 rename {fs => system}/skeleton/var/pcmcia (100%)
 rename {fs => system}/skeleton/var/run (100%)
 rename {fs => system}/skeleton/var/spool (100%)
 rename {fs => system}/skeleton/var/tmp (100%)
 rename target/generic/Makefile.in => system/system.mk (100%)
 delete mode 100644 target/Config.in.arch
 delete mode 100644 target/Makefile.in
 delete mode 100644 target/device/xtensa/device_table.txt
 delete mode 100644 target/xtensa/.gitignore
 delete mode 100644 target/xtensa/Makefile.in
 delete mode 100644 target/xtensa/defconfig
 delete mode 100644 target/xtensa/patch.in
 delete mode 100644 target/xtensa/setup-config
 delete mode 100644 target/xtensa/uClibc-0.9.30.config
 delete mode 100644 target/xtensa/uClibc.config
 delete mode 100644 target/xtensa/xt-buildroot-overlay-install

Thanks,

Signature · 1 line
Thomas Petazzoni
#1 lore raw

PATCH 1/4 Remove the Xtensa architecture

As stated in commit 555c2585bf28c3ef71f6d2dcdd983d17a19892af, the Xtensa architecture has been introduced in 2009 and never changed since its initial introduction. It requires some special handling that is a bit annoying, and despite our call to the initial developers, and the announcement of the deprecation of the architecture during the 2012.05, nothing has happened. Therefore, drop support for this architecture.

---
 Makefile                                   |    3 -
 linux/Config.in                            |    2 +-
 package/ltrace/Config.in                   |    2 +-
 target/Config.in.arch                      |   40 ---
 target/device/xtensa/device_table.txt      |  189 -----------
 target/xtensa/.gitignore                   |    1 -
 target/xtensa/Makefile.in                  |    1 -
 target/xtensa/defconfig                    |  129 --------
 target/xtensa/patch.in                     |   33 --
 target/xtensa/setup-config                 |   57 ----
 target/xtensa/uClibc-0.9.30.config         |  245 --------------
 target/xtensa/uClibc.config                |  190 -----------
 target/xtensa/xt-buildroot-overlay-install |  488 ----------------------------
 toolchain/gcc/gcc-uclibc-4.x.mk            |    7 +-
 toolchain/gdb/gdb.mk                       |    7 +-
 toolchain/toolchain-common.in              |    2 +-
 toolchain/uClibc/uclibc.mk                 |    1 -
 17 files changed, 5 insertions(+), 1392 deletions(-)
 delete mode 100644 target/device/xtensa/device_table.txt
 delete mode 100644 target/xtensa/.gitignore
 delete mode 100644 target/xtensa/Makefile.in
 delete mode 100644 target/xtensa/defconfig
 delete mode 100644 target/xtensa/patch.in
 delete mode 100644 target/xtensa/setup-config
 delete mode 100644 target/xtensa/uClibc-0.9.30.config
 delete mode 100644 target/xtensa/uClibc.config
 delete mode 100644 target/xtensa/xt-buildroot-overlay-install
Makefile +0 -3
index b81170f..9e1bcfd 100644
@@ -236,9 +236,6 @@ QUIET:=$(if $(findstring s,$(MAKEFLAGS)),-q)
 
 # Strip off the annoying quoting
 ARCH:=$(call qstrip,$(BR2_ARCH))
-ifeq ($(ARCH),xtensa)
-ARCH:=$(ARCH)_$(call qstrip,$(BR2_xtensa_core_name))
-endif
 
 KERNEL_ARCH:=$(shell echo "$(ARCH)" | sed -e "s/-.*//" \
 	-e s/i.86/i386/ -e s/sun4u/sparc64/ \
linux/Config.in +1 -1
index 0306348..10a546e 100644
@@ -153,7 +153,7 @@ 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 || BR2_xtensa
+	depends on BR2_arm || BR2_armeb || BR2_powerpc || BR2_sparc || BR2_sh || BR2_sh64
 
 config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
 	bool "zImage with appended DT"
package/ltrace/Config.in +1 -1
index 9e71d82..a65ca48 100644
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_LTRACE
 	bool "ltrace"
-	depends on !(BR2_avr32 || BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64 || BR2_xtensa)
+	depends on !(BR2_avr32 || BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64)
 	select BR2_PACKAGE_LIBELF
 	help
 	  Debugging program which runs a specified command until it exits.
target/Config.in.arch +0 -40
index 342066e..6aa5adf 100644
@@ -122,13 +122,6 @@ config BR2_x86_64
 	  architecture compatible microprocessor).
 	  http://en.wikipedia.org/wiki/X86_64
 
-config BR2_xtensa
-	bool "Xtensa"
-	depends on BR2_DEPRECATED
-	help
-	  Xtensa is a Tensilica processor IP architecture.
-	  http://en.wikipedia.org/wiki/Xtensa
-	  http://www.tensilica.com/
 endchoice
 
 config BR2_microblaze
@@ -516,38 +509,6 @@ config BR2_SPARC_TYPE
 
 choice
 	prompt "Target Architecture Variant"
-	depends on BR2_xtensa
-	default BR2_xtensa_dc232b
-	help
-	  Specific CPU variant to use
-
-config BR2_xtensa_custom
-	bool "Custom Xtensa processor configuration"
-config BR2_xtensa_dc232a
-	bool "dc232a - Diamond 232L Standard Core Rev.A (LE)"
-config BR2_xtensa_dc232b
-	bool "dc232b - Diamond 232L Standard Core Rev.B (LE)"
-#config BR2_xtensa_s5000
-#	bool "s5000 - Stretch S5000"
-endchoice
-
-config BR2_xtensa_custom_name
-	string "Custom Xtensa processor configuration name"
-	depends on BR2_xtensa_custom
-	default ""
-	help
-	  Name given to a custom Xtensa processor configuration.
-	  This is used to select the correct overlay.
-
-config BR2_xtensa_core_name
-	string
-	default BR2_xtensa_custom_name	if BR2_xtensa_custom
-	default "dc232a"		if BR2_xtensa_dc232a
-	default "dc232b"		if BR2_xtensa_dc232b
-#	default "s5000"			if BR2_xtensa_s5000
-
-choice
-	prompt "Target Architecture Variant"
 	depends on BR2_powerpc
 	default BR2_generic_powerpc
 	help
@@ -678,7 +639,6 @@ 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
target/device/xtensa/device_table.txt deleted +0 -189

189 lines not on this page · raw message

target/xtensa/.gitignore deleted +0 -1
deleted file mode 100644
index cff61bf..0000000
@@ -1 +0,0 @@
-/busybox-config
target/xtensa/Makefile.in deleted +0 -1
deleted file mode 100644
index 8a654b9..0000000
@@ -1 +0,0 @@
--include target/xtensa/*/*.mk
target/xtensa/defconfig deleted +0 -129

129 lines not on this page · raw message

target/xtensa/patch.in deleted +0 -33
deleted file mode 100644
index 3fe5cc8..0000000
@@ -1,33 +0,0 @@
-ifneq ($(filter xtensa%,$(ARCH)),)
-#############################################################
-#
-#  Xtensa processor architecture (including Diamond Standard cores)
-#
-#############################################################
-
-#  The following defines a function to be used like this:
-#	$(call XTENSA_PATCH, <module>, <patchdir>, <relative dir list...>)
-#  which returns the first overlay patch file for <module> found
-#  in the list of directories <relative dir list...> which are
-#  relative to <patchdir> (itself either absolute or relative to the
-#  current directory).  The returned filename is relative to <patchdir>.
-#  For example:
-#	$(call XTENSA_PATCH, binutils, some/dir/path, . ..)
-#  (no commas between directory paths in the list).
-#
-#  A selected overlay patch must exist ("fsf" means no specific
-#  overlay is selected).  So the function emits a Makefile error
-#  if a selected patch file is not found.
-
-XTENSA_CORENAME:=$(call qstrip,$(BR2_xtensa_core_name))
-ifeq ($(XTENSA_CORENAME),fsf)
-XTENSA_PATCH =
-else
-XTENSA_PATCH_SUFFIX = $(1)-xtensa_$(XTENSA_CORENAME).tgz
-XTENSA_PATCH_FILE = $(firstword $(wildcard $(patsubst %,$(2)/%/*$(XTENSA_PATCH_SUFFIX),$(3))))
-# FULLPATH = $(if $(filter /%,$(1)),$(1),$(PWD)/$(1))
-XTENSA_PATCH = $(if $(XTENSA_PATCH_FILE),$(patsubst $(2)/%,%,$(XTENSA_PATCH_FILE)),\
-	$(error Missing $(1) patch for Xtensa $(XTENSA_CORENAME) processor (*$(XTENSA_PATCH_SUFFIX) in $(addprefix $(2)/,$(3)))))
-endif
-
-endif
target/xtensa/setup-config deleted +0 -57

57 lines not on this page · raw message

target/xtensa/uClibc-0.9.30.config deleted +0 -245

245 lines not on this page · raw message

target/xtensa/uClibc.config deleted +0 -190

190 lines not on this page · raw message

target/xtensa/xt-buildroot-overlay-install deleted +0 -488

488 lines not on this page · raw message

toolchain/gcc/gcc-uclibc-4.x.mk +1 -6
index e29d797..1a075cc 100644
@@ -33,11 +33,6 @@ else
  GCC_SITE:=$(BR2_GNU_MIRROR)/gcc/gcc-$(GCC_VERSION)
 endif
 
-ifneq ($(filter xtensa%,$(ARCH)),)
-include target/xtensa/patch.in
-GCC_PATCH_EXTRA:=$(call XTENSA_PATCH,gcc,$(GCC_PATCH_DIR),. ..)
-endif
-
 GCC_SOURCE:=gcc-$(GCC_VERSION).tar.bz2
 GCC_PATCH_DIR:=toolchain/gcc/$(GCC_VERSION)
 GCC_DIR:=$(TOOLCHAIN_DIR)/gcc-$(GCC_VERSION)
@@ -262,7 +257,7 @@ gcc-patched: $(GCC_DIR)/.patched
 $(GCC_DIR)/.patched: $(GCC_DIR)/.unpacked
 	# Apply any files named gcc-*.patch from the source directory to gcc
 ifneq ($(wildcard $(GCC_PATCH_DIR)),)
-	support/scripts/apply-patches.sh $(GCC_DIR) $(GCC_PATCH_DIR) \*.patch $(GCC_PATCH_EXTRA)
+	support/scripts/apply-patches.sh $(GCC_DIR) $(GCC_PATCH_DIR) \*.patch
 endif
 
 ifeq ($(ARCH)-$(BR2_GCC_SHARED_LIBGCC),powerpc-y)
toolchain/gdb/gdb.mk +1 -6
index f5af454..6b029a8 100644
@@ -16,11 +16,6 @@ else
  GDB_PATCH_DIR:=toolchain/gdb/$(GDB_VERSION)
 endif
 
-ifneq ($(filter xtensa%,$(ARCH)),)
-include target/xtensa/patch.in
-GDB_PATCH_EXTRA:=$(call XTENSA_PATCH,gdb,$(GDB_PATCH_DIR),. ..)
-endif
-
 GDB_DIR:=$(TOOLCHAIN_DIR)/gdb-$(GDB_VERSION)
 
 $(DL_DIR)/$(GDB_SOURCE):
@@ -31,7 +26,7 @@ $(GDB_DIR)/.unpacked: $(DL_DIR)/$(GDB_SOURCE)
 	mkdir -p $(GDB_DIR)
 	$(GDB_CAT) $(DL_DIR)/$(GDB_SOURCE) | tar -C $(GDB_DIR) $(TAR_STRIP_COMPONENTS)=1 $(TAR_OPTIONS) -
 ifneq ($(wildcard $(GDB_PATCH_DIR)),)
-	support/scripts/apply-patches.sh $(GDB_DIR) $(GDB_PATCH_DIR) \*.patch $(GDB_PATCH_EXTRA)
+	support/scripts/apply-patches.sh $(GDB_DIR) $(GDB_PATCH_DIR) \*.patch
 endif
 	$(call CONFIG_UPDATE,$(@D))
 	touch $@
toolchain/toolchain-common.in +1 -1
index 6e0d159..10950ba 100644
@@ -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 || BR2_xtensa
+	bool "Enable MMU support" if BR2_arm || BR2_armeb || BR2_mips || BR2_mipsel || BR2_sh
 	default y if !BR2_bfin
 	help
 	  If your target has a MMU, you should say Y here.  If you
toolchain/uClibc/uclibc.mk +0 -1
index 9d0b6db..005e559 100644
@@ -39,7 +39,6 @@ UCLIBC_TARGET_ARCH:=$(shell $(SHELL) -c "echo $(ARCH) | sed \
 		-e 's/mips.*/mips/' \
 		-e 's/mipsel.*/mips/' \
 		-e 's/cris.*/cris/' \
-		-e 's/xtensa.*/xtensa/' \
 ")
 # just handle the ones that can be big or little
 UCLIBC_TARGET_ENDIAN:=$(shell $(SHELL) -c "echo $(ARCH) | sed \
Signature · 1 line
1.7.9.5
#2 lore raw

PATCH 1/4 Remove the Xtensa architecture

Thomas, All,

Quoted 9 lines · On Tuesday 04 September 2012 16:04:06 Thomas Petazzoni wrote:

As stated in commit 555c2585bf28c3ef71f6d2dcdd983d17a19892af, the Xtensa architecture has been introduced in 2009 and never changed since its initial introduction. It requires some special handling that is a bit annoying, and despite our call to the initial developers, and the announcement of the deprecation of the architecture during the 2012.05, nothing has happened. Therefore, drop support for this architecture.

Acked-by me

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#3 lore raw

PATCH 1/4 Remove the Xtensa architecture

In reply to Thomas Petazzoni
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> As stated in commit 555c2585bf28c3ef71f6d2dcdd983d17a19892af, the Thomas> Xtensa architecture has been introduced in 2009 and never changed Thomas> since its initial introduction. It requires some special handling that Thomas> is a bit annoying, and despite our call to the initial developers, and Thomas> the announcement of the deprecation of the architecture during the Thomas> 2012.05, nothing has happened. Therefore, drop support for this Thomas> architecture.

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#4 lore raw

PATCH 2/4 New top-level directory: system

In reply to Thomas Petazzoni

This directory groups the following elements:
* the default root filesystem skeleton
* the default device tables
* the Config.in options for system configuration (UART port for getty, system hostname, etc.)
* the make rules to apply the system configuration options

Even though the skeleton and device tables could have lived in fs/, it would have been strange to have the UART, system hostname and other related options into fs/. A new system/ directory makes more sense.

---
 Config.in                                          |    2 +-
 Makefile                                           |    1 +
 {target/generic => system}/Config.in               |    2 +-
 {target/generic => system}/device_table.txt        |    0
 {target/generic => system}/device_table_dev.txt    |    0
 {fs => system}/skeleton/bin/.empty                 |    0
 {fs => system}/skeleton/dev/log                    |    0
 {fs => system}/skeleton/dev/pts/.empty             |    0
 {fs => system}/skeleton/etc/TZ                     |    0
 {fs => system}/skeleton/etc/fstab                  |    0
 {fs => system}/skeleton/etc/group                  |    0
 {fs => system}/skeleton/etc/hostname               |    0
 {fs => system}/skeleton/etc/hosts                  |    0
 {fs => system}/skeleton/etc/init.d/S20urandom      |    0
 {fs => system}/skeleton/etc/init.d/S40network      |    0
 {fs => system}/skeleton/etc/init.d/rcK             |    0
 {fs => system}/skeleton/etc/init.d/rcS             |    0
 {fs => system}/skeleton/etc/inittab                |    0
 {fs => system}/skeleton/etc/inputrc                |    0
 {fs => system}/skeleton/etc/issue                  |    0
 {fs => system}/skeleton/etc/ld.so.conf.d/.empty    |    0
 {fs => system}/skeleton/etc/mtab                   |    0
 .../skeleton/etc/network/if-down.d/.empty          |    0
 .../skeleton/etc/network/if-post-down.d/.empty     |    0
 .../skeleton/etc/network/if-pre-up.d/.empty        |    0
 {fs => system}/skeleton/etc/network/if-up.d/.empty |    0
 {fs => system}/skeleton/etc/network/interfaces     |    0
 {fs => system}/skeleton/etc/passwd                 |    0
 {fs => system}/skeleton/etc/profile                |    0
 {fs => system}/skeleton/etc/protocols              |    0
 {fs => system}/skeleton/etc/random-seed            |  Bin 512 -> 512 bytes
 {fs => system}/skeleton/etc/resolv.conf            |    0
 {fs => system}/skeleton/etc/securetty              |    0
 {fs => system}/skeleton/etc/services               |    0
 {fs => system}/skeleton/etc/shadow                 |    0
 {fs => system}/skeleton/home/ftp/.empty            |    0
 {fs => system}/skeleton/lib/.empty                 |    0
 {fs => system}/skeleton/media/.empty               |    0
 {fs => system}/skeleton/mnt/.empty                 |    0
 {fs => system}/skeleton/opt/.empty                 |    0
 {fs => system}/skeleton/proc/.empty                |    0
 {fs => system}/skeleton/root/.bash_history         |    0
 {fs => system}/skeleton/root/.bash_logout          |    0
 {fs => system}/skeleton/root/.bash_profile         |    0
 {fs => system}/skeleton/root/.empty                |    0
 {fs => system}/skeleton/run                        |    0
 {fs => system}/skeleton/sbin/.empty                |    0
 {fs => system}/skeleton/sys/.empty                 |    0
 {fs => system}/skeleton/tmp/.empty                 |    0
 {fs => system}/skeleton/usr/bin/.empty             |    0
 {fs => system}/skeleton/usr/lib/.empty             |    0
 {fs => system}/skeleton/usr/sbin/.empty            |    0
 {fs => system}/skeleton/var/cache                  |    0
 {fs => system}/skeleton/var/lib/misc               |    0
 {fs => system}/skeleton/var/lib/pcmcia             |    0
 {fs => system}/skeleton/var/lock                   |    0
 {fs => system}/skeleton/var/log                    |    0
 {fs => system}/skeleton/var/pcmcia                 |    0
 {fs => system}/skeleton/var/run                    |    0
 {fs => system}/skeleton/var/spool                  |    0
 {fs => system}/skeleton/var/tmp                    |    0
 target/generic/Makefile.in => system/system.mk     |    0
 62 files changed, 3 insertions(+), 2 deletions(-)
 rename {target/generic => system}/Config.in (99%)
 rename {target/generic => system}/device_table.txt (100%)
 rename {target/generic => system}/device_table_dev.txt (100%)
 rename {fs => system}/skeleton/bin/.empty (100%)
 rename {fs => system}/skeleton/dev/log (100%)
 rename {fs => system}/skeleton/dev/pts/.empty (100%)
 rename {fs => system}/skeleton/etc/TZ (100%)
 rename {fs => system}/skeleton/etc/fstab (100%)
 rename {fs => system}/skeleton/etc/group (100%)
 rename {fs => system}/skeleton/etc/hostname (100%)
 rename {fs => system}/skeleton/etc/hosts (100%)
 rename {fs => system}/skeleton/etc/init.d/S20urandom (100%)
 rename {fs => system}/skeleton/etc/init.d/S40network (100%)
 rename {fs => system}/skeleton/etc/init.d/rcK (100%)
 rename {fs => system}/skeleton/etc/init.d/rcS (100%)
 rename {fs => system}/skeleton/etc/inittab (100%)
 rename {fs => system}/skeleton/etc/inputrc (100%)
 rename {fs => system}/skeleton/etc/issue (100%)
 rename {fs => system}/skeleton/etc/ld.so.conf.d/.empty (100%)
 rename {fs => system}/skeleton/etc/mtab (100%)
 rename {fs => system}/skeleton/etc/network/if-down.d/.empty (100%)
 rename {fs => system}/skeleton/etc/network/if-post-down.d/.empty (100%)
 rename {fs => system}/skeleton/etc/network/if-pre-up.d/.empty (100%)
 rename {fs => system}/skeleton/etc/network/if-up.d/.empty (100%)
 rename {fs => system}/skeleton/etc/network/interfaces (100%)
 rename {fs => system}/skeleton/etc/passwd (100%)
 rename {fs => system}/skeleton/etc/profile (100%)
 rename {fs => system}/skeleton/etc/protocols (100%)
 rename {fs => system}/skeleton/etc/random-seed (100%)
 rename {fs => system}/skeleton/etc/resolv.conf (100%)
 rename {fs => system}/skeleton/etc/securetty (100%)
 rename {fs => system}/skeleton/etc/services (100%)
 rename {fs => system}/skeleton/etc/shadow (100%)
 rename {fs => system}/skeleton/home/ftp/.empty (100%)
 rename {fs => system}/skeleton/lib/.empty (100%)
 rename {fs => system}/skeleton/media/.empty (100%)
 rename {fs => system}/skeleton/mnt/.empty (100%)
 rename {fs => system}/skeleton/opt/.empty (100%)
 rename {fs => system}/skeleton/proc/.empty (100%)
 rename {fs => system}/skeleton/root/.bash_history (100%)
 rename {fs => system}/skeleton/root/.bash_logout (100%)
 rename {fs => system}/skeleton/root/.bash_profile (100%)
 rename {fs => system}/skeleton/root/.empty (100%)
 rename {fs => system}/skeleton/run (100%)
 rename {fs => system}/skeleton/sbin/.empty (100%)
 rename {fs => system}/skeleton/sys/.empty (100%)
 rename {fs => system}/skeleton/tmp/.empty (100%)
 rename {fs => system}/skeleton/usr/bin/.empty (100%)
 rename {fs => system}/skeleton/usr/lib/.empty (100%)
 rename {fs => system}/skeleton/usr/sbin/.empty (100%)
 rename {fs => system}/skeleton/var/cache (100%)
 rename {fs => system}/skeleton/var/lib/misc (100%)
 rename {fs => system}/skeleton/var/lib/pcmcia (100%)
 rename {fs => system}/skeleton/var/lock (100%)
 rename {fs => system}/skeleton/var/log (100%)
 rename {fs => system}/skeleton/var/pcmcia (100%)
 rename {fs => system}/skeleton/var/run (100%)
 rename {fs => system}/skeleton/var/spool (100%)
 rename {fs => system}/skeleton/var/tmp (100%)
 rename target/generic/Makefile.in => system/system.mk (100%)
Config.in +1 -1
index dab7787..cce4619 100644
@@ -419,7 +419,7 @@ endmenu
 
 source "toolchain/Config.in"
 
-source "target/generic/Config.in"
+source "system/Config.in"
 
 source "package/Config.in"
 
Makefile +1 -0
index 9e1bcfd..791fd72 100644
@@ -329,6 +329,7 @@ TARGETS+=target-generatelocales
 endif
 endif
 
+include system/system.mk
 include fs/common.mk
 
 TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
system/Config.in renamed from target/generic/Config.in +1 -1
similarity index 99%
rename from target/generic/Config.in
rename to system/Config.in
index b8472f4..c30c6f7 100644
@@ -111,7 +111,7 @@ endchoice
 if BR2_ROOTFS_SKELETON_CUSTOM
 config BR2_ROOTFS_SKELETON_CUSTOM_PATH
 	string "custom target skeleton path"
-	default "fs/skeleton"
+	default "system/skeleton"
 	help
 	  Path custom target skeleton.
 endif
system/device_table.txt renamed from target/generic/device_table.txt +0 -0
similarity index 100%
rename from target/generic/device_table.txt
rename to system/device_table.txt
system/device_table_dev.txt renamed from target/generic/device_table_dev.txt +0 -0
similarity index 100%
rename from target/generic/device_table_dev.txt
rename to system/device_table_dev.txt
system/skeleton/bin/.empty renamed from fs/skeleton/bin/.empty +0 -0
similarity index 100%
rename from fs/skeleton/bin/.empty
rename to system/skeleton/bin/.empty
system/skeleton/dev/log renamed from fs/skeleton/dev/log +0 -0
similarity index 100%
rename from fs/skeleton/dev/log
rename to system/skeleton/dev/log
system/skeleton/dev/pts/.empty renamed from fs/skeleton/dev/pts/.empty +0 -0
similarity index 100%
rename from fs/skeleton/dev/pts/.empty
rename to system/skeleton/dev/pts/.empty
system/skeleton/etc/TZ renamed from fs/skeleton/etc/TZ +0 -0
similarity index 100%
rename from fs/skeleton/etc/TZ
rename to system/skeleton/etc/TZ
system/skeleton/etc/fstab renamed from fs/skeleton/etc/fstab +0 -0
similarity index 100%
rename from fs/skeleton/etc/fstab
rename to system/skeleton/etc/fstab
system/skeleton/etc/group renamed from fs/skeleton/etc/group +0 -0
similarity index 100%
rename from fs/skeleton/etc/group
rename to system/skeleton/etc/group
system/skeleton/etc/hostname renamed from fs/skeleton/etc/hostname +0 -0
similarity index 100%
rename from fs/skeleton/etc/hostname
rename to system/skeleton/etc/hostname
system/skeleton/etc/hosts renamed from fs/skeleton/etc/hosts +0 -0
similarity index 100%
rename from fs/skeleton/etc/hosts
rename to system/skeleton/etc/hosts
system/skeleton/etc/init.d/S20urandom renamed from fs/skeleton/etc/init.d/S20urandom +0 -0
similarity index 100%
rename from fs/skeleton/etc/init.d/S20urandom
rename to system/skeleton/etc/init.d/S20urandom
system/skeleton/etc/init.d/S40network renamed from fs/skeleton/etc/init.d/S40network +0 -0
similarity index 100%
rename from fs/skeleton/etc/init.d/S40network
rename to system/skeleton/etc/init.d/S40network
system/skeleton/etc/init.d/rcK renamed from fs/skeleton/etc/init.d/rcK +0 -0
similarity index 100%
rename from fs/skeleton/etc/init.d/rcK
rename to system/skeleton/etc/init.d/rcK
system/skeleton/etc/init.d/rcS renamed from fs/skeleton/etc/init.d/rcS +0 -0
similarity index 100%
rename from fs/skeleton/etc/init.d/rcS
rename to system/skeleton/etc/init.d/rcS
system/skeleton/etc/inittab renamed from fs/skeleton/etc/inittab +0 -0
similarity index 100%
rename from fs/skeleton/etc/inittab
rename to system/skeleton/etc/inittab
system/skeleton/etc/inputrc renamed from fs/skeleton/etc/inputrc +0 -0
similarity index 100%
rename from fs/skeleton/etc/inputrc
rename to system/skeleton/etc/inputrc
system/skeleton/etc/issue renamed from fs/skeleton/etc/issue +0 -0
similarity index 100%
rename from fs/skeleton/etc/issue
rename to system/skeleton/etc/issue
system/skeleton/etc/ld.so.conf.d/.empty renamed from fs/skeleton/etc/ld.so.conf.d/.empty +0 -0
similarity index 100%
rename from fs/skeleton/etc/ld.so.conf.d/.empty
rename to system/skeleton/etc/ld.so.conf.d/.empty
system/skeleton/etc/mtab renamed from fs/skeleton/etc/mtab +0 -0
similarity index 100%
rename from fs/skeleton/etc/mtab
rename to system/skeleton/etc/mtab
system/skeleton/etc/network/if-down.d/.empty renamed from fs/skeleton/etc/network/if-down.d/.empty +0 -0
similarity index 100%
rename from fs/skeleton/etc/network/if-down.d/.empty
rename to system/skeleton/etc/network/if-down.d/.empty
system/skeleton/etc/network/if-post-down.d/.empty renamed from fs/skeleton/etc/network/if-post-down.d/.empty +0 -0
similarity index 100%
rename from fs/skeleton/etc/network/if-post-down.d/.empty
rename to system/skeleton/etc/network/if-post-down.d/.empty
system/skeleton/etc/network/if-pre-up.d/.empty renamed from fs/skeleton/etc/network/if-pre-up.d/.empty +0 -0
similarity index 100%
rename from fs/skeleton/etc/network/if-pre-up.d/.empty
rename to system/skeleton/etc/network/if-pre-up.d/.empty
system/skeleton/etc/network/if-up.d/.empty renamed from fs/skeleton/etc/network/if-up.d/.empty +0 -0
similarity index 100%
rename from fs/skeleton/etc/network/if-up.d/.empty
rename to system/skeleton/etc/network/if-up.d/.empty
system/skeleton/etc/network/interfaces renamed from fs/skeleton/etc/network/interfaces +0 -0
similarity index 100%
rename from fs/skeleton/etc/network/interfaces
rename to system/skeleton/etc/network/interfaces
system/skeleton/etc/passwd renamed from fs/skeleton/etc/passwd +0 -0
similarity index 100%
rename from fs/skeleton/etc/passwd
rename to system/skeleton/etc/passwd
system/skeleton/etc/profile renamed from fs/skeleton/etc/profile +0 -0
similarity index 100%
rename from fs/skeleton/etc/profile
rename to system/skeleton/etc/profile
system/skeleton/etc/protocols renamed from fs/skeleton/etc/protocols +0 -0
similarity index 100%
rename from fs/skeleton/etc/protocols
rename to system/skeleton/etc/protocols
system/skeleton/etc/random-seed renamed from fs/skeleton/etc/random-seed +0 -0
similarity index 100%
rename from fs/skeleton/etc/random-seed
rename to system/skeleton/etc/random-seed
system/skeleton/etc/resolv.conf renamed from fs/skeleton/etc/resolv.conf +0 -0
similarity index 100%
rename from fs/skeleton/etc/resolv.conf
rename to system/skeleton/etc/resolv.conf
system/skeleton/etc/securetty renamed from fs/skeleton/etc/securetty +0 -0
similarity index 100%
rename from fs/skeleton/etc/securetty
rename to system/skeleton/etc/securetty
system/skeleton/etc/services renamed from fs/skeleton/etc/services +0 -0
similarity index 100%
rename from fs/skeleton/etc/services
rename to system/skeleton/etc/services
system/skeleton/etc/shadow renamed from fs/skeleton/etc/shadow +0 -0
similarity index 100%
rename from fs/skeleton/etc/shadow
rename to system/skeleton/etc/shadow
system/skeleton/home/ftp/.empty renamed from fs/skeleton/home/ftp/.empty +0 -0
similarity index 100%
rename from fs/skeleton/home/ftp/.empty
rename to system/skeleton/home/ftp/.empty
system/skeleton/lib/.empty renamed from fs/skeleton/lib/.empty +0 -0
similarity index 100%
rename from fs/skeleton/lib/.empty
rename to system/skeleton/lib/.empty
system/skeleton/media/.empty renamed from fs/skeleton/media/.empty +0 -0
similarity index 100%
rename from fs/skeleton/media/.empty
rename to system/skeleton/media/.empty
system/skeleton/mnt/.empty renamed from fs/skeleton/mnt/.empty +0 -0
similarity index 100%
rename from fs/skeleton/mnt/.empty
rename to system/skeleton/mnt/.empty
system/skeleton/opt/.empty renamed from fs/skeleton/opt/.empty +0 -0
similarity index 100%
rename from fs/skeleton/opt/.empty
rename to system/skeleton/opt/.empty
system/skeleton/proc/.empty renamed from fs/skeleton/proc/.empty +0 -0
similarity index 100%
rename from fs/skeleton/proc/.empty
rename to system/skeleton/proc/.empty
system/skeleton/root/.bash_history renamed from fs/skeleton/root/.bash_history +0 -0
similarity index 100%
rename from fs/skeleton/root/.bash_history
rename to system/skeleton/root/.bash_history
system/skeleton/root/.bash_logout renamed from fs/skeleton/root/.bash_logout +0 -0
similarity index 100%
rename from fs/skeleton/root/.bash_logout
rename to system/skeleton/root/.bash_logout
system/skeleton/root/.bash_profile renamed from fs/skeleton/root/.bash_profile +0 -0
similarity index 100%
rename from fs/skeleton/root/.bash_profile
rename to system/skeleton/root/.bash_profile
system/skeleton/root/.empty renamed from fs/skeleton/root/.empty +0 -0
similarity index 100%
rename from fs/skeleton/root/.empty
rename to system/skeleton/root/.empty
system/skeleton/run renamed from fs/skeleton/run +0 -0
similarity index 100%
rename from fs/skeleton/run
rename to system/skeleton/run
system/skeleton/sbin/.empty renamed from fs/skeleton/sbin/.empty +0 -0
similarity index 100%
rename from fs/skeleton/sbin/.empty
rename to system/skeleton/sbin/.empty
system/skeleton/sys/.empty renamed from fs/skeleton/sys/.empty +0 -0
similarity index 100%
rename from fs/skeleton/sys/.empty
rename to system/skeleton/sys/.empty
system/skeleton/tmp/.empty renamed from fs/skeleton/tmp/.empty +0 -0
similarity index 100%
rename from fs/skeleton/tmp/.empty
rename to system/skeleton/tmp/.empty
system/skeleton/usr/bin/.empty renamed from fs/skeleton/usr/bin/.empty +0 -0
similarity index 100%
rename from fs/skeleton/usr/bin/.empty
rename to system/skeleton/usr/bin/.empty
system/skeleton/usr/lib/.empty renamed from fs/skeleton/usr/lib/.empty +0 -0
similarity index 100%
rename from fs/skeleton/usr/lib/.empty
rename to system/skeleton/usr/lib/.empty
system/skeleton/usr/sbin/.empty renamed from fs/skeleton/usr/sbin/.empty +0 -0
similarity index 100%
rename from fs/skeleton/usr/sbin/.empty
rename to system/skeleton/usr/sbin/.empty
system/skeleton/var/cache renamed from fs/skeleton/var/cache +0 -0
similarity index 100%
rename from fs/skeleton/var/cache
rename to system/skeleton/var/cache
system/skeleton/var/lib/misc renamed from fs/skeleton/var/lib/misc +0 -0
similarity index 100%
rename from fs/skeleton/var/lib/misc
rename to system/skeleton/var/lib/misc
system/skeleton/var/lib/pcmcia renamed from fs/skeleton/var/lib/pcmcia +0 -0
similarity index 100%
rename from fs/skeleton/var/lib/pcmcia
rename to system/skeleton/var/lib/pcmcia
system/skeleton/var/lock renamed from fs/skeleton/var/lock +0 -0
similarity index 100%
rename from fs/skeleton/var/lock
rename to system/skeleton/var/lock
system/skeleton/var/log renamed from fs/skeleton/var/log +0 -0
similarity index 100%
rename from fs/skeleton/var/log
rename to system/skeleton/var/log
system/skeleton/var/pcmcia renamed from fs/skeleton/var/pcmcia +0 -0
similarity index 100%
rename from fs/skeleton/var/pcmcia
rename to system/skeleton/var/pcmcia
system/skeleton/var/run renamed from fs/skeleton/var/run +0 -0
similarity index 100%
rename from fs/skeleton/var/run
rename to system/skeleton/var/run
system/skeleton/var/spool renamed from fs/skeleton/var/spool +0 -0
similarity index 100%
rename from fs/skeleton/var/spool
rename to system/skeleton/var/spool
system/skeleton/var/tmp renamed from fs/skeleton/var/tmp +0 -0
similarity index 100%
rename from fs/skeleton/var/tmp
rename to system/skeleton/var/tmp
system/system.mk renamed from target/generic/Makefile.in +0 -0
similarity index 100%
rename from target/generic/Makefile.in
rename to system/system.mk
Signature · 1 line
1.7.9.5
#5 lore raw

PATCH 2/4 New top-level directory: system

Thomas, All,

Quoted 10 lines · On Tuesday 04 September 2012 16:04:07 Thomas Petazzoni wrote:

This directory groups the following elements:
* the default root filesystem skeleton
* the default device tables
* the Config.in options for system configuration (UART port for getty, system hostname, etc.)
* the make rules to apply the system configuration options

Even though the skeleton and device tables could have lived in fs/, it would have been strange to have the UART, system hostname and other related options into fs/. A new system/ directory makes more sense.

Agreed. The fs/ sub-dir is now only for all the different rootfs methods. I'm not too fond of the 'system' name, but I can see anything else that would be fit.

Quoted 1 line

As this is a mostly-mechanical rename:
Acked-by: me

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#6 lore raw

PATCH 2/4 New top-level directory: system

Le Tue, 4 Sep 2012 22:53:05 +0200,
"Yann E. MORIN" <[email protected]> a ?crit :

Quoted 7 lines
Quoted 3 lines

Even though the skeleton and device tables could have lived in fs/, it would have been strange to have the UART, system hostname and other related options into fs/. A new system/ directory makes more sense.

Agreed. The fs/ sub-dir is now only for all the different rootfs methods. I'm not too fond of the 'system' name, but I can see anything else that would be fit.

I don't have a strong preference for 'system' either, but that's the only name I could find that was reasonable. Suggestions welcome.

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#7 lore raw

PATCH 3/4 Remove target/Makefile.in, now useless

In reply to Thomas Petazzoni
---
 Makefile           |    1 -
 target/Makefile.in |    3 ---
 2 files changed, 4 deletions(-)
 delete mode 100644 target/Makefile.in
Makefile +0 -1
index 791fd72..aff44a8 100644
@@ -314,7 +314,6 @@ endif
 include package/*/*.mk
 
 include boot/common.mk
-include target/Makefile.in
 include linux/linux.mk
 
 TARGETS+=target-finalize
target/Makefile.in deleted +0 -3
deleted file mode 100644
index 915d625..0000000
@@ -1,3 +0,0 @@
-# make sure to put everything that is board-specific before the tarroot targets
-include target/generic/Makefile.in
-
Signature · 1 line
1.7.9.5
#8 lore raw

PATCH 3/4 Remove target/Makefile.in, now useless

Thomas, All,

Quoted 25 lines · On Tuesday 04 September 2012 16:04:08 Thomas Petazzoni wrote:
---
 Makefile           |    1 -
 target/Makefile.in |    3 ---
 2 files changed, 4 deletions(-)
 delete mode 100644 target/Makefile.in
Makefile +0 -1
index 791fd72..aff44a8 100644
@@ -314,7 +314,6 @@ endif
 include package/*/*.mk
 
 include boot/common.mk
-include target/Makefile.in
 include linux/linux.mk
 
 TARGETS+=target-finalize
target/Makefile.in deleted +0 -0
deleted file mode 100644
index 915d625..0000000

target/Makefile.in line 2

Quoted 2 lines
target/Makefile.in deleted +0 -2
@@ -1,3 +0,0 @@
-# make sure to put everything that is board-specific before the tarroot targets
-include target/generic/Makefile.in

I would fold this patch with the previous one. Without it, the previous patch breaks the Makefile:

  $ make defconfig
  [--SNIP--]
  $ make
  target/Makefile.in:2: target/generic/Makefile.in: No such file or directory
  make: *** No rule to make target `target/generic/Makefile.in'.  Stop.

(Sorry, I missed that in the previous patch).

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#9 lore raw

PATCH 3/4 Remove target/Makefile.in, now useless

Le Tue, 4 Sep 2012 23:24:32 +0200,
"Yann E. MORIN" <[email protected]> a ?crit :

Quoted 9 lines

I would fold this patch with the previous one. Without it, the previous patch breaks the Makefile:

  $ make defconfig
  [--SNIP--]
  $ make
  target/Makefile.in:2: target/generic/Makefile.in: No such file or directory
  make: *** No rule to make target `target/generic/Makefile.in'.  Stop.

(Sorry, I missed that in the previous patch).

Ok, will do.

Thanks,

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#10 lore raw

PATCH 4/4 Split target/Config.in.arch into multiple Config.in.* in arch/

In reply to Thomas Petazzoni

target/Config.in.arch had become too long, and we want to remove the target/ directory. So let's move it to arch/ and split it this way:

* An initial Config.in.arches that lists the top-level architecture

* One Config.in.<something> per architecture, listing the CPU families, ABI choices, etc.

* One Config.in.common that defines the gcc mtune, march, mcpu values and other hidden options.

* One Config.in to source all those configuration files in the right order.

---
 Config.in              |    2 +-
 arch/Config.in         |    9 +
 arch/Config.in.arches  |  129 ++++++++
 arch/Config.in.arm     |   83 +++++
 arch/Config.in.bfin    |   10 +
 arch/Config.in.common  |  245 ++++++++++++++
 arch/Config.in.mips    |   57 ++++
 arch/Config.in.powerpc |   83 +++++
 arch/Config.in.sh      |   24 ++
 arch/Config.in.sparc   |   43 +++
 arch/Config.in.x86     |  146 +++++++++
 target/Config.in.arch  |  838 ------------------------------------------------
 12 files changed, 830 insertions(+), 839 deletions(-)
 create mode 100644 arch/Config.in
 create mode 100644 arch/Config.in.arches
 create mode 100644 arch/Config.in.arm
 create mode 100644 arch/Config.in.bfin
 create mode 100644 arch/Config.in.common
 create mode 100644 arch/Config.in.mips
 create mode 100644 arch/Config.in.powerpc
 create mode 100644 arch/Config.in.sh
 create mode 100644 arch/Config.in.sparc
 create mode 100644 arch/Config.in.x86
 delete mode 100644 target/Config.in.arch
Config.in +1 -1
index cce4619..68190a5 100644
@@ -14,7 +14,7 @@ config BR2_HOSTARCH
 	string
 	option env="HOSTARCH"
 
-source "target/Config.in.arch"
+source "arch/Config.in"
 
 menu "Build options"
 
arch/Config.in new file +9 -0
new file mode 100644
index 0000000..ddec266
@@ -0,0 +1,9 @@
+source "arch/Config.in.arches"
+source "arch/Config.in.arm"
+source "arch/Config.in.bfin"
+source "arch/Config.in.mips"
+source "arch/Config.in.powerpc"
+source "arch/Config.in.sh"
+source "arch/Config.in.sparc"
+source "arch/Config.in.x86"
+source "arch/Config.in.common"
arch/Config.in.arches new file +129 -0

129 lines not on this page · raw message

arch/Config.in.arm new file +83 -0

83 lines not on this page · raw message

arch/Config.in.bfin new file +10 -0
new file mode 100644
index 0000000..1823bde
@@ -0,0 +1,10 @@
+choice
+	prompt "Target ABI"
+	depends on BR2_bfin
+	default BR2_BFIN_FDPIC
+config BR2_BFIN_FDPIC
+	bool "FDPIC"
+config BR2_BFIN_FLAT
+	bool "FLAT"
+	select BR2_PREFER_STATIC_LIB
+endchoice
arch/Config.in.common new file +245 -0

245 lines not on this page · raw message

arch/Config.in.mips new file +57 -0

57 lines not on this page · raw message

arch/Config.in.powerpc new file +83 -0

83 lines not on this page · raw message

arch/Config.in.sh new file +24 -0
new file mode 100644
index 0000000..314c55a
@@ -0,0 +1,24 @@
+choice
+	prompt "Target Architecture Variant"
+	depends on BR2_sh
+	default BR2_sh4
+	help
+	  Specific CPU variant to use
+
+config BR2_sh2
+	bool "sh2 (SH2 big endian)"
+config BR2_sh2a
+	bool "sh2a (SH2A big endian)"
+config BR2_sh3
+	bool "sh3 (SH3 little endian)"
+config BR2_sh3eb
+	bool "sh3eb (SH3 big endian)"
+config BR2_sh4
+	bool "sh4 (SH4 little endian)"
+config BR2_sh4eb
+	bool "sh4eb (SH4 big endian)"
+config BR2_sh4a
+	bool "sh4a (SH4A little endian)"
+config BR2_sh4aeb
+	bool "sh4aeb (SH4A big endian)"
+endchoice
arch/Config.in.sparc new file +43 -0

43 lines not on this page · raw message

arch/Config.in.x86 new file +146 -0

146 lines not on this page · raw message

target/Config.in.arch deleted +0 -838

838 lines not on this page · raw message

Signature · 1 line
1.7.9.5
#11 lore raw

PATCH 4/4 Split target/Config.in.arch into multiple Config.in.* in arch/

Thomas, All,

Quoted 4 lines · On Tuesday 04 September 2012 16:04:09 Thomas Petazzoni wrote:

target/Config.in.arch had become too long, and we want to remove the target/ directory. So let's move it to arch/ and split it this way:

* An initial Config.in.arches that lists the top-level architecture

'arches' is not nice to the eye! ;-)
What about: arch/Config.in.choice ?
Or better yet, inline this file in arch/Config.in ? (see below)

Quoted 5 lines

* One Config.in.<something> per architecture, listing the CPU families, ABI choices, etc.

* One Config.in.common that defines the gcc mtune, march, mcpu values and other hidden options.

I find it a bit peculiar to have to edit two files to set architecture variants:
- one architecture-specific file
- one architecture-independent file

What I would suggest is that arch/Config.in.common disapears, plus:

arch/Config.in
config BR2_ARCH
string
config BR2_GCC_TARGET_TUNE
string
# And so on...

# Ideally, this could/should be directly inlined # here, rather than being in its own file source "arch/Config.in.arches"

if BR2_arm
source "arch/Config.in.arm"
endif
if BR2_bfin
source "arch/Config.in.bfin"
endif
# And so on, too...

Then, in each arch/Config.in.${ARCH}:

    # No need for 'if BR2_${ARCH}', this file is
    # already conditionally included
    config BR2_ARCH
        default "${ARCH}"

    choice
        prompt "Target Architecture Variant"
    # Blabla BR2_${ARCH}_XXX
    # Blabla BR2_${ARCH}_YYY
    endchoice

    config BR2_GCC_TARGET_TUNE
        string
        default "XXX" if BR2_${ARCH}_XXX
        default "YYY" if BR2_${ARCH}_YYY

    # And so on for all optimisation tunables

That way, all architecture-related settings are in the same file.

Quoted 2 lines

* One Config.in to source all those configuration files in the right order.

[--SNIP--]

arch/Config.in.arches line 2

Quoted 8 lines
arch/Config.in.arches new file +2 -0
new file mode 100644
index 0000000..21abe63
@@ -0,0 +1,129 @@
+config BR2_ARCH_IS_64
+       bool

I'd move this symbol to the other file arch/Config.in (in my proposal), where all other arch-describing symbols are defined.

arch/Config.in.arches line 11

Quoted 8 lines
arch/Config.in.arches new file +8 -0
+choice
+	prompt "Target Architecture"
+	default BR2_i386
+	help
+	  Select the target architecture family to build for.
+
+config BR2_arm
+	bool "ARM (little endian)"

Why not have 'select BR2_LE' and be done with that, plus (in your Config.in.common):

config BR2_BE
bool
config BR2_LE
bool
config BR2_ENDIANN
string
default "BIG" if BR2_BE
default "LITTLE" if BR2_LE

Then each architecture selects its endianness directly from this choice entry. As we provide endianness in the prompt, we already know _right here_ which endianness we're taliking about; no need to re-compute it later.

Besides, this mechanism is already used by the x86 to select support for the various mmx and sse stuff.

[--SNIP--]

arch/Config.in.arches line 102

Quoted 2 lines
arch/Config.in.arches new file +2 -0
+config BR2_sh64
+	bool "SuperH64"

I know the previous code did no do it, but maybe we're missing:

    select BR2_ARCH_IS_64

Not sure about the impact that would have, just noticed the discrepancy with x86_64, below.

[--SNIP--]

arch/Config.in.arches line 129

Quoted 3 lines
arch/Config.in.arches new file +3 -0
+config BR2_microblaze
+	bool
+	default y if BR2_microblazeel || BR2_microblazebe

I find it very strange that:
- ARM little is 'BR2_arm' MIPS little is 'mipsel'
- ARM big is 'BR2_armeb' MIPS big is 'mips'
but:
- Microblaze little is 'BR2_microblazeel'
- Microblaze big is 'BR2_microblazebe'

What I would propose is that the default or more common variant drops the endianness suffix. From the menuconfig, it seems to be 'little' the default (or at least the 'official' AXI default?), while the toolchain tupples seem to imply that microblaze-* is big, while microblazeel-* is little. Dang... What a mess.

Also, the suffix is not homogeneous: 'el' vs. 'be', while other archs use 'el' vs. 'eb'.

Yes, the code was like that before your changes. I just spoted this situation, and thought I'd suggest the improvements.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#12 lore raw

PATCH 4/4 Split target/Config.in.arch into multiple Config.in.* in arch/

In reply to Thomas Petazzoni

Thomas, All,

Quoted 2 lines · On Tuesday 04 September 2012 16:04:09 Thomas Petazzoni wrote:

target/Config.in.arch had become too long, and we want to remove the target/ directory. So let's move it to arch/ and split it this way:

Another comment I forgot:

[--SNIP--]

arch/Config.in.arm line 48

Quoted 3 lines
arch/Config.in.arm new file +3 -0
+config BR2_ARM_TYPE
+	string
+	default GENERIC_ARM	if BR2_generic_arm

Strings in Kconfig should be enclosed between double-quotes:
default "GENERIC_ARM" if BR2_generic_arm

In fact, consider this situation:

config GENERIC_ARM
string "blabla"
default "generic"

config BR2_ARM_TYPE
string
default GENERIC_ARM

Then 'defconfig' would give:

    GENERIC_ARM="generic"
    BR2_ARM_TYPE="generic"

And setting GENERIC_ARM to 'whatever' would give:

    GENERIC_ARM="whatever"
    BR2_ARM_TYPE="whatever"

The code currently works because there is no such symbol which name is one of our values. That's luck!

Maybe we could use this patch series to continue the cleanup...

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'