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 106a2426a9SMasahisa Kojimaifeq (${SPM_MM},1) 116a2426a9SMasahisa KojimaNEED_BL32 := yes 126a2426a9SMasahisa KojimaEL3_EXCEPTION_HANDLING := 1 136a2426a9SMasahisa KojimaGICV2_G0_FOR_EL3 := 1 146a2426a9SMasahisa Kojimaendif 156a2426a9SMasahisa Kojima 16*941fc383SMarcin Juszkiewiczinclude plat/qemu/common/common.mk 17*941fc383SMarcin Juszkiewicz 18*941fc383SMarcin JuszkiewiczCRASH_REPORTING := 1 19*941fc383SMarcin Juszkiewicz 20*941fc383SMarcin Juszkiewicz 21558a6f44SRadoslaw Biernacki# Enable new version of image loading on QEMU platforms 22558a6f44SRadoslaw BiernackiLOAD_IMAGE_V2 := 1 23558a6f44SRadoslaw Biernacki 24558a6f44SRadoslaw Biernackiifeq ($(NEED_BL32),yes) 25558a6f44SRadoslaw Biernacki$(eval $(call add_define,QEMU_LOAD_BL32)) 26558a6f44SRadoslaw Biernackiendif 27558a6f44SRadoslaw Biernacki 2871f5359bSMarcin JuszkiewiczBL2_SOURCES += $(LIBFDT_SRCS) 29558a6f44SRadoslaw Biernacki 30a6ea06f5SAlexei Fedorov# Include GICv3 driver files 31a6ea06f5SAlexei Fedorovinclude drivers/arm/gic/v3/gicv3.mk 32a6ea06f5SAlexei Fedorov 33a6ea06f5SAlexei FedorovQEMU_GIC_SOURCES := ${GICV3_SOURCES} \ 341e67b1b1SMarcin Juszkiewicz plat/common/plat_gicv3.c 35558a6f44SRadoslaw Biernacki 3618884750SMarcin JuszkiewiczBL31_SOURCES += ${PLAT_QEMU_PATH}/sbsa_gic.c \ 372fb5ed47SGraeme Gregory ${PLAT_QEMU_PATH}/sbsa_pm.c \ 38c681d02cSMarcin Juszkiewicz ${PLAT_QEMU_PATH}/sbsa_sip_svc.c \ 3918884750SMarcin Juszkiewicz ${PLAT_QEMU_PATH}/sbsa_topology.c 401fa05dabSChris Kay 411fa05dabSChris KayBL31_SOURCES += ${FDT_WRAPPERS_SOURCES} 421fa05dabSChris Kay 436a2426a9SMasahisa Kojimaifeq (${SPM_MM},1) 446a2426a9SMasahisa Kojima BL31_SOURCES += ${PLAT_QEMU_COMMON_PATH}/qemu_spm.c 456a2426a9SMasahisa Kojimaendif 46558a6f44SRadoslaw Biernacki 47558a6f44SRadoslaw BiernackiSEPARATE_CODE_AND_RODATA := 1 48558a6f44SRadoslaw BiernackiENABLE_STACK_PROTECTOR := 0 49558a6f44SRadoslaw Biernacki 50558a6f44SRadoslaw BiernackiMULTI_CONSOLE_API := 1 51558a6f44SRadoslaw Biernacki 52558a6f44SRadoslaw Biernacki# Disable the PSCI platform compatibility layer 53558a6f44SRadoslaw BiernackiENABLE_PLAT_COMPAT := 0 54558a6f44SRadoslaw Biernacki 55558a6f44SRadoslaw Biernacki# Use known base for UEFI if not given from command line 56558a6f44SRadoslaw Biernacki# By default BL33 is at FLASH1 base 57558a6f44SRadoslaw BiernackiPRELOADED_BL33_BASE ?= 0x10000000 58558a6f44SRadoslaw Biernacki 59558a6f44SRadoslaw Biernacki# Qemu SBSA plafrom only support SEC_SRAM 60558a6f44SRadoslaw BiernackiBL32_RAM_LOCATION_ID = SEC_SRAM_ID 61558a6f44SRadoslaw Biernacki$(eval $(call add_define,BL32_RAM_LOCATION_ID)) 62558a6f44SRadoslaw Biernacki 6374464d5bSAndrew Walbran# Don't have the Linux kernel as a BL33 image by default 6474464d5bSAndrew WalbranARM_LINUX_KERNEL_AS_BL33 := 0 6574464d5bSAndrew Walbran$(eval $(call assert_boolean,ARM_LINUX_KERNEL_AS_BL33)) 6674464d5bSAndrew Walbran$(eval $(call add_define,ARM_LINUX_KERNEL_AS_BL33)) 6774464d5bSAndrew Walbran 6874464d5bSAndrew WalbranARM_PRELOADED_DTB_BASE := PLAT_QEMU_DT_BASE 6974464d5bSAndrew Walbran$(eval $(call add_define,ARM_PRELOADED_DTB_BASE)) 70