mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-17 01:54:22 +00:00
Merge "refactor(qemu): change way how we enable cpu features" into integration
This commit is contained in:
commit
f15f360cfc
1 changed files with 38 additions and 19 deletions
|
@ -29,18 +29,6 @@ QEMU_CPU_LIBS := lib/cpus/aarch64/aem_generic.S \
|
|||
lib/cpus/aarch64/qemu_max.S
|
||||
|
||||
PLAT_INCLUDES += -Iinclude/plat/arm/common/${ARCH}
|
||||
|
||||
# Cpu core architecture level:
|
||||
# v8.0: a53, a57, a72
|
||||
# v8.2: a55, a76, n1
|
||||
# v8.4: v1
|
||||
# v9.0: a710, n2
|
||||
#
|
||||
# let treat v9.0 as v8.5 as they share cpu features
|
||||
# https://developer.arm.com/documentation/102378/0201/Armv8-x-and-Armv9-x-extensions-and-features
|
||||
|
||||
ARM_ARCH_MAJOR := 8
|
||||
ARM_ARCH_MINOR := 5
|
||||
endif
|
||||
|
||||
PLAT_BL_COMMON_SOURCES := ${PLAT_QEMU_COMMON_PATH}/qemu_common.c \
|
||||
|
@ -91,7 +79,44 @@ BL31_SOURCES += ${QEMU_CPU_LIBS} \
|
|||
# CPU flag enablement
|
||||
ifeq (${ARCH},aarch64)
|
||||
|
||||
# Later QEMU versions support SME and SVE.
|
||||
# Cpu core architecture level:
|
||||
# v8.0: a53, a57, a72
|
||||
# v8.2: a55, a76, n1
|
||||
# v8.4: v1
|
||||
# v9.0: a710, n2
|
||||
#
|
||||
#
|
||||
# We go v8.0 by default and will enable all features we want
|
||||
|
||||
ARM_ARCH_MAJOR := 8
|
||||
ARM_ARCH_MINOR := 0
|
||||
|
||||
# 8.0
|
||||
ENABLE_FEAT_CSV2_2 := 2
|
||||
|
||||
# 8.1
|
||||
ENABLE_FEAT_PAN := 2
|
||||
ENABLE_FEAT_VHE := 2
|
||||
|
||||
# 8.2
|
||||
# TF-A currently does not permit dynamic detection of FEAT_RAS
|
||||
# so this is the only safe setting
|
||||
ENABLE_FEAT_RAS := 0
|
||||
|
||||
# 8.4
|
||||
ENABLE_FEAT_SEL2 := 2
|
||||
ENABLE_FEAT_DIT := 2
|
||||
|
||||
# 8.5
|
||||
ENABLE_FEAT_RNG := 2
|
||||
ENABLE_FEAT_SB := 2
|
||||
|
||||
# 8.6
|
||||
ENABLE_FEAT_FGT := 2
|
||||
|
||||
# 8.7
|
||||
ENABLE_FEAT_HCX := 2
|
||||
|
||||
# SPM_MM is not compatible with ENABLE_SVE_FOR_NS (build breaks)
|
||||
ifeq (${SPM_MM},1)
|
||||
ENABLE_SVE_FOR_NS := 0
|
||||
|
@ -101,12 +126,6 @@ else
|
|||
ENABLE_SME_FOR_NS := 2
|
||||
endif
|
||||
|
||||
# QEMU will use the RNDR instruction for the stack protector canary.
|
||||
ENABLE_FEAT_RNG := 2
|
||||
|
||||
# QEMU 7.2+ has support for FGT and Linux needs it enabled to boot on max
|
||||
ENABLE_FEAT_FGT := 2
|
||||
|
||||
# Treating this as a memory-constrained port for now
|
||||
USE_COHERENT_MEM := 0
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue