v21.0.0
What's Changed
-
MmSupervisorPkg/SeaPkg: Remove gMmSupervisorCommunicationRegionTableGuid @kuqin12 (#591)
Change Details
## Description
With the removal of MM core private data, the current module no longer produces
gMmSupervisorCommunicationRegionTableGuidconfiguration table.This change removed the dependencies on such table from the test applications and instead grab it through the supervisor protocol.
For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
This was tested with QEMU Q35.
Integration Instructions
N/A
</blockquote> <hr> </details>
-
SeaPkg: GenSeaArtifacts: Update scroll versions @kuqin12 (#594)
Change Details
## Description
This change updates the scroll versions inside the Cargo.toml files for both test_aux and gen_manifest.
This is to be consistent with the scroll version specified in other modules.
For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
This was tested on the platform and fixed the build break.
Integration Instructions
N/A
</blockquote> <hr> </details>
-
Replace all `__FUNCTION__` with `__func__` @kuqin12 (#582)
Change Details
## Description
EDK2 started to use FUNCTION for the entire codebase.
This change is created to follow the same scheme, paving the way for incoming code to use
__func__consistently.- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
Macro rename, not functional change.
Integration Instructions
N/A
-
Rename MM Unblock data hob GUID to be supervisor centric @kuqin12 (#583)
Change Details
## Description
This change is made because the EDK2 used exactly the same GUID name as ours and the
StandaloneMmIplPeiis trying to parse the GUID and mark it as accessible data.This change renamed the data hob GUID to avoid such collision and paves way for adopting
StandaloneMmIplPei.- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
This was tested on QEMU Q35 platform and booted to UEFI shell.
Integration Instructions
N/A
-
Remove custom definition of MmDispatch and their usages @kuqin12 (#579)
Change Details
## Description
MmDispatch.his supposed to be a temporary workaround. This change removes it and switch to return EFI_STATUS directly, which follows the implementation ofStandaloneMmIplPeifrom edk2.- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
This was tested on QEMU Q35 and booted to UEFI shell.
Integration Instructions
N/A.
⚠️ Breaking Changes
-
[Rebase \& FF] SeaPkg: Decouple from MU\_TIANO\_PLUS and MU\_PLUS usage @kuqin12 (#593)
Change Details
## Description
Ever since we moved away from the TPM dependent implementation, the SecurityPkg dependency is no longer needed.
In addition, the UefiTestingPkg is not needed from SeaPkg. So such package dependency should be cleaned up as well.
This change removes all the references to create a cleaner package layout.
For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
This was tested on hardware physical platform and QEMU Q35.
Integration Instructions
Replace the
HashLib|SeaPkg/Library/HashLibTpm2Raw/HashLibTpm2Raw.infwithHashLibRaw|SeaPkg/Library/HashLibRaw/HashLibRaw.inffrom platform DSC file.</blockquote> <hr> </details>
🚀 Features & ✨ Enhancements
-
Skip AP validation if the registers matches BSP @kuqin12 (#588)
Change Details
## Description
This change intends to resolve a performance issue where the current flow runs validation on all cores.
The change moves the validation to BSP routine only and APs will go over the register validation only and verify if the supervisor base addresses are consistent across all cores.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
This was tested on QEMU Q35 shell based application.
Integration Instructions
N/A
🐛 Bug Fixes
-
MmSupervisorPkg: DxeMmSupervisorVersionPublicationLib: Fix buffer size @kuqin12 (#592)
Change Details
## Description
The current implementation did not populate the message length properly. With the hardened MMI entrypoint, this is caught by the supervisor core and caused some asserts.
This change fixed the size calculation for supervisor version querying.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
This was tested on physical hardware and no longer break the boot process.
Integration Instructions
N/A
-
Fixing failing unit test for not populating correct `MessageLength` @kuqin12 (#580)
Change Details
## Description
This change fixes a bug in the unit test where the
MessageLengthfor the corresponding MMI request is not being properly populated, causing the test case to fail on the pipeline.- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
The test passed on QEMU Q35 platform.
Integration Instructions
N/A
🔐 Security Impacting
-
Skip AP validation if the registers matches BSP @kuqin12 (#588)
Change Details
## Description
This change intends to resolve a performance issue where the current flow runs validation on all cores.
The change moves the validation to BSP routine only and APs will go over the register validation only and verify if the supervisor base addresses are consistent across all cores.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
This was tested on QEMU Q35 shell based application.
Integration Instructions
N/A
-
Add a dummy `AsmInvd` function to suffice the usage from secondary libraries @kuqin12 (#595)
Change Details
## Description
The
CacheMaintenaceLibis implementing its own functions based on a fewBaseLibprimitives.Thus for any supervised standalone MM module that links cache maintenance library, the build could break.
This change bring back the function symbol but do not provide any implementation to resolve the build break but does not change the functionality of the original code.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
This was tested on physical hardware platform and fixed the build.
Integration Instructions
N/A
📖 Documentation Updates
-
[Rebase \& FF] SeaPkg: Decouple from MU\_TIANO\_PLUS and MU\_PLUS usage @kuqin12 (#593)
Change Details
## Description
Ever since we moved away from the TPM dependent implementation, the SecurityPkg dependency is no longer needed.
In addition, the UefiTestingPkg is not needed from SeaPkg. So such package dependency should be cleaned up as well.
This change removes all the references to create a cleaner package layout.
For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
- Impacts functionality?
- Impacts security?
- Breaking change?
- Includes tests?
- Includes documentation?
How This Was Tested
This was tested on hardware physical platform and QEMU Q35.
Integration Instructions
Replace the
HashLib|SeaPkg/Library/HashLibTpm2Raw/HashLibTpm2Raw.infwithHashLibRaw|SeaPkg/Library/HashLibRaw/HashLibRaw.inffrom platform DSC file.</blockquote> <hr> </details>
Full Changelog: v20.0.0...v21.0.0