summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--target/arm/Makefile3
-rw-r--r--target/arm/kernel/qemu-arm-realview-eb-mpcore15
-rw-r--r--target/arm/kernel/qemu-arm-versatilepb2
-rw-r--r--target/arm/kernel/qemu-arm-vexpress-a92
-rw-r--r--target/arm/systems/qemu-arm-realview-eb-mpcore11
-rw-r--r--target/config/Config.in.cpu8
-rw-r--r--target/config/Config.in.runtime1
-rw-r--r--target/linux/config/Config.in.serial8
8 files changed, 45 insertions, 5 deletions
diff --git a/target/arm/Makefile b/target/arm/Makefile
index ad37c1eac..06abe009d 100644
--- a/target/arm/Makefile
+++ b/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
diff --git a/target/arm/kernel/qemu-arm-realview-eb-mpcore b/target/arm/kernel/qemu-arm-realview-eb-mpcore
new file mode 100644
index 000000000..2debaedff
--- /dev/null
+++ b/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
diff --git a/target/arm/kernel/qemu-arm-versatilepb b/target/arm/kernel/qemu-arm-versatilepb
index 2d3cc5096..b9fdc07b6 100644
--- a/target/arm/kernel/qemu-arm-versatilepb
+++ b/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
diff --git a/target/arm/kernel/qemu-arm-vexpress-a9 b/target/arm/kernel/qemu-arm-vexpress-a9
index 53285d13c..90541c644 100644
--- a/target/arm/kernel/qemu-arm-vexpress-a9
+++ b/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
diff --git a/target/arm/systems/qemu-arm-realview-eb-mpcore b/target/arm/systems/qemu-arm-realview-eb-mpcore
new file mode 100644
index 000000000..f8de055a8
--- /dev/null
+++ b/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).
+
diff --git a/target/config/Config.in.cpu b/target/config/Config.in.cpu
index 4e26ca5c1..e162172e7 100644
--- a/target/config/Config.in.cpu
+++ b/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
diff --git a/target/config/Config.in.runtime b/target/config/Config.in.runtime
index 8bcef7fb7..801163b52 100644
--- a/target/config/Config.in.runtime
+++ b/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
diff --git a/target/linux/config/Config.in.serial b/target/linux/config/Config.in.serial
index 7c5008b70..390a07b0b 100644
--- a/target/linux/config/Config.in.serial
+++ b/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.