summaryrefslogtreecommitdiff
path: root/target/arm
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@uclibc-ng.org>2016-08-27 13:11:40 +0200
committerWaldemar Brodkorb <wbx@uclibc-ng.org>2016-08-27 13:13:56 +0200
commitdb6e6a11e601ed79a78110bf0fb9a3ac7b58e4e5 (patch)
tree505ea732fba35759f04cf0ba1bbf67b45c42888e /target/arm
parent472574b9fcfb3cb64828ae1e430b1f2e0c22b201 (diff)
add support for Qemu ARM noMMU
Greg Ungerer made me aware of this possibility. Rather hackish implementation, we need to deduplicate later. Update Linux Kernel to 4.4.19 while there. Only non-Devicetree system supported right now.
Diffstat (limited to 'target/arm')
-rw-r--r--target/arm/Makefile4
-rw-r--r--target/arm/kernel/qemu-arm-versatilepb-nommu16
-rw-r--r--target/arm/systems/qemu-arm-versatilepb-nommu10
3 files changed, 28 insertions, 2 deletions
diff --git a/target/arm/Makefile b/target/arm/Makefile
index 5095d5fae..b7e5e9f98 100644
--- a/target/arm/Makefile
+++ b/target/arm/Makefile
@@ -32,7 +32,7 @@ endif
ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE),y)
QEMU_ARGS+=-M realview-eb-mpcore -net user -net nic
endif
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB),y)
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB)$(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB_NOMMU),y)
ifeq ($(ADK_TARGET_WITH_DEVICETREE),y)
QEMU_ARGS+=-M versatilepb -net user -net nic,model=smc91c111 -dtb $(FW_DIR)/versatile-pb.dtb
else
@@ -153,7 +153,7 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9),y)
env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
dtbs $(MAKE_TRACE)
endif
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB),y)
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB)$(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB_NOMMU),y)
env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \
dtbs $(MAKE_TRACE)
endif
diff --git a/target/arm/kernel/qemu-arm-versatilepb-nommu b/target/arm/kernel/qemu-arm-versatilepb-nommu
new file mode 100644
index 000000000..3d7b851e4
--- /dev/null
+++ b/target/arm/kernel/qemu-arm-versatilepb-nommu
@@ -0,0 +1,16 @@
+CONFIG_ARM=y
+CONFIG_ARCH_VERSATILE=y
+CONFIG_KUSER_HELPERS=y
+CONFIG_ATAGS=y
+CONFIG_USE_OF=y
+CONFIG_SET_MEM_PARAM=y
+CONFIG_DRAM_BASE=0x00000000
+CONFIG_DRAM_SIZE=0x08000000
+CONFIG_ARCH_VERSATILE_PB=y
+CONFIG_MACH_VERSATILE_AB=y
+# CONFIG_MACH_VERSATILE_DT is not set
+CONFIG_PLAT_VERSATILE_CLOCK=y
+CONFIG_PLAT_VERSATILE_SCHED_CLOCK=y
+CONFIG_PLAT_VERSATILE=y
+CONFIG_VECTORS_BASE=0x00000000
+CONFIG_PHYS_OFFSET=0x00000000
diff --git a/target/arm/systems/qemu-arm-versatilepb-nommu b/target/arm/systems/qemu-arm-versatilepb-nommu
new file mode 100644
index 000000000..a1aef83db
--- /dev/null
+++ b/target/arm/systems/qemu-arm-versatilepb-nommu
@@ -0,0 +1,10 @@
+config ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB_NOMMU
+ bool "Qemu Emulator (Versatile/PB) no MMU"
+ depends on ADK_TARGET_LITTLE_ENDIAN
+ select ADK_TARGET_CPU_ARM_ARM926EJ_S_NOMMU
+ select ADK_TARGET_QEMU
+ select ADK_TARGET_KERNEL_ZIMAGE
+ select ADK_TARGET_KERNEL_WITH_COMPRESSION
+ help
+ Qemu Emulator for ARM architecture (Versatile/PB) without MMU.
+