From db6e6a11e601ed79a78110bf0fb9a3ac7b58e4e5 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 27 Aug 2016 13:11:40 +0200 Subject: 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. --- target/arm/Makefile | 4 ++-- target/arm/kernel/qemu-arm-versatilepb-nommu | 16 ++++++++++++++++ target/arm/systems/qemu-arm-versatilepb-nommu | 10 ++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 target/arm/kernel/qemu-arm-versatilepb-nommu create mode 100644 target/arm/systems/qemu-arm-versatilepb-nommu (limited to 'target/arm') 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. + -- cgit v1.2.3