blob: 876826ad1c82774e6455468efac4bc75ba5ffab6 [file] [log] [blame]
Radoslaw Biernacki558a6f42018-05-17 22:52:49 +02001#
Marcin Juszkiewiczc681d022023-05-10 10:03:01 +02002# Copyright (c) 2019-2023, Linaro Limited and Contributors. All rights reserved.
Radoslaw Biernacki558a6f42018-05-17 22:52:49 +02003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
Marcin Juszkiewicz886688d2023-07-24 21:08:16 +02007PLAT_QEMU_PATH := plat/qemu/qemu_sbsa
8PLAT_QEMU_COMMON_PATH := plat/qemu/common
9
Marcin Juszkiewicza63cdc72023-07-24 20:56:29 +020010include plat/qemu/common/common.mk
Chris Kay1fa05da2021-09-28 15:52:14 +010011
Radoslaw Biernacki558a6f42018-05-17 22:52:49 +020012CRASH_REPORTING := 1
13
Masahisa Kojima6a2426a2020-06-11 21:46:44 +090014ifeq (${SPM_MM},1)
15NEED_BL32 := yes
16EL3_EXCEPTION_HANDLING := 1
17GICV2_G0_FOR_EL3 := 1
18endif
19
Radoslaw Biernacki558a6f42018-05-17 22:52:49 +020020# Enable new version of image loading on QEMU platforms
21LOAD_IMAGE_V2 := 1
22
23ifeq ($(NEED_BL32),yes)
24$(eval $(call add_define,QEMU_LOAD_BL32))
25endif
26
Marcin Juszkiewicz71f53592023-07-24 21:18:51 +020027BL2_SOURCES += $(LIBFDT_SRCS)
Radoslaw Biernacki558a6f42018-05-17 22:52:49 +020028
Alexei Fedorova6ea06f2020-03-23 18:45:17 +000029# Include GICv3 driver files
30include drivers/arm/gic/v3/gicv3.mk
31
32QEMU_GIC_SOURCES := ${GICV3_SOURCES} \
Marcin Juszkiewicz1e67b1b2023-05-15 11:07:54 +020033 plat/common/plat_gicv3.c
Radoslaw Biernacki558a6f42018-05-17 22:52:49 +020034
Marcin Juszkiewicz18884752023-07-24 21:37:00 +020035BL31_SOURCES += ${PLAT_QEMU_PATH}/sbsa_gic.c \
Graeme Gregory2fb5ed42020-08-28 18:03:35 +010036 ${PLAT_QEMU_PATH}/sbsa_pm.c \
Marcin Juszkiewiczc681d022023-05-10 10:03:01 +020037 ${PLAT_QEMU_PATH}/sbsa_sip_svc.c \
Marcin Juszkiewicz18884752023-07-24 21:37:00 +020038 ${PLAT_QEMU_PATH}/sbsa_topology.c
Chris Kay1fa05da2021-09-28 15:52:14 +010039
40BL31_SOURCES += ${FDT_WRAPPERS_SOURCES}
41
Masahisa Kojima6a2426a2020-06-11 21:46:44 +090042ifeq (${SPM_MM},1)
43 BL31_SOURCES += ${PLAT_QEMU_COMMON_PATH}/qemu_spm.c
44endif
Radoslaw Biernacki558a6f42018-05-17 22:52:49 +020045
46SEPARATE_CODE_AND_RODATA := 1
47ENABLE_STACK_PROTECTOR := 0
Radoslaw Biernacki558a6f42018-05-17 22:52:49 +020048
49MULTI_CONSOLE_API := 1
50
51# Disable the PSCI platform compatibility layer
52ENABLE_PLAT_COMPAT := 0
53
54# Use known base for UEFI if not given from command line
55# By default BL33 is at FLASH1 base
56PRELOADED_BL33_BASE ?= 0x10000000
57
58# Qemu SBSA plafrom only support SEC_SRAM
59BL32_RAM_LOCATION_ID = SEC_SRAM_ID
60$(eval $(call add_define,BL32_RAM_LOCATION_ID))
61
Andrew Walbran74464d52020-01-15 14:11:31 +000062# Don't have the Linux kernel as a BL33 image by default
63ARM_LINUX_KERNEL_AS_BL33 := 0
64$(eval $(call assert_boolean,ARM_LINUX_KERNEL_AS_BL33))
65$(eval $(call add_define,ARM_LINUX_KERNEL_AS_BL33))
66
67ARM_PRELOADED_DTB_BASE := PLAT_QEMU_DT_BASE
68$(eval $(call add_define,ARM_PRELOADED_DTB_BASE))