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 96% rename from plat/qemu/qemu_bl2_mem_params_desc.c rename to plat/qemu/common/qemu_bl2_mem_params_desc.c index a01f2dc91..f8b9066df 100644 --- a/plat/qemu/qemu_bl2_mem_params_desc.c +++ b/plat/qemu/common/qemu_bl2_mem_params_desc.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2017-2019, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -139,8 +139,7 @@ static bl_mem_params_node_t bl2_mem_params_descs[] = { SET_STATIC_PARAM_HEAD(image_info, PARAM_EP, VERSION_2, image_info_t, 0), .image_info.image_base = NS_IMAGE_OFFSET, - .image_info.image_max_size = NS_DRAM0_BASE + NS_DRAM0_SIZE - - NS_IMAGE_OFFSET, + .image_info.image_max_size = NS_IMAGE_MAX_SIZE, # endif /* !PRELOADED_BL33_BASE */ .next_handoff_image_id = INVALID_IMAGE_ID, 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 98% rename from plat/qemu/include/platform_def.h rename to plat/qemu/qemu/include/platform_def.h index d7f77cc78..a90573712 100644 --- a/plat/qemu/include/platform_def.h +++ b/plat/qemu/qemu/include/platform_def.h @@ -165,7 +165,8 @@ # error "Unsupported BL32_RAM_LOCATION_ID value" #endif -#define NS_IMAGE_OFFSET 0x60000000 +#define NS_IMAGE_OFFSET (NS_DRAM0_BASE + 0x20000000) +#define NS_IMAGE_MAX_SIZE (NS_DRAM0_SIZE - 0x20000000) #define PLAT_PHY_ADDR_SPACE_SIZE (1ULL << 32) #define PLAT_VIRT_ADDR_SPACE_SIZE (1ULL << 32) 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