From c43854da4d87c25f54cce20ad188a6877dc15f71 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 28 Jul 2014 10:14:40 +0200 Subject: add some basic infrastructure for qemu-system-m68k Qemu emulates a Coldfire Evaluation board without MMU. As that is the first non-MMU platform in OpenADK I added ADK_TARGET_UCLINUX. Mksh can not be used for non-MMU, because it requires fork() for job control and other things. We use hush here. non-MMU support in uClibc does not have shared library support. Kernel does not start yet. So no runtime testing, but at least coldfire toolchain can be tested with uClibc-ng. Signed-off-by: Waldemar Brodkorb --- target/config/Config.in | 4 ++++ target/config/Config.in.cpu | 3 +++ target/config/Config.in.kernel | 1 + target/config/Config.in.libc.choice | 2 ++ target/config/Config.in.libc.default | 2 -- target/config/Config.in.runtime | 14 ++++++++++++++ target/config/Config.in.target | 1 + target/config/Config.in.toolchain | 1 + 8 files changed, 26 insertions(+), 2 deletions(-) (limited to 'target/config') diff --git a/target/config/Config.in b/target/config/Config.in index 5187c9bac..38f8090dd 100644 --- a/target/config/Config.in +++ b/target/config/Config.in @@ -14,6 +14,10 @@ config ADK_TOOLCHAIN_ONLY config ADK_TARGET_TOOLCHAIN boolean +config ADK_TARGET_UCLINUX + select ADK_TARGET_USE_STATIC_LIBS + boolean + config ADK_TARGET_QEMU boolean diff --git a/target/config/Config.in.cpu b/target/config/Config.in.cpu index 3ab984484..ed612b9df 100644 --- a/target/config/Config.in.cpu +++ b/target/config/Config.in.cpu @@ -107,6 +107,9 @@ config ADK_CPU_CORTEX_A9 config ADK_CPU_ARMV8 boolean +config ADK_CPU_CF_5208 + boolean + config ADK_TARGET_CPU_ARCH string default "aarch64" if ADK_LINUX_AARCH64 && ADK_little diff --git a/target/config/Config.in.kernel b/target/config/Config.in.kernel index 28d8ef276..94b5dfefb 100644 --- a/target/config/Config.in.kernel +++ b/target/config/Config.in.kernel @@ -52,6 +52,7 @@ config ADK_TARGET_KERNEL_MINICONFIG default "qemu-x86_64" if ADK_TARGET_SYSTEM_QEMU_X86_64 default "qemu-xtensa" if ADK_TARGET_SYSTEM_QEMU_XTENSA default "qemu-alpha" if ADK_TARGET_SYSTEM_QEMU_ALPHA + default "qemu-m68k" if ADK_TARGET_SYSTEM_QEMU_M68K default "aranym-m68k" if ADK_TARGET_SYSTEM_ARANYM_M68K default "vbox-x86" if ADK_TARGET_SYSTEM_VBOX_X86 default "ibm-x40" if ADK_TARGET_SYSTEM_IBM_X40 diff --git a/target/config/Config.in.libc.choice b/target/config/Config.in.libc.choice index 41905898c..e95e48e96 100644 --- a/target/config/Config.in.libc.choice +++ b/target/config/Config.in.libc.choice @@ -23,6 +23,7 @@ config ADK_TARGET_LIB_MUSL prompt "musl C library" boolean select ADK_musl + depends on !ADK_TARGET_UCLINUX depends on \ ADK_LINUX_ARM || \ ADK_LINUX_MICROBLAZE || \ @@ -39,6 +40,7 @@ config ADK_TARGET_LIB_GLIBC boolean select ADK_glibc depends on !ADK_LINUX_XTENSA + depends on !ADK_TARGET_UCLINUX help http://www.gnu.org/libc diff --git a/target/config/Config.in.libc.default b/target/config/Config.in.libc.default index cd160a4cb..6d094cf05 100644 --- a/target/config/Config.in.libc.default +++ b/target/config/Config.in.libc.default @@ -23,9 +23,7 @@ config ADK_TARGET_LIBC config ADK_TARGET_WITH_NPTL boolean default n if ADK_TARGET_LIB_UCLIBC_NG && ADK_LINUX_M68K - default n if ADK_TARGET_LIB_UCLIBC_NG && ADK_LINUX_MICROBLAZE default n if ADK_TARGET_LIB_UCLIBC && ADK_LINUX_M68K - default n if ADK_TARGET_LIB_UCLIBC && ADK_LINUX_MICROBLAZE default y config ADK_TARGET_SUFFIX diff --git a/target/config/Config.in.runtime b/target/config/Config.in.runtime index b7bc2462d..1f70460e8 100644 --- a/target/config/Config.in.runtime +++ b/target/config/Config.in.runtime @@ -150,6 +150,7 @@ config ADK_RUNTIME_KBD_LAYOUT choice prompt "initial login shell for the root user" +default ADK_ROOTSH_HUSH if ADK_TARGET_UCLINUX default ADK_ROOTSH_MKSH config ADK_ROOTSH_MKSH @@ -159,6 +160,12 @@ config ADK_ROOTSH_MKSH Use mksh (a Korn Shell variant) as standard login shell for the superuser. +config ADK_ROOTSH_HUSH + select ADK_PACKAGE_HUSH if !ADK_TOOLCHAIN_ONLY + bool "hush (Shell compatible with non-MMU systems)" + help + hush shell from busybox. + config ADK_ROOTSH_ASH select BUSYBOX_ASH bool "ash (busybox)" @@ -190,6 +197,7 @@ endchoice choice prompt "system /bin/sh (POSIX script shell)" +default ADK_BINSH_HUSH if ADK_TARGET_UCLINUX default ADK_BINSH_MKSH config ADK_BINSH_MKSH @@ -199,6 +207,12 @@ config ADK_BINSH_MKSH Use mksh (a Korn Shell variant) as system shell, which is both small and powerful, so quite suited for this task. +config ADK_BINSH_HUSH + select ADK_PACKAGE_HUSH if !ADK_TOOLCHAIN_ONLY + bool "hush (busybox)" + help + hush shell. + config ADK_BINSH_ASH select BUSYBOX_ASH bool "ash (busybox)" diff --git a/target/config/Config.in.target b/target/config/Config.in.target index 6887df312..d0ed59bfe 100644 --- a/target/config/Config.in.target +++ b/target/config/Config.in.target @@ -3,6 +3,7 @@ config ADK_TARGET_CFLAGS string + default "-march=isaaplus -mcpu=5208" if ADK_CPU_CF_5208 default "-mcpu=v7.10.d" if ADK_CPU_MICROBLAZE default "-m4 -ml" if ADK_CPU_SH4 && ADK_little default "-m4 -mb" if ADK_CPU_SH4 && ADK_big diff --git a/target/config/Config.in.toolchain b/target/config/Config.in.toolchain index bda929a88..9a799d72c 100644 --- a/target/config/Config.in.toolchain +++ b/target/config/Config.in.toolchain @@ -128,6 +128,7 @@ config ADK_DEBUG_STRIP config ADK_TARGET_USE_STATIC_LIBS bool "Link applications statically by default" default n + default y if ADK_TARGET_UCLINUX select BUSYBOX_STATIC help Useful for debugging of dynamic linker problems. Be aware of the fact, that uClibc and glibc -- cgit v1.2.3