1558a6f44SRadoslaw Biernacki# 2c681d02cSMarcin Juszkiewicz# Copyright (c) 2019-2023, Linaro Limited and Contributors. All rights reserved. 3558a6f44SRadoslaw Biernacki# 4558a6f44SRadoslaw Biernacki# SPDX-License-Identifier: BSD-3-Clause 5558a6f44SRadoslaw Biernacki# 6558a6f44SRadoslaw Biernacki 7886688d1SMarcin JuszkiewiczPLAT_QEMU_PATH := plat/qemu/qemu_sbsa 8886688d1SMarcin JuszkiewiczPLAT_QEMU_COMMON_PATH := plat/qemu/common 9886688d1SMarcin Juszkiewicz 10*4a2e7547SMarcin JuszkiewiczMULTI_CONSOLE_API := 1 11*4a2e7547SMarcin JuszkiewiczCRASH_REPORTING := 1 12*4a2e7547SMarcin Juszkiewicz 13*4a2e7547SMarcin Juszkiewicz# Disable the PSCI platform compatibility layer 14*4a2e7547SMarcin JuszkiewiczENABLE_PLAT_COMPAT := 0 15*4a2e7547SMarcin Juszkiewicz 16*4a2e7547SMarcin JuszkiewiczSEPARATE_CODE_AND_RODATA := 1 17*4a2e7547SMarcin JuszkiewiczENABLE_STACK_PROTECTOR := 0 18*4a2e7547SMarcin Juszkiewicz 196a2426a9SMasahisa Kojimaifeq (${SPM_MM},1) 206a2426a9SMasahisa KojimaNEED_BL32 := yes 216a2426a9SMasahisa KojimaEL3_EXCEPTION_HANDLING := 1 226a2426a9SMasahisa KojimaGICV2_G0_FOR_EL3 := 1 236a2426a9SMasahisa Kojimaendif 246a2426a9SMasahisa Kojima 25941fc383SMarcin Juszkiewiczinclude plat/qemu/common/common.mk 26941fc383SMarcin Juszkiewicz 27558a6f44SRadoslaw Biernacki# Enable new version of image loading on QEMU platforms 28558a6f44SRadoslaw BiernackiLOAD_IMAGE_V2 := 1 29558a6f44SRadoslaw Biernacki 30558a6f44SRadoslaw Biernackiifeq ($(NEED_BL32),yes) 31558a6f44SRadoslaw Biernacki$(eval $(call add_define,QEMU_LOAD_BL32)) 32558a6f44SRadoslaw Biernackiendif 33558a6f44SRadoslaw Biernacki 3471f5359bSMarcin JuszkiewiczBL2_SOURCES += $(LIBFDT_SRCS) 35558a6f44SRadoslaw Biernacki 36a6ea06f5SAlexei Fedorov# Include GICv3 driver files 37a6ea06f5SAlexei Fedorovinclude drivers/arm/gic/v3/gicv3.mk 38a6ea06f5SAlexei Fedorov 39a6ea06f5SAlexei FedorovQEMU_GIC_SOURCES := ${GICV3_SOURCES} \ 401e67b1b1SMarcin Juszkiewicz plat/common/plat_gicv3.c 41558a6f44SRadoslaw Biernacki 4218884750SMarcin JuszkiewiczBL31_SOURCES += ${PLAT_QEMU_PATH}/sbsa_gic.c \ 432fb5ed47SGraeme Gregory ${PLAT_QEMU_PATH}/sbsa_pm.c \ 44c681d02cSMarcin Juszkiewicz ${PLAT_QEMU_PATH}/sbsa_sip_svc.c \ 4518884750SMarcin Juszkiewicz ${PLAT_QEMU_PATH}/sbsa_topology.c 461fa05dabSChris Kay 471fa05dabSChris KayBL31_SOURCES += ${FDT_WRAPPERS_SOURCES} 481fa05dabSChris Kay 496a2426a9SMasahisa Kojimaifeq (${SPM_MM},1) 506a2426a9SMasahisa Kojima BL31_SOURCES += ${PLAT_QEMU_COMMON_PATH}/qemu_spm.c 516a2426a9SMasahisa Kojimaendif 52558a6f44SRadoslaw Biernacki 53558a6f44SRadoslaw Biernacki# Use known base for UEFI if not given from command line 54558a6f44SRadoslaw Biernacki# By default BL33 is at FLASH1 base 55558a6f44SRadoslaw BiernackiPRELOADED_BL33_BASE ?= 0x10000000 56558a6f44SRadoslaw Biernacki 57558a6f44SRadoslaw Biernacki# Qemu SBSA plafrom only support SEC_SRAM 58558a6f44SRadoslaw BiernackiBL32_RAM_LOCATION_ID = SEC_SRAM_ID 59558a6f44SRadoslaw Biernacki$(eval $(call add_define,BL32_RAM_LOCATION_ID)) 60558a6f44SRadoslaw Biernacki 6174464d5bSAndrew Walbran# Don't have the Linux kernel as a BL33 image by default 6274464d5bSAndrew WalbranARM_LINUX_KERNEL_AS_BL33 := 0 6374464d5bSAndrew Walbran$(eval $(call assert_boolean,ARM_LINUX_KERNEL_AS_BL33)) 6474464d5bSAndrew Walbran$(eval $(call add_define,ARM_LINUX_KERNEL_AS_BL33)) 6574464d5bSAndrew Walbran 6674464d5bSAndrew WalbranARM_PRELOADED_DTB_BASE := PLAT_QEMU_DT_BASE 6774464d5bSAndrew Walbran$(eval $(call add_define,ARM_PRELOADED_DTB_BASE)) 68