diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2018-05-25 13:36:17 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2018-05-25 21:16:12 +0200 |
commit | 08317fa541a10bd2e385479d73e99348cc2351dd (patch) | |
tree | a3b86ffff6c225c695c748bb417284768922acca | |
parent | ac941fcdd80d48404c91e8035a5836086f0a40ee (diff) |
rework hardware and C library settings
Make the menu system for configuration more intuitive.
First choose operating system, then hardware, starting with architecture.
Then choose either generic or a sample system. When choosing a sample be more strict
in case of MMU or Endianess selection, so a misconfiguration isn't possible.
Furthermore put a new top level menu for C library configuration and
add Binary format, Instruction set, version selection, float type and
any C library specific options.
Refactor the duplicate definition of Qemu system versatile and Synopsys NSIM.
78 files changed, 286 insertions, 378 deletions
@@ -18,14 +18,30 @@ source "target/config/Config.in.os" source "target/config/Config.in.hardware" source "target/config/Config.in.boards" source "target/config/Config.in.kernelfmt" + +menu "Hardware configuration" source "target/config/Config.in.arch" -source "target/config/Config.in.endian" source "target/config/Config.in.system" -source "target/config/Config.in.systemopts" source "target/config/Config.in.subsystem" source "target/config/Config.in.qemuopts" +source "target/config/Config.in.endian" +source "target/config/Config.in.mmu" source "target/config/Config.in.cpu" source "target/config/Config.in.addons" +endmenu + +menu "C Library configuration" + visible if (ADK_TARGET_OS_LINUX || ADK_TARGET_OS_WALDUX) && !ADK_APPLIANCE_TOOLCHAIN && !ADK_TARGET_CHOOSE_ARCH +source "target/config/Config.in.libc" +source "target/config/Config.in.threads" +source "target/config/Config.in.binfmt" +source "target/config/Config.in.instructions" +source "target/config/Config.in.fpu" +source "target/config/Config.in.float" +source "target/config/Config.in.abi" +source "target/config/Config.in.libs" +source "target/config/Config.in.uclibc-ng" +endmenu comment "After you saved your configuration once, you shouldn't change anything above" depends on (ADK_TARGET_OS_LINUX || ADK_TARGET_OS_WALDUX) && !ADK_APPLIANCE_TOOLCHAIN && !ADK_TARGET_CHOOSE_ARCH @@ -90,12 +106,6 @@ endmenu menu "Toolchain settings" visible if !ADK_TARGET_CHOOSE_ARCH -source "target/config/Config.in.archopts" -source "target/config/Config.in.fpu" -source "target/config/Config.in.float" -source "target/config/Config.in.binfmt" -source "target/config/Config.in.libc" -source "target/config/Config.in.abi" source "target/config/Config.in.binutils" source "target/config/Config.in.compiler" source "target/config/Config.in.gdb" diff --git a/mk/vars.mk b/mk/vars.mk index 96962fcce..64797537f 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -28,6 +28,9 @@ endif ifneq ($(ADK_TARGET_BINFMT),) ADK_SUFFIX:= $(ADK_SUFFIX)_$(ADK_TARGET_BINFMT) endif +ifeq ($(ADK_TARGET_WITH_MMU),) +ADK_SUFFIX:= $(ADK_SUFFIX)_nommu +endif # some global dirs BASE_DIR:= $(ADK_TOPDIR) diff --git a/package/busybox/Config.in.manual b/package/busybox/Config.in.manual index ab4928e48..a6437d0e8 100644 --- a/package/busybox/Config.in.manual +++ b/package/busybox/Config.in.manual @@ -13,7 +13,7 @@ config ADK_PACKAGE_BUSYBOX choice prompt "Choose predefined set of applets" depends on ADK_PACKAGE_BUSYBOX -default ADK_PACKAGE_BUSYBOX_MINIMAL if ADK_TARGET_WITHOUT_MMU +default ADK_PACKAGE_BUSYBOX_MINIMAL if ADK_TARGET_UCLINUX config ADK_PACKAGE_BUSYBOX_DEFAULT bool "activate standard set of applets" diff --git a/package/busybox/config/Config.in b/package/busybox/config/Config.in index fee58a930..868f0b9ff 100644 --- a/package/busybox/config/Config.in +++ b/package/busybox/config/Config.in @@ -529,8 +529,8 @@ config BUSYBOX_PIE config BUSYBOX_NOMMU bool "Force NOMMU build" - default y if ADK_TARGET_WITHOUT_MMU - default n + default n if ADK_TARGET_WITH_MMU + default y help Busybox tries to detect whether architecture it is being built against supports MMU or not. If this detection fails, diff --git a/target/aarch64/systems/qemu-aarch64 b/target/aarch64/systems/qemu-aarch64 index 8f8baa264..90407b32e 100644 --- a/target/aarch64/systems/qemu-aarch64 +++ b/target/aarch64/systems/qemu-aarch64 @@ -1,6 +1,6 @@ config ADK_TARGET_SYSTEM_QEMU_AARCH64 bool "Qemu Emulator" - depends on ADK_TARGET_LITTLE_ENDIAN + select ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_AARCH_CORTEX_A57 select ADK_TARGET_QEMU select ADK_TARGET_KERNEL_IMAGE diff --git a/target/aarch64/systems/raspberry-pi3-64 b/target/aarch64/systems/raspberry-pi3-64 index 03f1d755d..5a22f9284 100644 --- a/target/aarch64/systems/raspberry-pi3-64 +++ b/target/aarch64/systems/raspberry-pi3-64 @@ -1,6 +1,6 @@ config ADK_TARGET_SYSTEM_RASPBERRY_PI3_64 bool "Raspberry PI 3 (AARCH64)" - depends on ADK_TARGET_LITTLE_ENDIAN + select ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_AARCH64_CORTEX_A53 select ADK_TARGET_BOARD_BCM28XX select ADK_TARGET_WITH_VGA diff --git a/target/aarch64/systems/raspberry-pi3p-64 b/target/aarch64/systems/raspberry-pi3p-64 index 84bf13fff..cadae56dc 100644 --- a/target/aarch64/systems/raspberry-pi3p-64 +++ b/target/aarch64/systems/raspberry-pi3p-64 @@ -1,6 +1,6 @@ config ADK_TARGET_SYSTEM_RASPBERRY_PI3P_64 bool "Raspberry PI 3 Model B+ (AARCH64)" - depends on ADK_TARGET_LITTLE_ENDIAN + select ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_AARCH64_CORTEX_A53 select ADK_TARGET_BOARD_BCM28XX select ADK_TARGET_WITH_VGA diff --git a/target/arc/kernel/nsim-arcv1 b/target/arc/kernel/nsim-arcv1 deleted file mode 100644 index e13a1b63d..000000000 --- a/target/arc/kernel/nsim-arcv1 +++ /dev/null @@ -1,5 +0,0 @@ -CONFIG_ARC=y -CONFIG_ARC_PLAT_SIM=y -CONFIG_ISA_ARCOMPACT=y -CONFIG_ARC_CPU_770=y -CONFIG_ARC_BUILTIN_DTB_NAME="nsim_700" diff --git a/target/arc/kernel/nsim-arcv2 b/target/arc/kernel/nsim-arcv2 deleted file mode 100644 index 38fd1c27e..000000000 --- a/target/arc/kernel/nsim-arcv2 +++ /dev/null @@ -1,4 +0,0 @@ -CONFIG_ARC=y -CONFIG_ARC_PLAT_SIM=y -CONFIG_ISA_ARCV2=y -CONFIG_ARC_BUILTIN_DTB_NAME="nsim_hs" diff --git a/target/arc/kernel/synopsys-nsim b/target/arc/kernel/synopsys-nsim new file mode 100644 index 000000000..416867241 --- /dev/null +++ b/target/arc/kernel/synopsys-nsim @@ -0,0 +1,2 @@ +CONFIG_ARC=y +CONFIG_ARC_PLAT_SIM=y diff --git a/target/arc/systems/nsim-arcv1 b/target/arc/systems/nsim-arcv1 deleted file mode 100644 index 65706b24f..000000000 --- a/target/arc/systems/nsim-arcv1 +++ /dev/null @@ -1,9 +0,0 @@ -config ADK_TARGET_SYSTEM_NSIM_ARCV1 - bool "Synopsys NSIM Emulator (ARCv1)" - select ADK_TARGET_CPU_ARC_ARC700 - select ADK_TARGET_WITH_NET - select ADK_TARGET_WITH_SERIAL - select ADK_TARGET_KERNEL_WITH_COMPRESSION - help - Support for NSIM Emulator for ARCv1. - diff --git a/target/arc/systems/nsim-arcv2 b/target/arc/systems/nsim-arcv2 deleted file mode 100644 index c56b16c3a..000000000 --- a/target/arc/systems/nsim-arcv2 +++ /dev/null @@ -1,9 +0,0 @@ -config ADK_TARGET_SYSTEM_NSIM_ARCV2 - bool "Synopsys NSIM Emulator (ARCv2)" - select ADK_TARGET_CPU_ARC_ARC_HS - select ADK_TARGET_WITH_NET - select ADK_TARGET_WITH_SERIAL - select ADK_TARGET_KERNEL_WITH_COMPRESSION - help - Support for NSIM Emulator for ARCv2. - diff --git a/target/arc/systems/synopsys-nsim b/target/arc/systems/synopsys-nsim new file mode 100644 index 000000000..fe57e2642 --- /dev/null +++ b/target/arc/systems/synopsys-nsim @@ -0,0 +1,8 @@ +config ADK_TARGET_SYSTEM_SYNOPSYS_NSIM + bool "Synopsys NSIM Emulator" + select ADK_TARGET_WITH_NET + select ADK_TARGET_WITH_SERIAL + select ADK_TARGET_KERNEL_WITH_COMPRESSION + help + Support for Synopsys NSIM Emulator. + diff --git a/target/arm/Makefile b/target/arm/Makefile index 44eedd2cc..59b457d12 100644 --- a/target/arm/Makefile +++ b/target/arm/Makefile @@ -32,7 +32,7 @@ endif ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE),y) QEMU_ARGS+=-M realview-eb-mpcore -net user -net nic -dtb $(FW_DIR)/arm-realview-eb-11mp-ctrevb.dtb endif -ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB)$(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB_NOMMU),y) +ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB),y) QEMU_ARGS+=-M versatilepb -net user -net nic,model=smc91c111 -dtb $(FW_DIR)/versatile-pb.dtb endif ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9),y) @@ -176,7 +176,7 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE),y) env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \ arm-realview-eb-11mp-ctrevb.dtb $(MAKE_TRACE) endif -ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB)$(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB_NOMMU),y) +ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB),y) env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \ versatile-pb.dtb $(MAKE_TRACE) endif diff --git a/target/arm/kernel/qemu-arm-versatilepb b/target/arm/kernel/qemu-arm-versatilepb index 43e9620df..74717d283 100644 --- a/target/arm/kernel/qemu-arm-versatilepb +++ b/target/arm/kernel/qemu-arm-versatilepb @@ -1,6 +1,16 @@ CONFIG_ARM=y +CONFIG_ARM_SINGLE_ARCH_VERSATILE=y CONFIG_ARCH_VERSATILE=y -CONFIG_PCI_VERSATILE=y CONFIG_KUSER_HELPERS=y CONFIG_ATAGS=y CONFIG_USE_OF=y +CONFIG_SET_MEM_PARAM=y +CONFIG_DRAM_BASE=0x00000000 +CONFIG_DRAM_SIZE=0x08000000 +CONFIG_ARCH_VERSATILE_PB=y +CONFIG_MACH_VERSATILE_AB=y +CONFIG_PLAT_VERSATILE_CLOCK=y +CONFIG_PLAT_VERSATILE_SCHED_CLOCK=y +CONFIG_PLAT_VERSATILE=y +CONFIG_VECTORS_BASE=0x00000000 +CONFIG_PHYS_OFFSET=0x00000000 diff --git a/target/arm/kernel/qemu-arm-versatilepb-nommu b/target/arm/kernel/qemu-arm-versatilepb-nommu deleted file mode 100644 index 74717d283..000000000 --- a/target/arm/kernel/qemu-arm-versatilepb-nommu +++ /dev/null @@ -1,16 +0,0 @@ -CONFIG_ARM=y -CONFIG_ARM_SINGLE_ARCH_VERSATILE=y -CONFIG_ARCH_VERSATILE=y -CONFIG_KUSER_HELPERS=y -CONFIG_ATAGS=y -CONFIG_USE_OF=y -CONFIG_SET_MEM_PARAM=y -CONFIG_DRAM_BASE=0x00000000 -CONFIG_DRAM_SIZE=0x08000000 -CONFIG_ARCH_VERSATILE_PB=y -CONFIG_MACH_VERSATILE_AB=y -CONFIG_PLAT_VERSATILE_CLOCK=y -CONFIG_PLAT_VERSATILE_SCHED_CLOCK=y -CONFIG_PLAT_VERSATILE=y -CONFIG_VECTORS_BASE=0x00000000 -CONFIG_PHYS_OFFSET=0x00000000 diff --git a/target/arm/systems/banana-pro b/target/arm/systems/banana-pro index a29da767f..9af9ba68f 100644 --- a/target/arm/systems/banana-pro +++ b/target/arm/systems/banana-pro @@ -1,7 +1,7 @@ config ADK_TARGET_SYSTEM_BANANA_PRO bool "Banana Pro" depends on ADK_TARGET_OS_LINUX || ADK_TARGET_OS_WALDUX - depends on ADK_TARGET_LITTLE_ENDIAN + select ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_CORTEX_A7 select ADK_TARGET_CPU_WITH_NEON select ADK_TARGET_WITH_VGA diff --git a/target/arm/systems/beaglebone-black b/target/arm/systems/beaglebone-black index 222836b14..28102411f 100644 --- a/target/arm/systems/beaglebone-black +++ b/target/arm/systems/beaglebone-black @@ -1,7 +1,7 @@ config ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK bool "BeagleBone Black" depends on ADK_TARGET_OS_LINUX || ADK_TARGET_OS_WALDUX - depends on ADK_TARGET_LITTLE_ENDIAN + select ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_CORTEX_A8 select ADK_TARGET_CPU_WITH_NEON select ADK_TARGET_WITH_VGA diff --git a/target/arm/systems/kinetis-k70 b/target/arm/systems/kinetis-k70 index 8eee07c39..419bf6b23 100644 --- a/target/arm/systems/kinetis-k70 +++ b/target/arm/systems/kinetis-k70 @@ -1,7 +1,7 @@ config ADK_TARGET_SYSTEM_KINETIS_K70 bool "Kinetis K70" depends on ADK_TARGET_OS_LINUX || ADK_TARGET_OS_WALDUX - depends on ADK_TARGET_LITTLE_ENDIAN + select ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_CORTEX_M3 select ADK_TARGET_ARCH_ARM_WITH_THUMB select ADK_TARGET_WITH_SERIAL diff --git a/target/arm/systems/linksys-nslu2 b/target/arm/systems/linksys-nslu2 index 32e3b6ddb..65d9b1420 100644 --- a/target/arm/systems/linksys-nslu2 +++ b/target/arm/systems/linksys-nslu2 @@ -1,7 +1,7 @@ config ADK_TARGET_SYSTEM_LINKSYS_NSLU2 bool "Linksys NSLU2" depends on ADK_TARGET_OS_LINUX || ADK_TARGET_OS_WALDUX - depends on ADK_TARGET_BIG_ENDIAN + select ADK_TARGET_BIG_ENDIAN select ADK_TARGET_CPU_ARM_XSCALE select ADK_TARGET_WITH_USB select ADK_TARGET_WITH_PCI diff --git a/target/arm/systems/orange-pi0 b/target/arm/systems/orange-pi0 index f4b8cdc30..1ec19ecb4 100644 --- a/target/arm/systems/orange-pi0 +++ b/target/arm/systems/orange-pi0 @@ -1,7 +1,7 @@ config ADK_TARGET_SYSTEM_ORANGE_PI0 bool "Orange PI Zero" depends on ADK_TARGET_OS_LINUX || ADK_TARGET_OS_WALDUX - depends on ADK_TARGET_LITTLE_ENDIAN + select ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_CORTEX_A7 select ADK_TARGET_CPU_WITH_NEON select ADK_TARGET_WITH_SERIAL diff --git a/target/arm/systems/phytec-wega b/target/arm/systems/phytec-wega index 924f1f481..29b41a034 100644 --- a/target/arm/systems/phytec-wega +++ b/target/arm/systems/phytec-wega @@ -1,7 +1,7 @@ config ADK_TARGET_SYSTEM_PHYTEC_WEGA bool "Phytec Wega" depends on ADK_TARGET_OS_LINUX || ADK_TARGET_OS_WALDUX - depends on ADK_TARGET_LITTLE_ENDIAN + select ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_CORTEX_A8 select ADK_TARGET_WITH_VGA select ADK_TARGET_WITH_SERIAL diff --git a/target/arm/systems/qemu-arm-lm3s6965evb b/target/arm/systems/qemu-arm-lm3s6965evb index c204006b5..a567034cd 100644 --- a/target/arm/systems/qemu-arm-lm3s6965evb +++ b/target/arm/systems/qemu-arm-lm3s6965evb @@ -1,7 +1,7 @@ config ADK_TARGET_SYSTEM_QEMU_ARM_LM3S6965EVB bool "Qemu Emulator (lm3s6965evb)" depends on ADK_TARGET_OS_FROSTED - depends on ADK_TARGET_LITTLE_ENDIAN + select ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_CORTEX_M3 select ADK_TARGET_ARCH_ARM_WITH_THUMB select ADK_TARGET_QEMU diff --git a/target/arm/systems/qemu-arm-realview-eb-mpcore b/target/arm/systems/qemu-arm-realview-eb-mpcore index 0633ef43d..abf23cab6 100644 --- a/target/arm/systems/qemu-arm-realview-eb-mpcore +++ b/target/arm/systems/qemu-arm-realview-eb-mpcore @@ -1,7 +1,7 @@ config ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE bool "Qemu Emulator (Realview/EB-Mpcore)" depends on ADK_TARGET_OS_LINUX || ADK_TARGET_OS_WALDUX - depends on ADK_TARGET_LITTLE_ENDIAN + select ADK_TARGET_LITTLE_ENDIAN select ADK_TARGET_CPU_ARM_ARM11MPCORE select ADK_TARGET_QEMU select ADK_TARGET_WITH_SMP diff --git a/target/arm/systems/qemu-arm-spitz b/target/arm/systems/qemu-arm-spitz index 8d19c66d3..3eb9564de 100644 --- a/target/arm/systems/qemu-arm-spitz +++ b/target/arm/systems/qemu-arm-spitz @@ -1,7 +1,7 @@ confi |