refactor(qemu): move CPU definitions into one place
Keep list of supported cpu cores in one place for both platforms.
qemu_sbsa does not handle some of them but with 256MB firmware space it
does not matter.
Change-Id: I5b8f7d18dc903e86e0cc7babbc2fb3f26a1bfdfa
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
diff --git a/plat/qemu/common/common.mk b/plat/qemu/common/common.mk
index feecf0f..7b765da 100644
--- a/plat/qemu/common/common.mk
+++ b/plat/qemu/common/common.mk
@@ -7,3 +7,23 @@
include lib/libfdt/libfdt.mk
include common/fdt_wrappers.mk
+PLAT_INCLUDES := -Iinclude/plat/arm/common/ \
+ -I${PLAT_QEMU_COMMON_PATH}/include \
+ -I${PLAT_QEMU_PATH}/include \
+ -Iinclude/common/tbbr
+
+ifeq (${ARCH},aarch32)
+QEMU_CPU_LIBS := lib/cpus/${ARCH}/cortex_a15.S
+else
+QEMU_CPU_LIBS := lib/cpus/aarch64/aem_generic.S \
+ lib/cpus/aarch64/cortex_a53.S \
+ lib/cpus/aarch64/cortex_a57.S \
+ lib/cpus/aarch64/cortex_a72.S \
+ lib/cpus/aarch64/cortex_a76.S \
+ lib/cpus/aarch64/neoverse_n_common.S \
+ lib/cpus/aarch64/neoverse_n1.S \
+ lib/cpus/aarch64/neoverse_v1.S \
+ lib/cpus/aarch64/qemu_max.S
+
+PLAT_INCLUDES += -Iinclude/plat/arm/common/${ARCH}
+endif
diff --git a/plat/qemu/qemu/platform.mk b/plat/qemu/qemu/platform.mk
index 24015b7..06e5493 100644
--- a/plat/qemu/qemu/platform.mk
+++ b/plat/qemu/qemu/platform.mk
@@ -4,6 +4,9 @@
# SPDX-License-Identifier: BSD-3-Clause
#
+PLAT_QEMU_PATH := plat/qemu/qemu
+PLAT_QEMU_COMMON_PATH := plat/qemu/common
+
include plat/qemu/common/common.mk
# Use the GICv2 driver on QEMU by default
@@ -48,29 +51,6 @@
$(eval $(call add_define,QEMU_LOAD_BL32))
endif
-PLAT_QEMU_PATH := plat/qemu/qemu
-PLAT_QEMU_COMMON_PATH := plat/qemu/common
-PLAT_INCLUDES := -Iinclude/plat/arm/common/ \
- -I${PLAT_QEMU_COMMON_PATH}/include \
- -I${PLAT_QEMU_PATH}/include \
- -Iinclude/common/tbbr
-
-ifeq (${ARM_ARCH_MAJOR},8)
-PLAT_INCLUDES += -Iinclude/plat/arm/common/${ARCH}
-
-QEMU_CPU_LIBS := lib/cpus/aarch64/aem_generic.S \
- lib/cpus/aarch64/cortex_a53.S \
- lib/cpus/aarch64/cortex_a57.S \
- lib/cpus/aarch64/cortex_a72.S \
- lib/cpus/aarch64/cortex_a76.S \
- lib/cpus/aarch64/neoverse_n_common.S \
- lib/cpus/aarch64/neoverse_n1.S \
- lib/cpus/aarch64/neoverse_v1.S \
- lib/cpus/aarch64/qemu_max.S
-else
-QEMU_CPU_LIBS := lib/cpus/${ARCH}/cortex_a15.S
-endif
-
PLAT_BL_COMMON_SOURCES := ${PLAT_QEMU_COMMON_PATH}/qemu_common.c \
${PLAT_QEMU_COMMON_PATH}/qemu_console.c \
drivers/arm/pl011/${ARCH}/pl011_console.S
@@ -161,17 +141,6 @@
${PLAT_QEMU_COMMON_PATH}/qemu_bl1_setup.c \
${QEMU_CPU_LIBS}
-ifeq (${ARM_ARCH_MAJOR},8)
-BL1_SOURCES += lib/cpus/${ARCH}/aem_generic.S \
- lib/cpus/${ARCH}/cortex_a53.S \
- lib/cpus/${ARCH}/cortex_a57.S \
- lib/cpus/${ARCH}/cortex_a72.S \
- lib/cpus/${ARCH}/qemu_max.S \
-
-else
-BL1_SOURCES += lib/cpus/${ARCH}/cortex_a15.S
-endif
-
BL2_SOURCES += drivers/io/io_semihosting.c \
drivers/io/io_storage.c \
drivers/io/io_fip.c \
diff --git a/plat/qemu/qemu_sbsa/platform.mk b/plat/qemu/qemu_sbsa/platform.mk
index 1b4dc05..ce48250 100644
--- a/plat/qemu/qemu_sbsa/platform.mk
+++ b/plat/qemu/qemu_sbsa/platform.mk
@@ -4,6 +4,9 @@
# SPDX-License-Identifier: BSD-3-Clause
#
+PLAT_QEMU_PATH := plat/qemu/qemu_sbsa
+PLAT_QEMU_COMMON_PATH := plat/qemu/common
+
include plat/qemu/common/common.mk
CRASH_REPORTING := 1
@@ -26,15 +29,6 @@
$(eval $(call add_define,QEMU_LOAD_BL32))
endif
-PLAT_QEMU_PATH := plat/qemu/qemu_sbsa
-PLAT_QEMU_COMMON_PATH := plat/qemu/common
-PLAT_INCLUDES := -Iinclude/plat/arm/common/ \
- -I${PLAT_QEMU_COMMON_PATH}/include \
- -I${PLAT_QEMU_PATH}/include \
- -Iinclude/common/tbbr
-
-PLAT_INCLUDES += -Iinclude/plat/arm/common/${ARCH}
-
PLAT_BL_COMMON_SOURCES := ${PLAT_QEMU_COMMON_PATH}/qemu_common.c \
${PLAT_QEMU_COMMON_PATH}/qemu_console.c \
drivers/arm/pl011/${ARCH}/pl011_console.S
@@ -45,13 +39,6 @@
# This can be overridden depending on CPU(s) used in the QEMU image
HW_ASSISTED_COHERENCY := 1
-QEMU_CPU_LIBS := lib/cpus/aarch64/cortex_a57.S \
- lib/cpus/aarch64/cortex_a72.S \
- lib/cpus/aarch64/neoverse_n_common.S \
- lib/cpus/aarch64/neoverse_n1.S \
- lib/cpus/aarch64/neoverse_v1.S \
- lib/cpus/aarch64/qemu_max.S
-
include lib/xlat_tables_v2/xlat_tables.mk
PLAT_BL_COMMON_SOURCES += ${XLAT_TABLES_LIB_SRCS}