Branch: refs/heads/master
Home: https://github.com/tianocore/edk2
Commit: 7c0fed45459bb7e7b7aa92fe9d3c78763324f473
https://github.com/tianocore/edk2/commit/7c0fed45459bb7e7b7aa92fe9d3c78763324f473
Author: Sami Mujawar <[email protected]>
Date: 2026-04-29 (Wed, 29 Apr 2026)
Changed paths:
M ArmVirtPkg/ArmVirtPkg.dec
Log Message:
-----------
ArmVirtPkg: Add GUID HOBs to cache Realm IPA width and execution state
The Realm IPA width is obtained from the Realm Configuration
using the RSI_REALM_CONFIG call. Once retrieved, the value can
be cached in a GUID HOB (gArmCcaIpaWidthGuid) for reuse.
The ArmCcaIsRealm() function returns whether the current execution
context is a Realm. This is determined by first checking for RME
support and, if present, issuing the RSI_VERSION call. A successful
RSI_VERSION call confirms execution within a Realm. The result
can then be cached in a GUID HOB (gArmCcaIsRealmGuid).
Introduce gArmCcaIpaWidthGuid and gArmCcaIsRealmGuid to cache
the Realm IPA width and execution state respectively, avoiding
repeated RSI calls.
Cc: Ard Biesheuvel <[email protected]>
Cc: Leif Lindholm <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Signed-off-by: Sami Mujawar <[email protected]>
Commit: 39ff71df13cb375acb2a1d6b81578daadcbaad5d
https://github.com/tianocore/edk2/commit/39ff71df13cb375acb2a1d6b81578daadcbaad5d
Author: Sami Mujawar <[email protected]>
Date: 2026-04-29 (Wed, 29 Apr 2026)
Changed paths:
M ArmVirtPkg/ArmVirtPkg.dec
A ArmVirtPkg/Include/Library/ArmCcaLib.h
A ArmVirtPkg/Library/ArmCcaLib/ArmCcaLib.c
A ArmVirtPkg/Library/ArmCcaLib/ArmCcaLib.inf
Log Message:
-----------
ArmVirtPkg: Add library for Arm CCA helper functions
Introduce ArmCcaLib library that implements helper
functions to determine whether the current execution
state is a Realm and to query the Realm IPA width.
This currently relies on issuing Realm Service Interface (RSI)
calls, which cause exits from the Realm to retrieve the required
information. To reduce the number of Realm exits, this information
should be cached once retrieved, which is done by PlatformPeim()
that calls the ArmCcaInitialiseHobs() to create the GUID HOBs
to cache the information.
Some firmware builds do not support writing to static variables
during early boot phases leading to potential synchronous exceptions,
while other firmware builds that utilise PrePi (PeilessSec) do not
support accessing GUID HOBs during the early boot phase.
To support all configurations:
- First, check whether HOBs are initialized using GetHobList().
- If HOBs are not initialized, fall back to issuing an RSI call
to retrieve the requested information.
- If HOBs are initialized:
* Check for the presence of a GUID HOB containing the required
data.
* If present, return the cached value from the HOB.
* If absent, issue an RSI call to retrieve the requested
information. This is required as the PlatformPeim() which
calls the ArmCcaInitialiseHobs() to create the GUID HOBs
to cache the information may not have been invoked as yet.
This approach ensures safe operation during early boot while reducing
unnecessary Realm exits once HOBs are available.
Note: ArmCcaInitialiseHobs() and associated functionality
will be added in subsequent patches.
Cc: Ard Biesheuvel <[email protected]>
Cc: Leif Lindholm <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Signed-off-by: Sami Mujawar <[email protected]>
Commit: 1ae23a7acd137290212ce32c1ebc58610dc442cd
https://github.com/tianocore/edk2/commit/1ae23a7acd137290212ce32c1ebc58610dc442cd
Author: Sami Mujawar <[email protected]>
Date: 2026-04-29 (Wed, 29 Apr 2026)
Changed paths:
M ArmVirtPkg/ArmVirt.dsc.inc
A ArmVirtPkg/Library/ArmCcaLibNull/ArmCcaLibNull.c
A ArmVirtPkg/Library/ArmCcaLibNull/ArmCcaLibNull.inf
Log Message:
-----------
ArmVirtPkg: Add Null instance of ArmCcaLib
Add a Null instance of ArmCcaLib so that guest firmware that does
not support Arm CCA can link to this Null version of the library.
Also include it in ArmVirt.dsc.inc so that it is linked for the
non-Arm CCA firmware builds.
Cc: Ard Biesheuvel <[email protected]>
Cc: Leif Lindholm <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Signed-off-by: Sami Mujawar <[email protected]>
Commit: b6480f6270b3a18acd598e16c84c281fcafd4396
https://github.com/tianocore/edk2/commit/b6480f6270b3a18acd598e16c84c281fcafd4396
Author: Sami Mujawar <[email protected]>
Date: 2026-04-29 (Wed, 29 Apr 2026)
Changed paths:
M ArmVirtPkg/Include/Library/ArmCcaLib.h
M ArmVirtPkg/Library/ArmCcaLib/ArmCcaLib.c
M ArmVirtPkg/Library/ArmCcaLibNull/ArmCcaLibNull.c
Log Message:
-----------
ArmVirtPkg: Add a helper to check protected MMIO address
Realm Devices are protected devices and are not emulated by
the VMM. The RIPAS value for the MMIO address range for these
devices is RipasDev indicating the address range is protected
MMIO.
Therefore, introduce an helper function to check if the MMIO
address range is protected MMIO by issuing RSI_IPA_STATE_GET
commands.
Cc: Ard Biesheuvel <[email protected]>
Cc: Leif Lindholm <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Signed-off-by: Sami Mujawar <[email protected]>
Compare: https://github.com/tianocore/edk2/compare/351dfdb3836f...b6480f6270b3
To unsubscribe from these emails, change your notification settings at
https://github.com/tianocore/edk2/settings/notifications
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits