Remove Xtensa architecture and target/ directory
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-installThanks,
Signature · 1 line
Thomas Petazzoni
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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -1 +0,0 @@ -/busybox-config
target/xtensa/Makefile.in deleted +0 -1
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
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.Signed-off-by Thomas Petazzoni <[email protected]>
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. | '------------------------------^-------^------------------^--------------------'
PATCH 1/4 Remove the Xtensa architecture
In reply to Thomas PetazzoniQuoted 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
PATCH 2/4 New top-level directory: system
In reply to Thomas PetazzoniThis 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
@@ -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
@@ -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
@@ -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
system/device_table_dev.txt renamed from target/generic/device_table_dev.txt +0 -0
system/skeleton/bin/.empty renamed from fs/skeleton/bin/.empty +0 -0
system/skeleton/dev/log renamed from fs/skeleton/dev/log +0 -0
system/skeleton/dev/pts/.empty renamed from fs/skeleton/dev/pts/.empty +0 -0
system/skeleton/etc/TZ renamed from fs/skeleton/etc/TZ +0 -0
system/skeleton/etc/fstab renamed from fs/skeleton/etc/fstab +0 -0
system/skeleton/etc/group renamed from fs/skeleton/etc/group +0 -0
system/skeleton/etc/hostname renamed from fs/skeleton/etc/hostname +0 -0
system/skeleton/etc/hosts renamed from fs/skeleton/etc/hosts +0 -0
system/skeleton/etc/init.d/S20urandom renamed from fs/skeleton/etc/init.d/S20urandom +0 -0
system/skeleton/etc/init.d/S40network renamed from fs/skeleton/etc/init.d/S40network +0 -0
system/skeleton/etc/init.d/rcK renamed from fs/skeleton/etc/init.d/rcK +0 -0
system/skeleton/etc/init.d/rcS renamed from fs/skeleton/etc/init.d/rcS +0 -0
system/skeleton/etc/inittab renamed from fs/skeleton/etc/inittab +0 -0
system/skeleton/etc/inputrc renamed from fs/skeleton/etc/inputrc +0 -0
system/skeleton/etc/issue renamed from fs/skeleton/etc/issue +0 -0
system/skeleton/etc/ld.so.conf.d/.empty renamed from fs/skeleton/etc/ld.so.conf.d/.empty +0 -0
system/skeleton/etc/mtab renamed from fs/skeleton/etc/mtab +0 -0
system/skeleton/etc/network/if-down.d/.empty renamed from fs/skeleton/etc/network/if-down.d/.empty +0 -0
system/skeleton/etc/network/if-post-down.d/.empty renamed from fs/skeleton/etc/network/if-post-down.d/.empty +0 -0
system/skeleton/etc/network/if-pre-up.d/.empty renamed from fs/skeleton/etc/network/if-pre-up.d/.empty +0 -0
system/skeleton/etc/network/if-up.d/.empty renamed from fs/skeleton/etc/network/if-up.d/.empty +0 -0
system/skeleton/etc/network/interfaces renamed from fs/skeleton/etc/network/interfaces +0 -0
system/skeleton/etc/passwd renamed from fs/skeleton/etc/passwd +0 -0
system/skeleton/etc/profile renamed from fs/skeleton/etc/profile +0 -0
system/skeleton/etc/protocols renamed from fs/skeleton/etc/protocols +0 -0
system/skeleton/etc/random-seed renamed from fs/skeleton/etc/random-seed +0 -0
system/skeleton/etc/resolv.conf renamed from fs/skeleton/etc/resolv.conf +0 -0
system/skeleton/etc/securetty renamed from fs/skeleton/etc/securetty +0 -0
system/skeleton/etc/services renamed from fs/skeleton/etc/services +0 -0
system/skeleton/etc/shadow renamed from fs/skeleton/etc/shadow +0 -0
system/skeleton/home/ftp/.empty renamed from fs/skeleton/home/ftp/.empty +0 -0
system/skeleton/lib/.empty renamed from fs/skeleton/lib/.empty +0 -0
system/skeleton/media/.empty renamed from fs/skeleton/media/.empty +0 -0
system/skeleton/mnt/.empty renamed from fs/skeleton/mnt/.empty +0 -0
system/skeleton/opt/.empty renamed from fs/skeleton/opt/.empty +0 -0
system/skeleton/proc/.empty renamed from fs/skeleton/proc/.empty +0 -0
system/skeleton/root/.bash_history renamed from fs/skeleton/root/.bash_history +0 -0
system/skeleton/root/.bash_logout renamed from fs/skeleton/root/.bash_logout +0 -0
system/skeleton/root/.bash_profile renamed from fs/skeleton/root/.bash_profile +0 -0
system/skeleton/root/.empty renamed from fs/skeleton/root/.empty +0 -0
system/skeleton/run renamed from fs/skeleton/run +0 -0
system/skeleton/sbin/.empty renamed from fs/skeleton/sbin/.empty +0 -0
system/skeleton/sys/.empty renamed from fs/skeleton/sys/.empty +0 -0
system/skeleton/tmp/.empty renamed from fs/skeleton/tmp/.empty +0 -0
system/skeleton/usr/bin/.empty renamed from fs/skeleton/usr/bin/.empty +0 -0
system/skeleton/usr/lib/.empty renamed from fs/skeleton/usr/lib/.empty +0 -0
system/skeleton/usr/sbin/.empty renamed from fs/skeleton/usr/sbin/.empty +0 -0
system/skeleton/var/cache renamed from fs/skeleton/var/cache +0 -0
system/skeleton/var/lib/misc renamed from fs/skeleton/var/lib/misc +0 -0
system/skeleton/var/lib/pcmcia renamed from fs/skeleton/var/lib/pcmcia +0 -0
system/skeleton/var/lock renamed from fs/skeleton/var/lock +0 -0
system/skeleton/var/log renamed from fs/skeleton/var/log +0 -0
system/skeleton/var/pcmcia renamed from fs/skeleton/var/pcmcia +0 -0
system/skeleton/var/run renamed from fs/skeleton/var/run +0 -0
system/skeleton/var/spool renamed from fs/skeleton/var/spool +0 -0
system/skeleton/var/tmp renamed from fs/skeleton/var/tmp +0 -0
system/system.mk renamed from target/generic/Makefile.in +0 -0
Signature · 1 line
1.7.9.5
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 optionsEven 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 intofs/. 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
Signed-off-by Thomas Petazzoni <[email protected]>
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. | '------------------------------^-------^------------------^--------------------'
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 intofs/. 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
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
@@ -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
@@ -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
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:
Signed-off-by Thomas Petazzoni <[email protected]>--- Makefile | 1 - target/Makefile.in | 3 --- 2 files changed, 4 deletions(-) delete mode 100644 target/Makefile.inMakefile +0
-1@@ -314,7 +314,6 @@ endif include package/*/*.mk include boot/common.mk -include target/Makefile.in include linux/linux.mk TARGETS+=target-finalizetarget/Makefile.in deleted +0
-0
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. | '------------------------------^-------^------------------^--------------------'
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
PATCH 4/4 Split target/Config.in.arch into multiple Config.in.* in arch/
In reply to Thomas Petazzonitarget/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
@@ -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
@@ -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
@@ -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
@@ -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
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 tunablesThat 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@@ -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. | '------------------------------^-------^------------------^--------------------'
PATCH 4/4 Split target/Config.in.arch into multiple Config.in.* in arch/
In reply to Thomas PetazzoniThomas, 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. | '------------------------------^-------^------------------^--------------------'