summaryrefslogtreecommitdiff
path: root/target/cris
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2015-05-16 16:36:07 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2015-05-16 18:40:45 +0200
commit500b13fb564e7e44ee2d8bbffe6d03adb68bb401 (patch)
tree5770d8dbe031f0c54e3ef3b57029a1935f7903e3 /target/cris
parent524958a0e7311f7b236c650738f74bf0f30c9388 (diff)
add basic infrastructure for qemu-cris support
Diffstat (limited to 'target/cris')
-rw-r--r--target/cris/Makefile47
-rw-r--r--target/cris/kernel/qemu-cris6
-rw-r--r--target/cris/systems/qemu-cris8
-rw-r--r--target/cris/systems/toolchain-cris1
4 files changed, 61 insertions, 1 deletions
diff --git a/target/cris/Makefile b/target/cris/Makefile
index ebc17340e..190460230 100644
--- a/target/cris/Makefile
+++ b/target/cris/Makefile
@@ -7,3 +7,50 @@ include $(ADK_TOPDIR)/mk/modules.mk
include $(ADK_TOPDIR)/mk/kernel-build.mk
include $(ADK_TOPDIR)/mk/image.mk
+KERNEL:=$(LINUX_DIR)/vmlinux
+ZKERNEL:=$(LINUX_DIR)/arch/cris/boot/Image
+QEMU_ARGS:=-M axis-dev88 -nographic
+
+ifeq ($(ADK_TARGET_FS),initramfs)
+targethelp:
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
+ifeq ($(ADK_TARGET_QEMU),y)
+ @echo "Start qemu with following command line:"
+ @echo 'qemu-system-${ADK_TARGET_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
+endif
+endif
+
+ifeq ($(ADK_TARGET_FS),initramfsarchive)
+targethelp:
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
+endif
+ifeq ($(ADK_TARGET_FS),initramfspiggyback)
+targethelp:
+ @echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
+ifeq ($(ADK_TARGET_QEMU),y)
+ @echo "Start qemu with following command line:"
+ @echo 'qemu-system-${ADK_TARGET_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL)'
+endif
+endif
+
+kernel-install:
+ @cp $(KERNEL) $(FW_DIR)/${TARGET_KERNEL}
+
+# filesystem specific targets
+ifeq ($(ADK_TARGET_FS),archive)
+imageinstall: $(FW_DIR)/$(ROOTFSTARBALL) targethelp
+endif
+ifeq ($(ADK_TARGET_FS),initramfs)
+imageinstall: kernel-install $(FW_DIR)/$(INITRAMFS) targethelp
+endif
+ifeq ($(ADK_TARGET_FS),initramfsarchive)
+imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
+endif
+ifeq ($(ADK_TARGET_FS),initramfspiggyback)
+imageinstall: createinitramfs targethelp
+endif
+ifeq ($(ADK_TARGET_FS),nfsroot)
+imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
+endif
diff --git a/target/cris/kernel/qemu-cris b/target/cris/kernel/qemu-cris
new file mode 100644
index 000000000..234563c4b
--- /dev/null
+++ b/target/cris/kernel/qemu-cris
@@ -0,0 +1,6 @@
+CONFIG_CRIS=y
+CONFIG_ETRAXFS=y
+CONFIG_ETRAX_ARCH_V32=y
+CONFIG_ETRAXFS_SERIAL=y
+CONFIG_ETRAX_SERIAL_PORTS=4
+CONFIG_ETRAX_SERIAL_PORT0=y
diff --git a/target/cris/systems/qemu-cris b/target/cris/systems/qemu-cris
new file mode 100644
index 000000000..d1df7e654
--- /dev/null
+++ b/target/cris/systems/qemu-cris
@@ -0,0 +1,8 @@
+config ADK_TARGET_SYSTEM_QEMU_CRIS
+ bool "Qemu Emulator"
+ select ADK_CPU_CRIS_V32
+ select ADK_TARGET_QEMU
+ select ADK_TARGET_KERNEL_IMAGE
+ help
+ Qemu Emulator for CRISv32 architecture.
+
diff --git a/target/cris/systems/toolchain-cris b/target/cris/systems/toolchain-cris
index ab5be72f6..6615da6ad 100644
--- a/target/cris/systems/toolchain-cris
+++ b/target/cris/systems/toolchain-cris
@@ -1,6 +1,5 @@
config ADK_TARGET_SYSTEM_TOOLCHAIN_CRIS
bool "Toolchain only"
- select ADK_CPU_CRIS_V32
select ADK_TARGET_TOOLCHAIN
select ADK_TARGET_PACKAGE_TXZ
help