Browse Source

add basic qemu armv6 support

Waldemar Brodkorb 8 years ago
parent
commit
093f117aab

+ 3 - 0
target/arm/Makefile

@@ -20,6 +20,9 @@ endif
 ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_TERRIER),y)
 QEMU_ARGS+=-M terrier
 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)
 QEMU_ARGS+=-M versatilepb -net user -net nic,model=smc91c111
 endif

+ 15 - 0
target/arm/kernel/qemu-arm-realview-eb-mpcore

@@ -0,0 +1,15 @@
+CONFIG_ARM=y
+CONFIG_ARCH_REALVIEW=y
+CONFIG_MACH_REALVIEW_EB=y
+CONFIG_REALVIEW_EB_ARM11MP=y
+CONFIG_REALVIEW_EB_ARM11MP_REVB=y
+CONFIG_MACH_REALVIEW_PB11MP=y
+CONFIG_MACH_REALVIEW_PB1176=y
+CONFIG_MACH_REALVIEW_PBA8=y
+CONFIG_MACH_REALVIEW_PBX=y
+CONFIG_PLAT_VERSATILE_SCHED_CLOCK=y
+CONFIG_PLAT_VERSATILE=y
+CONFIG_KUSER_HELPERS=y
+CONFIG_ATAGS=y
+CONFIG_CMDLINE="console=ttyAMA0 mem=128M"
+CONFIG_CMDLINE_FROM_BOOTLOADER=y

+ 0 - 2
target/arm/kernel/qemu-arm-versatilepb

@@ -13,5 +13,3 @@ CONFIG_CPU_32v5=y
 CONFIG_ARM_AMBA=y
 CONFIG_USE_OF=y
 CONFIG_ATAGS=y
-CONFIG_SERIAL_AMBA_PL011=y
-CONFIG_SERIAL_AMBA_PL011_CONSOLE=y

+ 0 - 2
target/arm/kernel/qemu-arm-vexpress-a9

@@ -7,5 +7,3 @@ CONFIG_SWP_EMULATE=y
 CONFIG_CLKSRC_VERSATILE=y
 CONFIG_CLK_SP810=y
 CONFIG_CLK_VEXPRESS_OSC=y
-CONFIG_SERIAL_AMBA_PL011=y
-CONFIG_SERIAL_AMBA_PL011_CONSOLE=y

+ 11 - 0
target/arm/systems/qemu-arm-realview-eb-mpcore

@@ -0,0 +1,11 @@
+config ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE
+	bool "Qemu Emulator (Realview/EB-Mpcore)"
+	select ADK_CPU_ARM11MPCORE
+	select ADK_TARGET_LITTLE_ENDIAN
+	select ADK_TARGET_QEMU
+	select ADK_TARGET_WITH_SMP
+	select ADK_TARGET_KERNEL_ZIMAGE
+	select ADK_TARGET_KERNEL_WITH_COMPRESSION
+	help
+	  Qemu Emulator for ARM architecture (Realview/EB).
+

+ 8 - 0
target/config/Config.in.cpu

@@ -293,6 +293,12 @@ config ADK_CPU_ARC_HS
 	select ADK_TARGET_WITH_NPTL
 	select ADK_TARGET_WITH_MMU
 
+config ADK_CPU_ARM11MPCORE
+	bool
+	select ADK_TARGET_WITH_NPTL
+	select ADK_TARGET_WITH_MMU
+	select ADK_TARGET_CPU_WITH_FPU_VFPV3
+
 config ADK_CPU_ARM1176JZF_S
 	bool
 	select ADK_TARGET_WITH_NPTL
@@ -1131,6 +1137,7 @@ config ADK_TARGET_GCC_CPU
 	default "cortex-a57" if ADK_CPU_CORTEX_A57
 	default "cortex-m3" if ADK_CPU_CORTEX_M3
 	default "cortex-m4" if ADK_CPU_CORTEX_M4
+	default "mpcore" if ADK_CPU_ARM11MPCORE
 	default "powerpc" if ADK_CPU_PPC
 	default "ultrasparc" if ADK_CPU_SPARC_V9
 	default "v8" if ADK_CPU_SPARC_V8
@@ -1300,6 +1307,7 @@ config ADK_TARGET_CPU_TYPE
 	default "cortex_m4" if ADK_TARGET_ARCH_ARM && ADK_CPU_CORTEX_M4
 	default "arm1176jzf_s" if ADK_TARGET_ARCH_ARM && ADK_CPU_ARM1176JZF_S
 	default "arm926ej_s" if ADK_TARGET_ARCH_ARM && ADK_CPU_ARM926EJ_S
+	default "mpcore" if ADK_TARGET_ARCH_ARM && ADK_CPU_ARM11MPCORE
 	default "cortex_a53" if ADK_TARGET_ARCH_AARCH64 && ADK_CPU_CORTEX_A53
 	default "cortex_a57" if ADK_TARGET_ARCH_AARCH64 && ADK_CPU_CORTEX_A57
 

+ 1 - 0
target/config/Config.in.runtime

@@ -255,6 +255,7 @@ config ADK_RUNTIME_CONSOLE_SERIAL_DEVICE
 	default "ttyARC0" if ADK_TARGET_SYSTEM_NSIM_ARCV1 \
 				|| ADK_TARGET_SYSTEM_NSIM_ARCV2
 	default "ttyAMA0" if ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB \
+				|| ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE \
 				|| ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9 \
 				|| ADK_TARGET_SYSTEM_ARM_FM \
 				|| ADK_TARGET_SYSTEM_QEMU_AARCH64

+ 7 - 1
target/linux/config/Config.in.serial

@@ -162,8 +162,14 @@ config ADK_KERNEL_SERIAL_IMX
 config ADK_KERNEL_SERIAL_AMBA_PL011
 	bool "AMBA PL011 serial driver"
 	select ADK_KERNEL_SERIAL_AMBA_PL011_CONSOLE
-	depends on ADK_TARGET_BOARD_BCM28XX
+	depends on ADK_TARGET_BOARD_BCM28XX \
+		|| ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE \
+		|| ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB \
+		|| ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9
 	default y if ADK_TARGET_BOARD_BCM28XX
+	default y if ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE
+	default y if ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB
+	default y if ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9
 	default n
 	help
 	  Serial driver for AMBA PL011 chip.