-
Notifications
You must be signed in to change notification settings - Fork 162
[Rebase & FF] Making StandaloneMmIplPei compatible with supervisor #1583
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
base: release/202502
Are you sure you want to change the base?
Conversation
StandaloneMmPkg/Drivers/MmCommunicationDxe/MmCommunicationDxe.c
Outdated
Show resolved
Hide resolved
| // // | ||
| // // Build ACPI variable HOB | ||
| // // | ||
| // HobLength = GetRemainingHobSize (*FoundationHobSize, UsedSize); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will be guarded by the s3 PCD.
| HobLength = GetRemainingHobSize (*FoundationHobSize, UsedSize); | ||
| MmIplBuildResourceHobForUnblockedRegion (FoundationHobList + UsedSize, &HobLength); | ||
| // MmIplBuildResourceHobForUnblockedRegion (FoundationHobList + UsedSize, &HobLength); | ||
| MmIplCopyGuidHob (FoundationHobList + UsedSize, &HobLength, &gMmUnblockRegionHobGuid, TRUE); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We will rename the GUID...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A different PR is created here: microsoft/mu_feature_mm_supv#583
| Size = sizeof (CommunicateHeader); | ||
| Status = Communicate (NULL, &CommunicateHeader, &Size); | ||
| ASSERT_EFI_ERROR (Status); | ||
| // ASSERT_EFI_ERROR (Status); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure what to do with this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is PRed as is. Will see if others have different opinions.
The current module checks the value of gEfiAcpiVariableGuid hobs and could assert if there is no such hob available. However, these hobs are only available if a platform elects to support S3. Thus this change moves the hob copy logic behind a PCD check to prevent unnecessary asserts. Signed-off-by: Kun Qin <[email protected]>
The current module checks the return status of MmIplDispatchMmDrivers. Any failure would cause the system to assert. However, this should not be deemed as fatal since the result could be entirely implementation defined on the Standalone MM core side. This change loosens the check and not to do asserts on dispatcher requests. Signed-off-by: Kun Qin <[email protected]>
Description
Current implementation of the
StandaloneMmIplPeihas a few design differences compared to MM supervisor.This will introduce more maintenance burden as we move to the next phase of MM supervisor.
This change is made to try to converge the 2 designs, at least from the perspective of IPL, in order to use the IPL as is and still conform to the MM supervisor modelity.
For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
How This Was Tested
This is tested on QEMU Q35 and booted to UEFI shell.
Integration Instructions
N/A