From 301d27d998892c054dec925264f81b11dcd64822 Mon Sep 17 00:00:00 2001 From: Radoslaw Biernacki Date: Thu, 17 May 2018 22:19:11 +0200 Subject: [PATCH] qemu: introducing sub-platforms to qemu platform This commit change the plat/qemu directory structure into: `-- plat `-- qemu |-- common (files shared with all qemu subplatforms) |-- qemu (original qemu platform) |-- qemu_sbsa (new sqemu_sbsa platform) |-- subplat1 `-- subplat2 This opens the possibility of adding new qemu sub-platforms which reuse existing common platform code. The first platform which will leverage new structure will be SBSA platform. Signed-off-by: Radoslaw Biernacki Signed-off-by: Sandrine Bailleux Change-Id: Id0d8133e1fffc1b574b69aa2770ebc02bb837a9b --- plat/qemu/{ => common}/aarch32/plat_helpers.S | 0 plat/qemu/{ => common}/aarch64/plat_helpers.S | 0 plat/qemu/{ => common}/include/plat_macros.S | 0 plat/qemu/{ => common}/qemu_bl1_setup.c | 0 .../{ => common}/qemu_bl2_mem_params_desc.c | 0 plat/qemu/{ => common}/qemu_bl2_setup.c | 0 plat/qemu/{ => common}/qemu_bl31_setup.c | 0 plat/qemu/{ => common}/qemu_common.c | 0 plat/qemu/{ => common}/qemu_console.c | 0 plat/qemu/{ => common}/qemu_gicv2.c | 0 plat/qemu/{ => common}/qemu_gicv3.c | 0 plat/qemu/{ => common}/qemu_image_load.c | 0 plat/qemu/{ => common}/qemu_io_storage.c | 0 plat/qemu/{ => common}/qemu_pm.c | 0 plat/qemu/{ => common}/qemu_private.h | 0 plat/qemu/{ => common}/qemu_rotpk.S | 0 plat/qemu/{ => common}/qemu_stack_protector.c | 0 plat/qemu/{ => common}/qemu_trusted_boot.c | 0 plat/qemu/{ => common}/sp_min/sp_min-qemu.mk | 0 plat/qemu/{ => common}/sp_min/sp_min_setup.c | 0 plat/qemu/{ => common}/topology.c | 0 plat/qemu/{ => qemu}/include/platform_def.h | 0 plat/qemu/{ => qemu}/platform.mk | 56 ++++++++++--------- 23 files changed, 30 insertions(+), 26 deletions(-) rename plat/qemu/{ => common}/aarch32/plat_helpers.S (100%) rename plat/qemu/{ => common}/aarch64/plat_helpers.S (100%) rename plat/qemu/{ => common}/include/plat_macros.S (100%) rename plat/qemu/{ => common}/qemu_bl1_setup.c (100%) rename plat/qemu/{ => common}/qemu_bl2_mem_params_desc.c (100%) rename plat/qemu/{ => common}/qemu_bl2_setup.c (100%) rename plat/qemu/{ => common}/qemu_bl31_setup.c (100%) rename plat/qemu/{ => common}/qemu_common.c (100%) rename plat/qemu/{ => common}/qemu_console.c (100%) rename plat/qemu/{ => common}/qemu_gicv2.c (100%) rename plat/qemu/{ => common}/qemu_gicv3.c (100%) rename plat/qemu/{ => common}/qemu_image_load.c (100%) rename plat/qemu/{ => common}/qemu_io_storage.c (100%) rename plat/qemu/{ => common}/qemu_pm.c (100%) rename plat/qemu/{ => common}/qemu_private.h (100%) rename plat/qemu/{ => common}/qemu_rotpk.S (100%) rename plat/qemu/{ => common}/qemu_stack_protector.c (100%) rename plat/qemu/{ => common}/qemu_trusted_boot.c (100%) rename plat/qemu/{ => common}/sp_min/sp_min-qemu.mk (100%) rename plat/qemu/{ => common}/sp_min/sp_min_setup.c (100%) rename plat/qemu/{ => common}/topology.c (100%) rename plat/qemu/{ => qemu}/include/platform_def.h (100%) rename plat/qemu/{ => qemu}/platform.mk (74%) diff --git a/plat/qemu/aarch32/plat_helpers.S b/plat/qemu/common/aarch32/plat_helpers.S similarity index 100% rename from plat/qemu/aarch32/plat_helpers.S rename to plat/qemu/common/aarch32/plat_helpers.S diff --git a/plat/qemu/aarch64/plat_helpers.S b/plat/qemu/common/aarch64/plat_helpers.S similarity index 100% rename from plat/qemu/aarch64/plat_helpers.S rename to plat/qemu/common/aarch64/plat_helpers.S diff --git a/plat/qemu/include/plat_macros.S b/plat/qemu/common/include/plat_macros.S similarity index 100% rename from plat/qemu/include/plat_macros.S rename to plat/qemu/common/include/plat_macros.S diff --git a/plat/qemu/qemu_bl1_setup.c b/plat/qemu/common/qemu_bl1_setup.c similarity index 100% rename from plat/qemu/qemu_bl1_setup.c rename to plat/qemu/common/qemu_bl1_setup.c diff --git a/plat/qemu/qemu_bl2_mem_params_desc.c b/plat/qemu/common/qemu_bl2_mem_params_desc.c similarity index 100% rename from plat/qemu/qemu_bl2_mem_params_desc.c rename to plat/qemu/common/qemu_bl2_mem_params_desc.c diff --git a/plat/qemu/qemu_bl2_setup.c b/plat/qemu/common/qemu_bl2_setup.c similarity index 100% rename from plat/qemu/qemu_bl2_setup.c rename to plat/qemu/common/qemu_bl2_setup.c diff --git a/plat/qemu/qemu_bl31_setup.c b/plat/qemu/common/qemu_bl31_setup.c similarity index 100% rename from plat/qemu/qemu_bl31_setup.c rename to plat/qemu/common/qemu_bl31_setup.c diff --git a/plat/qemu/qemu_common.c b/plat/qemu/common/qemu_common.c similarity index 100% rename from plat/qemu/qemu_common.c rename to plat/qemu/common/qemu_common.c diff --git a/plat/qemu/qemu_console.c b/plat/qemu/common/qemu_console.c similarity index 100% rename from plat/qemu/qemu_console.c rename to plat/qemu/common/qemu_console.c diff --git a/plat/qemu/qemu_gicv2.c b/plat/qemu/common/qemu_gicv2.c similarity index 100% rename from plat/qemu/qemu_gicv2.c rename to plat/qemu/common/qemu_gicv2.c diff --git a/plat/qemu/qemu_gicv3.c b/plat/qemu/common/qemu_gicv3.c similarity index 100% rename from plat/qemu/qemu_gicv3.c rename to plat/qemu/common/qemu_gicv3.c diff --git a/plat/qemu/qemu_image_load.c b/plat/qemu/common/qemu_image_load.c similarity index 100% rename from plat/qemu/qemu_image_load.c rename to plat/qemu/common/qemu_image_load.c diff --git a/plat/qemu/qemu_io_storage.c b/plat/qemu/common/qemu_io_storage.c similarity index 100% rename from plat/qemu/qemu_io_storage.c rename to plat/qemu/common/qemu_io_storage.c diff --git a/plat/qemu/qemu_pm.c b/plat/qemu/common/qemu_pm.c similarity index 100% rename from plat/qemu/qemu_pm.c rename to plat/qemu/common/qemu_pm.c diff --git a/plat/qemu/qemu_private.h b/plat/qemu/common/qemu_private.h similarity index 100% rename from plat/qemu/qemu_private.h rename to plat/qemu/common/qemu_private.h diff --git a/plat/qemu/qemu_rotpk.S b/plat/qemu/common/qemu_rotpk.S similarity index 100% rename from plat/qemu/qemu_rotpk.S rename to plat/qemu/common/qemu_rotpk.S diff --git a/plat/qemu/qemu_stack_protector.c b/plat/qemu/common/qemu_stack_protector.c similarity index 100% rename from plat/qemu/qemu_stack_protector.c rename to plat/qemu/common/qemu_stack_protector.c diff --git a/plat/qemu/qemu_trusted_boot.c b/plat/qemu/common/qemu_trusted_boot.c similarity index 100% rename from plat/qemu/qemu_trusted_boot.c rename to plat/qemu/common/qemu_trusted_boot.c diff --git a/plat/qemu/sp_min/sp_min-qemu.mk b/plat/qemu/common/sp_min/sp_min-qemu.mk similarity index 100% rename from plat/qemu/sp_min/sp_min-qemu.mk rename to plat/qemu/common/sp_min/sp_min-qemu.mk diff --git a/plat/qemu/sp_min/sp_min_setup.c b/plat/qemu/common/sp_min/sp_min_setup.c similarity index 100% rename from plat/qemu/sp_min/sp_min_setup.c rename to plat/qemu/common/sp_min/sp_min_setup.c diff --git a/plat/qemu/topology.c b/plat/qemu/common/topology.c similarity index 100% rename from plat/qemu/topology.c rename to plat/qemu/common/topology.c diff --git a/plat/qemu/include/platform_def.h b/plat/qemu/qemu/include/platform_def.h similarity index 100% rename from plat/qemu/include/platform_def.h rename to plat/qemu/qemu/include/platform_def.h diff --git a/plat/qemu/platform.mk b/plat/qemu/qemu/platform.mk similarity index 74% rename from plat/qemu/platform.mk rename to plat/qemu/qemu/platform.mk index bc4a21bc0..5fda2cd47 100644 --- a/plat/qemu/platform.mk +++ b/plat/qemu/qemu/platform.mk @@ -32,16 +32,20 @@ ifeq ($(NEED_BL32),yes) $(eval $(call add_define,QEMU_LOAD_BL32)) endif -PLAT_PATH := plat/qemu/ -PLAT_INCLUDES := -Iplat/qemu/include +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} endif -PLAT_BL_COMMON_SOURCES := plat/qemu/qemu_common.c \ - plat/qemu/qemu_console.c \ - drivers/arm/pl011/${ARCH}/pl011_console.S \ +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 include lib/xlat_tables_v2/xlat_tables.mk PLAT_BL_COMMON_SOURCES += ${XLAT_TABLES_LIB_SRCS} @@ -59,13 +63,13 @@ ifneq (${TRUSTED_BOARD_BOOT},0) BL1_SOURCES += ${AUTH_SOURCES} \ bl1/tbbr/tbbr_img_desc.c \ plat/common/tbbr/plat_tbbr.c \ - plat/qemu/qemu_trusted_boot.c \ - $(PLAT_PATH)/qemu_rotpk.S + ${PLAT_QEMU_COMMON_PATH}/qemu_trusted_boot.c \ + $(PLAT_QEMU_COMMON_PATH)/qemu_rotpk.S BL2_SOURCES += ${AUTH_SOURCES} \ plat/common/tbbr/plat_tbbr.c \ - plat/qemu/qemu_trusted_boot.c \ - $(PLAT_PATH)/qemu_rotpk.S + ${PLAT_QEMU_COMMON_PATH}/qemu_trusted_boot.c \ + $(PLAT_QEMU_COMMON_PATH)/qemu_rotpk.S ROT_KEY = $(BUILD_PLAT)/rot_key.pem ROTPK_HASH = $(BUILD_PLAT)/rotpk_sha256.bin @@ -93,9 +97,9 @@ BL1_SOURCES += drivers/io/io_semihosting.c \ drivers/io/io_memmap.c \ lib/semihosting/semihosting.c \ lib/semihosting/${ARCH}/semihosting_call.S \ - plat/qemu/qemu_io_storage.c \ - plat/qemu/${ARCH}/plat_helpers.S \ - plat/qemu/qemu_bl1_setup.c + ${PLAT_QEMU_COMMON_PATH}/qemu_io_storage.c \ + ${PLAT_QEMU_COMMON_PATH}/${ARCH}/plat_helpers.S \ + ${PLAT_QEMU_COMMON_PATH}/qemu_bl1_setup.c ifeq (${ARM_ARCH_MAJOR},8) BL1_SOURCES += lib/cpus/aarch64/aem_generic.S \ @@ -110,13 +114,13 @@ BL2_SOURCES += drivers/io/io_semihosting.c \ drivers/io/io_fip.c \ drivers/io/io_memmap.c \ lib/semihosting/semihosting.c \ - lib/semihosting/${ARCH}/semihosting_call.S\ - plat/qemu/qemu_io_storage.c \ - plat/qemu/${ARCH}/plat_helpers.S \ - plat/qemu/qemu_bl2_setup.c \ - common/fdt_fixup.c \ - plat/qemu/qemu_bl2_mem_params_desc.c \ - plat/qemu/qemu_image_load.c \ + lib/semihosting/${ARCH}/semihosting_call.S \ + ${PLAT_QEMU_COMMON_PATH}/qemu_io_storage.c \ + ${PLAT_QEMU_COMMON_PATH}/${ARCH}/plat_helpers.S \ + ${PLAT_QEMU_COMMON_PATH}/qemu_bl2_setup.c \ + ${PLAT_QEMU_COMMON_PATH}/qemu_bl2_mem_params_desc.c \ + ${PLAT_QEMU_COMMON_PATH}/qemu_image_load.c \ + common/fdt_fixup.c \ common/desc_image_load.c ifeq ($(add-lib-optee),yes) @@ -127,13 +131,13 @@ QEMU_GICV2_SOURCES := drivers/arm/gic/v2/gicv2_helpers.c \ drivers/arm/gic/v2/gicv2_main.c \ drivers/arm/gic/common/gic_common.c \ plat/common/plat_gicv2.c \ - plat/qemu/qemu_gicv2.c + ${PLAT_QEMU_COMMON_PATH}/qemu_gicv2.c QEMU_GICV3_SOURCES := drivers/arm/gic/v3/gicv3_helpers.c \ drivers/arm/gic/v3/gicv3_main.c \ drivers/arm/gic/common/gic_common.c \ plat/common/plat_gicv3.c \ - plat/qemu/qemu_gicv3.c + ${PLAT_QEMU_COMMON_PATH}/qemu_gicv3.c ifeq (${QEMU_USE_GIC_DRIVER}, QEMU_GICV2) QEMU_GIC_SOURCES := ${QEMU_GICV2_SOURCES} @@ -148,10 +152,10 @@ BL31_SOURCES += lib/cpus/aarch64/aem_generic.S \ lib/cpus/aarch64/cortex_a53.S \ lib/cpus/aarch64/cortex_a57.S \ plat/common/plat_psci_common.c \ - plat/qemu/qemu_pm.c \ - plat/qemu/topology.c \ - plat/qemu/aarch64/plat_helpers.S \ - plat/qemu/qemu_bl31_setup.c \ + ${PLAT_QEMU_COMMON_PATH}/qemu_pm.c \ + ${PLAT_QEMU_COMMON_PATH}/topology.c \ + ${PLAT_QEMU_COMMON_PATH}/aarch64/plat_helpers.S \ + ${PLAT_QEMU_COMMON_PATH}/qemu_bl31_setup.c \ ${QEMU_GIC_SOURCES} endif @@ -167,7 +171,7 @@ endif SEPARATE_CODE_AND_RODATA := 1 ENABLE_STACK_PROTECTOR := 0 ifneq ($(ENABLE_STACK_PROTECTOR), 0) - PLAT_BL_COMMON_SOURCES += plat/qemu/qemu_stack_protector.c + PLAT_BL_COMMON_SOURCES += ${PLAT_QEMU_COMMON_PATH}/qemu_stack_protector.c endif BL32_RAM_LOCATION := tdram