From 324cd15f65c1ff4be20d83754b6d0bad9837ad79 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 15 Jun 2015 14:10:33 -0500 Subject: add support for m68k q800 emulation (experimental) --- target/config/Config.in.kernel | 3 ++- target/config/Config.in.qemu | 16 ++++++++++++++++ target/linux/config/Config.in.ethernet | 11 +++++++++-- target/linux/config/Config.in.serial | 16 ++++++++++++++++ target/m68k/Makefile | 6 ++++++ target/m68k/kernel/qemu-m68k | 20 -------------------- target/m68k/kernel/qemu-m68k-mcf5208 | 20 ++++++++++++++++++++ target/m68k/systems/qemu-m68k | 5 +---- 8 files changed, 70 insertions(+), 27 deletions(-) delete mode 100644 target/m68k/kernel/qemu-m68k create mode 100644 target/m68k/kernel/qemu-m68k-mcf5208 (limited to 'target') diff --git a/target/config/Config.in.kernel b/target/config/Config.in.kernel index decd0cba4..88da6de09 100644 --- a/target/config/Config.in.kernel +++ b/target/config/Config.in.kernel @@ -57,7 +57,6 @@ 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 @@ -80,3 +79,5 @@ config ADK_TARGET_KERNEL_MINICONFIG default "pcengines-alix" if ADK_TARGET_SYSTEM_PCENGINES_ALIX default "sim-bfin" if ADK_TARGET_SYSTEM_SIM_BFIN default "sim-h8300h" if ADK_TARGET_SYSTEM_SIM_H8300H + default "qemu-m68k-mcf5208" if ADK_TARGET_QEMU_M68K_MCF5208 + default "qemu-m68k-q800" if ADK_TARGET_QEMU_M68K_Q800 diff --git a/target/config/Config.in.qemu b/target/config/Config.in.qemu index adcf30569..f47f5fa62 100644 --- a/target/config/Config.in.qemu +++ b/target/config/Config.in.qemu @@ -17,6 +17,22 @@ config ADK_TARGET_QEMU_PPC_MACPPC endchoice +choice +prompt "Qemu M68K Emulation" +depends on ADK_TARGET_SYSTEM_QEMU_M68K + +config ADK_TARGET_QEMU_M68K_Q800 + bool "M68K Q800" + select ADK_CPU_68040 + +config ADK_TARGET_QEMU_M68K_MCF5208 + bool "Coldfire MCF5208" + select ADK_CPU_CF_5208 + select ADK_TARGET_BINFMT_FLAT + select ADK_TARGET_UCLINUX + +endchoice + choice prompt "Qemu MICROBLAZE Emulation" depends on ADK_TARGET_SYSTEM_QEMU_MICROBLAZE diff --git a/target/linux/config/Config.in.ethernet b/target/linux/config/Config.in.ethernet index 17d84b7b0..4aeb0010e 100644 --- a/target/linux/config/Config.in.ethernet +++ b/target/linux/config/Config.in.ethernet @@ -64,9 +64,9 @@ config ADK_KERNEL_FEC select ADK_KERNEL_NET_VENDOR_FREESCALE select ADK_KERNEL_AT803X_PHY depends on ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 || \ - ADK_TARGET_SYSTEM_QEMU_M68K + ADK_TARGET_QEMU_M68K_MCF5208 default y if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 - default y if ADK_TARGET_SYSTEM_QEMU_M68K + default y if ADK_TARGET_QEMU_M68K_MCF5208 default n help FEC ethernet driver @@ -279,4 +279,11 @@ config ADK_KERNEL_ETRAX_ETHERNET default y if ADK_TARGET_ARCH_CRIS default n +config ADK_KERNEL_MACSONIC + bool "MAC sonic ethernet driver" + select ADK_KERNEL_NET_VENDOR_NATSEMI + depends on ADK_TARGET_QEMU_M68K_Q800 + default y if ADK_TARGET_QEMU_M68K_Q800 + default n + endmenu diff --git a/target/linux/config/Config.in.serial b/target/linux/config/Config.in.serial index ceba7c5c3..f88b05efb 100644 --- a/target/linux/config/Config.in.serial +++ b/target/linux/config/Config.in.serial @@ -10,6 +10,12 @@ config ADK_KERNEL_SERIAL_OF_PLATFORM config ADK_KERNEL_SERIAL_ETRAXFS_CONSOLE bool +config ADK_KERNEL_SERIAL_PMACZILOG_TTYS + bool + +config ADK_KERNEL_SERIAL_PMACZILOG_CONSOLE + bool + config ADK_KERNEL_SERIAL_ETRAXFS bool "ETRAXFS serial driver" select ADK_KERNEL_SERIAL_ETRAXFS_CONSOLE @@ -29,4 +35,14 @@ config ADK_KERNEL_SERIAL_8250 help Serial driver for 8250 UART chip. +config ADK_KERNEL_SERIAL_PMACZILOG + bool "pmac serial driver" + select ADK_KERNEL_SERIAL_PMACZILOG_TTYS + select ADK_KERNEL_SERIAL_PMACZILOG_CONSOLE + depends on ADK_TARGET_QEMU_M68K_Q800 + default y if ADK_TARGET_QEMU_M68K_Q800 + default n + help + Serial driver for PMAC Q800 M68K. + endmenu diff --git a/target/m68k/Makefile b/target/m68k/Makefile index 8e64dc764..2d6e08d75 100644 --- a/target/m68k/Makefile +++ b/target/m68k/Makefile @@ -8,8 +8,14 @@ include $(ADK_TOPDIR)/mk/kernel-build.mk include $(ADK_TOPDIR)/mk/image.mk KERNEL:=$(LINUX_DIR)/vmlinux + QEMU_ARGS:=${ADK_QEMU_ARGS} +ifeq ($(ADK_TARGET_QEMU_M68K_Q800),y) +QEMU_ARGS+=-M q800 +endif +ifeq ($(ADK_TARGET_QEMU_M68K_MCF5208),y) QEMU_ARGS+=-M mcf5208evb -cpu m5208 +endif # target helper text ifeq ($(ADK_TARGET_FS),archive) diff --git a/target/m68k/kernel/qemu-m68k b/target/m68k/kernel/qemu-m68k deleted file mode 100644 index 3caa5323b..000000000 --- a/target/m68k/kernel/qemu-m68k +++ /dev/null @@ -1,20 +0,0 @@ -CONFIG_M68K=y -CONFIG_COLDFIRE=y -CONFIG_M520x=y -CONFIG_CLOCK_SET=y -CONFIG_CLOCK_FREQ=66666666 -CONFIG_CLOCK_DIV=1 -CONFIG_M5208EVB=y -CONFIG_FREESCALE=y -CONFIG_RAMBASE=0x40000000 -CONFIG_RAMSIZE=0x0 -CONFIG_VECTORBASE=0x40000000 -CONFIG_KERNELBASE=0x40020000 -CONFIG_4KSTACKS=y -CONFIG_RAMKERNEL=y -CONFIG_BINFMT_FLAT=y -CONFIG_SERIAL_MCF=y -CONFIG_SERIAL_MCF_BAUDRATE=115200 -CONFIG_SERIAL_MCF_CONSOLE=y -CONFIG_BOOTPARAM=y -CONFIG_BOOTPARAM_STRING="console=ttyS0,115200" diff --git a/target/m68k/kernel/qemu-m68k-mcf5208 b/target/m68k/kernel/qemu-m68k-mcf5208 new file mode 100644 index 000000000..3caa5323b --- /dev/null +++ b/target/m68k/kernel/qemu-m68k-mcf5208 @@ -0,0 +1,20 @@ +CONFIG_M68K=y +CONFIG_COLDFIRE=y +CONFIG_M520x=y +CONFIG_CLOCK_SET=y +CONFIG_CLOCK_FREQ=66666666 +CONFIG_CLOCK_DIV=1 +CONFIG_M5208EVB=y +CONFIG_FREESCALE=y +CONFIG_RAMBASE=0x40000000 +CONFIG_RAMSIZE=0x0 +CONFIG_VECTORBASE=0x40000000 +CONFIG_KERNELBASE=0x40020000 +CONFIG_4KSTACKS=y +CONFIG_RAMKERNEL=y +CONFIG_BINFMT_FLAT=y +CONFIG_SERIAL_MCF=y +CONFIG_SERIAL_MCF_BAUDRATE=115200 +CONFIG_SERIAL_MCF_CONSOLE=y +CONFIG_BOOTPARAM=y +CONFIG_BOOTPARAM_STRING="console=ttyS0,115200" diff --git a/target/m68k/systems/qemu-m68k b/target/m68k/systems/qemu-m68k index a8f35ee3b..66f20b587 100644 --- a/target/m68k/systems/qemu-m68k +++ b/target/m68k/systems/qemu-m68k @@ -1,10 +1,7 @@ config ADK_TARGET_SYSTEM_QEMU_M68K bool "Qemu M68K" - select ADK_CPU_CF_5208 - select ADK_TARGET_UCLINUX select ADK_TARGET_QEMU - select ADK_TARGET_BINFMT_FLAT select ADK_TARGET_KERNEL_ZIMAGE help - Support for Qemu Emulator M68K/Coldfire without MMU. + Support for Qemu Emulator M68K/Coldfire. -- cgit v1.2.3