summaryrefslogtreecommitdiff
path: root/target/arm
diff options
context:
space:
mode:
Diffstat (limited to 'target/arm')
-rw-r--r--target/arm/Makefile29
-rw-r--r--target/arm/sys-available/qemu-arm10
2 files changed, 36 insertions, 3 deletions
diff --git a/target/arm/Makefile b/target/arm/Makefile
index 5323750fe..e290fd8e3 100644
--- a/target/arm/Makefile
+++ b/target/arm/Makefile
@@ -7,9 +7,18 @@ include $(TOPDIR)/mk/modules.mk
include $(TOPDIR)/mk/kernel-build.mk
include $(TOPDIR)/mk/image.mk
+ZKERNEL:=$(LINUX_DIR)/arch/arm/boot/zImage
KERNEL:=$(LINUX_DIR)/vmlinux
LOADADDR:=0x20008000
+ifeq ($(ADK_TARGET_QEMU_ARM_MODEL_SPITZ),y)
+MACH:=spitz
+endif
+ifeq ($(ADK_TARGET_QEMU_ARM_MODEL_VERSATILE),y)
+MACH:=versatilepb
+NET:=-net user,hostfwd=tcp::2222-:22 -net nic,model=smc91c111
+endif
+
tools-compile:
$(MAKE) -C ../tools/uboot-mkimage
@@ -38,32 +47,46 @@ imageinstall: kernel-install $(BIN_DIR)/$(ROOTFSTARBALL)
endif
ifeq ($(ADK_TARGET_FS),archive)
imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL)
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y)
+ @cp $(ZKERNEL) $(BIN_DIR)/$(TARGET_KERNEL)
+else
@cp $(KERNEL) $(BIN_DIR)/$(TARGET_KERNEL)
+endif
@echo 'The kernel file is: $(BIN_DIR)/${TARGET_KERNEL}'
@echo "The RootFS tarball is: $(BIN_DIR)/$(ROOTFSTARBALL)"
ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y)
@echo "Use following command to create a QEMU Image:"
@echo "sudo ./scripts/create-image.sh -f $(ADK_TARGET_ROOTFS) qemu-${CPU_ARCH}.img $(BIN_DIR)/$(ROOTFSTARBALL)"
@echo "Start qemu with following options:"
- @echo 'qemu-system-arm -nographic -kernel $(BIN_DIR)/$(TARGET_KERNEL) -hda qemu-${CPU_ARCH}.img -append "root=/dev/hda1"'
+ @echo 'qemu-system-arm -M $(MACH) -nographic $(NET) -kernel $(BIN_DIR)/$(TARGET_KERNEL) -hda qemu-${CPU_ARCH}.img'
+endif
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs)
imageinstall: $(BIN_DIR)/$(INITRAMFS)
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y)
+ @cp $(ZKERNEL) $(BIN_DIR)/$(TARGET_KERNEL)
+else
@cp $(KERNEL) $(BIN_DIR)/$(TARGET_KERNEL)
+endif
@echo 'The kernel file is: $(BIN_DIR)/${TARGET_KERNEL}'
@echo 'The initramfs image is: ${BIN_DIR}/${INITRAMFS}'
ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y)
@echo "Start qemu with following command line:"
- @echo 'qemu-system-arm -nographic -kernel $(BIN_DIR)/$(TARGET_KERNEL) -initrd ${BIN_DIR}/${INITRAMFS}'
+ @echo 'qemu-system-arm -M $(MACH) -nographic $(NET) -kernel $(BIN_DIR)/$(TARGET_KERNEL) -initrd ${BIN_DIR}/${INITRAMFS}'
endif
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
imageinstall: ${BUILD_DIR}/${INITRAMFS_PIGGYBACK} createinitramfs
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y)
+ @cp $(ZKERNEL) $(BIN_DIR)/$(TARGET_KERNEL)
+else
@cp $(KERNEL) $(BIN_DIR)/$(TARGET_KERNEL)
+endif
@echo 'The kernel+initramfs file is: $(BIN_DIR)/${TARGET_KERNEL}'
ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y)
@echo "Start qemu with following command line:"
- @echo 'qemu-system-arm -nographic -kernel $(BIN_DIR)/$(TARGET_KERNEL)'
+ @echo 'qemu-system-arm -M $(MACH) -nographic $(NET) -kernel $(BIN_DIR)/$(TARGET_KERNEL)'
+endif
endif
endif
diff --git a/target/arm/sys-available/qemu-arm b/target/arm/sys-available/qemu-arm
new file mode 100644
index 000000000..1e62f2abb
--- /dev/null
+++ b/target/arm/sys-available/qemu-arm
@@ -0,0 +1,10 @@
+config ADK_TARGET_SYSTEM_QEMU_ARM
+ bool "Qemu Emulator"
+ select ADK_arm
+ select ADK_qemu_arm
+ select ADK_little
+ select ADK_EABI
+ select ADK_TARGET_NO_FPU
+ select ADK_HARDWARE_QEMU
+ help
+ Support for Qemu Emulator (arm).