summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-08-13 17:45:22 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2014-08-14 08:33:52 +0200
commit9cccc249d31d3b6a206c63eaea0f50bafbc73bc3 (patch)
treed40f3b80a6810241740d116d520154a04a2b8a58
parent1c698117789ea48479e3efd7106096382201d744 (diff)
first boot in qemu works now.
-rw-r--r--target/linux/config/Config.in.ethernet4
-rw-r--r--target/linux/patches/3.16/qemu-coldfire.patch24
-rw-r--r--target/m68k/kernel/qemu-m68k17
3 files changed, 39 insertions, 6 deletions
diff --git a/target/linux/config/Config.in.ethernet b/target/linux/config/Config.in.ethernet
index daf88ba44..94aa11b34 100644
--- a/target/linux/config/Config.in.ethernet
+++ b/target/linux/config/Config.in.ethernet
@@ -58,8 +58,10 @@ config ADK_KERNEL_FEC
tristate
select ADK_KERNEL_NET_VENDOR_FREESCALE
select ADK_KERNEL_AT803X_PHY
- depends on ADK_TARGET_SYSTEM_CUBOX_I
+ depends on ADK_TARGET_SYSTEM_CUBOX_I || \
+ ADK_TARGET_SYSTEM_QEMU_M68K
default y if ADK_TARGET_SYSTEM_CUBOX_I
+ default y if ADK_TARGET_SYSTEM_QEMU_M68K
default n
help
FEC ethernet driver
diff --git a/target/linux/patches/3.16/qemu-coldfire.patch b/target/linux/patches/3.16/qemu-coldfire.patch
new file mode 100644
index 000000000..503fe8ef3
--- /dev/null
+++ b/target/linux/patches/3.16/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 f9fbf383e..2b0e53ad4 100644
--- a/target/m68k/kernel/qemu-m68k
+++ b/target/m68k/kernel/qemu-m68k
@@ -3,14 +3,21 @@ CONFIG_COLDFIRE=y
CONFIG_M520x=y
# CONFIG_MMU is not set
CONFIG_CLOCK_SET=y
-CONFIG_CLOCK_FREQ=166666666
+CONFIG_CLOCK_FREQ=66666666
+CONFIG_CLOCK_DIV=1
CONFIG_M5208EVB=y
+CONFIG_FREESCALE=y
+CONFIG_LARGE_ALLOCS=y
+CONFIG_4KSTACKS=y
CONFIG_RAMBASE=0x40000000
-CONFIG_RAMSIZE=0x2000000
+CONFIG_RAMSIZE=0x0
CONFIG_VECTORBASE=0x40000000
-CONFIG_KERNELBASE=0x40020000
+CONFIG_KERNELBASE=0x40010000
+CONFIG_RAMAUTOBIT=y
CONFIG_BINFMT_FLAT=y
+CONFIG_SERIAL_COLDFIRE=y
CONFIG_SERIAL_MCF=y
-CONFIG_SERIAL_MCF_BAUDRATE=115200
+CONFIG_SERIAL_MCF_BAUDRATE=19200
CONFIG_SERIAL_MCF_CONSOLE=y
-
+CONFIG_BOOTPARAM=y
+CONFIG_BOOTPARAM_STRING="console=ttyS0,19200"