summaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-08-14 15:55:45 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2014-08-14 15:56:05 +0200
commitbbf5aaee18aac559ffb379c2e25ed94b3c753d2f (patch)
tree158b4940df05e59733b609d4881865380458a63b /target
parent09bc9a7f29e1f5642f8ef96ae78f6ee392053598 (diff)
add elf2flt, use it for m68k-nommu. bootup in qemu still fails.
Diffstat (limited to 'target')
-rw-r--r--target/config/Config.in.target3
-rw-r--r--target/linux/patches/3.15.8/qemu-coldfire.patch24
-rw-r--r--target/m68k/kernel/qemu-m68k3
-rw-r--r--target/m68k/systems/qemu-m68k1
4 files changed, 30 insertions, 1 deletions
diff --git a/target/config/Config.in.target b/target/config/Config.in.target
index a4a598839..3abb99b9e 100644
--- a/target/config/Config.in.target
+++ b/target/config/Config.in.target
@@ -283,6 +283,9 @@ config ADK_TARGET_PACKAGE_IPKG
endchoice
+config ADK_TARGET_BINFMT_FLAT
+ boolean
+
choice
prompt "Target GPU Memory"
depends on ADK_TARGET_SYSTEM_RASPBERRY_PI
diff --git a/target/linux/patches/3.15.8/qemu-coldfire.patch b/target/linux/patches/3.15.8/qemu-coldfire.patch
new file mode 100644
index 000000000..503fe8ef3
--- /dev/null
+++ b/target/linux/patches/3.15.8/qemu-coldfire.patch
@@ -0,0 +1,24 @@
+m68k: enabled software emulation of separate supervisor/user stack
+
+Recent Coldfires have separate supervisor and user stack pointers, but
+since older Coldfires didn't have that, the Linux kernel has a kind of
+emulation mechanism for those pointers.
+
+Apparently, according to the Kconfig.cpu file, the 5208 is supposed to
+support such separate pointers, but Qemu doesn't implement it. So we
+cheat a bit here and force the usage of emulated separate stack
+pointers.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+
+diff -Nur linux-3.16.orig/arch/m68k/Kconfig.cpu linux-3.16/arch/m68k/Kconfig.cpu
+--- linux-3.16.orig/arch/m68k/Kconfig.cpu 2014-08-04 00:25:02.000000000 +0200
++++ linux-3.16/arch/m68k/Kconfig.cpu 2014-08-13 16:58:59.568332805 +0200
+@@ -146,6 +146,7 @@
+ depends on !MMU
+ select GENERIC_CLOCKEVENTS
+ select HAVE_CACHE_SPLIT
++ select COLDFIRE_SW_A7
+ help
+ Freescale Coldfire 5207/5208 processor support.
+
diff --git a/target/m68k/kernel/qemu-m68k b/target/m68k/kernel/qemu-m68k
index 2b0e53ad4..613653648 100644
--- a/target/m68k/kernel/qemu-m68k
+++ b/target/m68k/kernel/qemu-m68k
@@ -15,7 +15,8 @@ CONFIG_VECTORBASE=0x40000000
CONFIG_KERNELBASE=0x40010000
CONFIG_RAMAUTOBIT=y
CONFIG_BINFMT_FLAT=y
-CONFIG_SERIAL_COLDFIRE=y
+CONFIG_BINFMT_ZFLAT=y
+CONFIG_BINFMT_SHARED_FLAT=y
CONFIG_SERIAL_MCF=y
CONFIG_SERIAL_MCF_BAUDRATE=19200
CONFIG_SERIAL_MCF_CONSOLE=y
diff --git a/target/m68k/systems/qemu-m68k b/target/m68k/systems/qemu-m68k
index 7e381be99..c32089209 100644
--- a/target/m68k/systems/qemu-m68k
+++ b/target/m68k/systems/qemu-m68k
@@ -5,6 +5,7 @@ config ADK_TARGET_SYSTEM_QEMU_M68K
select ADK_CPU_CF_5208
select ADK_TARGET_QEMU
select ADK_TARGET_UCLINUX
+ select ADK_TARGET_BINFMT_FLAT
select ADK_TARGET_KERNEL_ZIMAGE
help
Support for Qemu Emulator M68K/Coldfire without MMU.