audk/ArmVirtPkg/Library
Ard Biesheuvel c98f7f7550 ArmVirtPkg: Use dynamic PCD to set the SMCCC conduit
On ARM systems, whether SMC or HVC instructions need to be used to issue
monitor calls is typically dependent on the exception level, but there
are also cases where EL1 might use SMC instructions, so there is no hard
and fast rule.

For ArmVirtQemu, this does depend strictly on the exception level, so
set the default to HVC (for EL1 execution) and override it to SMC when
booted at EL2.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Sami Mujawar <sami.mujawar@arm.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>

Committed-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Doug Flick [MSFT] <doug.edk2@gmail.com>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
2024-05-24 15:48:52 +00:00
..
ArmPlatformLibQemu ArmVirtPkg/ArmPlatformLibQemu: Make IdMap.S BTI compatible 2023-03-30 11:05:22 +00:00
ArmVirtDxeHobLib ArmVirtPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ArmVirtGicArchLib ArmVirtPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
ArmVirtMemoryInitPeiLib ArmVirtPkg/QemuVirtMemInfoLib: use HOB not PCD to record the memory size 2022-10-26 17:28:39 +00:00
ArmVirtPL031FdtClientLib ArmVirtPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
ArmVirtPciHostBridgeUtilityLib ArmVirtPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ArmVirtPsciResetSystemLib ArmVirtPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
ArmVirtPsciResetSystemPeiLib ArmVirtPkg: Move PCD of FDT base address and FDT padding to OvmfPkg 2024-02-06 23:51:47 +08:00
ArmVirtTimerFdtClientLib ArmVirtPkg: handle virtual EL2 timer in DT 2023-09-19 20:27:55 +00:00
CloudHvVirtMemInfoLib ArmVirtPkg: Move PCD of FDT base address and FDT padding to OvmfPkg 2024-02-06 23:51:47 +08:00
DebugLibFdtPL011Uart ArmVirtPkg: Move PCD of FDT base address and FDT padding to OvmfPkg 2024-02-06 23:51:47 +08:00
Fdt16550SerialPortHookLib ArmVirtPkg: Move PCD of FDT base address and FDT padding to OvmfPkg 2024-02-06 23:51:47 +08:00
FdtPL011SerialPortLib ArmVirtPkg: Move PCD of FDT base address and FDT padding to OvmfPkg 2024-02-06 23:51:47 +08:00
KvmtoolPlatformPeiLib ArmVirtPkg: Move PCD of FDT base address and FDT padding to OvmfPkg 2024-02-06 23:51:47 +08:00
KvmtoolRtcFdtClientLib ArmVirtPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
KvmtoolVirtMemInfoLib ArmVirtPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
NorFlashKvmtoolLib ArmVirtPkg: Fallback to variable emulation if no CFI is found 2023-05-29 15:14:00 +00:00
NorFlashQemuLib ArmVirtPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
PlatformPeiLib ArmVirtPkg: Use dynamic PCD to set the SMCCC conduit 2024-05-24 15:48:52 +00:00
QemuVirtMemInfoLib ArmVirtPkg: Move PCD of FDT base address and FDT padding to OvmfPkg 2024-02-06 23:51:47 +08:00
XenArmGenericTimerVirtCounterLib ArmVirtPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
XenVirtMemInfoLib ArmVirtPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00