summaryrefslogtreecommitdiff
path: root/target/config
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-07-28 10:14:40 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2014-07-28 10:25:06 +0200
commitc43854da4d87c25f54cce20ad188a6877dc15f71 (patch)
tree2fce408ef916b6c205e3f74a5ce2c1b0fc969beb /target/config
parent86e450dac4a6d50ebda79f80081525462d1bb68b (diff)
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 <wbx@openadk.org>
Diffstat (limited to 'target/config')
-rw-r--r--target/config/Config.in4
-rw-r--r--target/config/Config.in.cpu3
-rw-r--r--target/config/Config.in.kernel1
-rw-r--r--target/config/Config.in.libc.choice2
-rw-r--r--target/config/Config.in.libc.default2
-rw-r--r--target/config/Config.in.runtime14
-rw-r--r--target/config/Config.in.target1
-rw-r--r--target/config/Config.in.toolchain1
8 files changed, 26 insertions, 2 deletions
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