Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Arm CCA guest firmware v3 (RMM-v1.0-rel0) #6480

Open
wants to merge 57 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
33d03a0
ArmPkg: Add helper function to detect RME
samimujawar Jul 8, 2022
571106d
ArmPkg: Introduce SetMemoryProtectionAttribute() for Realms
samimujawar Aug 17, 2023
95c8d03
ArmPkg: Extend number of parameter registers in SMC call
samimujawar Jul 11, 2022
c52c4f2
ArmVirtPkg: Add Arm CCA Realm Service Interface Library
samimujawar Jul 8, 2022
e6a862d
ArmVirtPkg: ArmCcaRsiLib: Add interfaces to manage the Realm IPA state
samimujawar Nov 28, 2022
f7deb4a
ArmVirtPkg: ArmCcaRsiLib: Add an interface to get an attestation token
samimujawar Nov 28, 2022
d231896
ArmVirtPkg: ArmCcaRsiLib: Add interfaces to get/extend REMs
samimujawar Nov 28, 2022
2776a72
ArmVirtPkg: ArmCcaRsiLib: Add an interface to make a RSI Host Call
samimujawar Nov 28, 2022
64a6ed3
ArmVirtPkg: Define a GUID HOB for IPA width of a Realm
samimujawar Jul 11, 2022
0a39bde
ArmVirtPkg: Add library for Arm CCA initialisation in PEI
samimujawar Jul 12, 2022
f3ae8ce
ArmVirtPkg: Add NULL instance of ArmCcaInitPeiLib
samimujawar Jul 12, 2022
3d4d8cb
ArmVirtPkg: Add library for Arm CCA helper functions
samimujawar Jul 8, 2022
d5b68cc
ArmVirtPkg: Add Null instance of ArmCcaLib
samimujawar Jul 8, 2022
354de43
ArmVirtPkg: Define an interface to configure MMIO regions for Arm CCA
samimujawar Jul 11, 2022
e1f5304
ArmVirtPkg: CloudHv: Add a NULL implementation of ArmCcaConfigureMmio
samimujawar Apr 14, 2023
5bcb8cb
ArmVirtPkg: Qemu: Add a NULL implementation of ArmCcaConfigureMmio
samimujawar Apr 14, 2023
5233327
ArmVirtPkg: Xen: Add a NULL implementation of ArmCcaConfigureMmio
samimujawar Apr 14, 2023
9d45084
ArmVirtPkg: Configure the MMIO regions for Arm CCA
samimujawar Jul 11, 2022
c5ec28e
ArmVirtPkg: Kvmtool: Use Null version of DebugLib in PrePi
samimujawar Mar 13, 2023
9f7b47c
ArmVirtPkg: Add Arm CCA libraries for Kvmtool guest firmware
samimujawar Jul 11, 2022
bd5b011
ArmVirtPkg: Arm CCA configure system memory in early Pei
samimujawar Jul 8, 2022
99dd7ed
ArmVirtPkg: Perform Arm CCA initialisation in the Pei phase
samimujawar Jul 11, 2022
009e0c3
ArmVirtPkg: Introduce Realm Aperture Management Protocol
samimujawar Sep 20, 2018
9faad03
ArmVirtPkg: IoMMU driver to DMA from Realms
samimujawar Nov 29, 2022
b567cb4
ArmVirtPkg: Enable Virtio communication for Arm CCA
samimujawar Jul 14, 2022
c32af9b
MdePkg: Warn if AArch64 RNDR instruction is not supported
samimujawar Apr 17, 2023
7e6f46f
ArmVirtPkg: Kvmtool: Switch to use BaseRng for AArch64
samimujawar Apr 17, 2023
ae52985
ArmVirtPkg: ArmCcaRsiLib: Fix incorrect RSI version masks
samimujawar Aug 24, 2023
56bc6aa
ArmVirtPkg: ArmCcaRsiLib: Fix size of Imm field in HostCallArgs
samimujawar Sep 12, 2023
3743ca3
ArmVirtPkg: RMM 1.0-bet1 - Update width of RSI host call struct
samimujawar Sep 4, 2023
bb5b2bb
ArmVirtPkg: RMM 1.0-bet2 - Increase number of RSI host call args
samimujawar Jun 19, 2023
add3c5e
ArmVirtPkg: RMM 1.0-eac0 - Update RsiSetIpaState parameter usage
samimujawar May 2, 2023
67911fa
ArmVirtPkg: RMM 1.0-eac1 - Relax alignment of RSI host call arg
samimujawar Sep 4, 2023
069fedb
ArmVirtPkg: RMM 1.0-eac2 - Update RsiRealmConfig structure
samimujawar Aug 24, 2023
510d606
ArmVirtPkg: RMM 1.0-eac2 - Add RIPAS DESTROYED state
samimujawar Aug 24, 2023
fee563d
ArmVirtPkg: RMM 1.0-eac2 - Add RsiRipasChangeFlags definitions
samimujawar Aug 24, 2023
6af2c0b
ArmVirtPkg: RMM 1.0-eac2 - Add Flags to RsiSetIpaState()
samimujawar Aug 24, 2023
f1a3e5c
ArmVirtPkg: RMM 1.0-eac3 - Handle RsiSetIpaState() response
samimujawar Sep 25, 2023
da5c906
ArmVirtPkg: RMM 1.0-eac4 - Add RSI Features support
samimujawar Oct 10, 2023
2617e5f
ArmVirtPkg: RMM 1.0-eac5 - Attestation token API updates
samimujawar Aug 17, 2023
63cb1ba
ArmVirtPkg: RMM 1.0-eac5 - Update RSI Version support
samimujawar Oct 9, 2023
79791d4
ArmVirtPkg: ArmCcaLib: Cache current world value
samimujawar Nov 30, 2023
ea67920
ArmVirtPkg: ArmCcaIoMmu: Provide an implementation for SetAttribute
samimujawar Feb 5, 2024
2a745dd
ArmVirtPkg: RMM 1.0-rel0 - Update RIPAS state to add RipasDev
samimujawar Aug 14, 2024
39f68d0
ArmVirtPkg: RMM 1.0-rel0 - Add IPA range param to RsiGetIpaState()
samimujawar Jul 23, 2024
32923c2
ArmVirtPkg: RMM 1.0-rel0 - Add RPV to RealmConfig
samimujawar Aug 14, 2024
f7c1410
ArmVirtPkg: RMM 1.0-rel0 - Add RSI_ERROR_UNKNOWN return code
samimujawar Aug 14, 2024
f4b937e
ArmVirtPkg: Introduce an ArmPlatformDeviceInfo lib
samimujawar Aug 16, 2024
eb79f94
ArmVirtPkg: ArmPlarformDeviceInfoLib - add GIC parser
samimujawar Aug 16, 2024
67145cf
ArmVirtPkg: ArmPlarformDeviceInfoLib - add PCI parser
samimujawar Aug 16, 2024
5f5ad19
ArmVirtPkg: ArmPlatformDeviceInfoLib - add dev parser
samimujawar Aug 16, 2024
678cd43
ArmVirtPkg: ArmPlatformDeviceInfoLib - add serial parser
samimujawar Aug 16, 2024
c2454b2
ArmVirtPkg: ArmPlatformDeviceInfoLib - add RTC parser
samimujawar Aug 16, 2024
16f089c
ArmVirtPkg: Kvmtool - Parse FDT to populate mem map
samimujawar Aug 16, 2024
209dbf5
ArmVirtPkg: RMM 1.0-rel0 - Helper to check protected MMIO address
samimujawar Oct 9, 2024
43476c3
ArmVirtPkg: RMM 1.0-rel0 - Exclude MMIO config of Realm Devices
samimujawar Aug 22, 2024
535c33f
ArmVirtPkg: Kvmtool: Only install IORT if ITS is present
samimujawar Oct 9, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ArmVirtPkg/ArmVirtKvmTool.dsc
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@
[LibraryClasses.AARCH64]
ArmCcaLib|ArmVirtPkg/Library/ArmCcaLib/ArmCcaLib.inf
ArmCcaRsiLib|ArmVirtPkg/Library/ArmCcaRsiLib/ArmCcaRsiLib.inf
RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In DXE ArmVirt already uses RNDR if available, via DxeRngLib -> EFI_RNG_PROTOCOL -> RngDxe -> BaseRngLib.inf

Using BaseRngLib.inf unconditionally isn't a good idea I think. There is too much hardware in the wild which has no RNDR support.


[LibraryClasses.common.SEC, LibraryClasses.common.PEI_CORE, LibraryClasses.common.PEIM]
PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
Expand Down