Complement fix for revision #10998 (Remove PI SMM IPL's dependency on CPU AP).
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11001 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -567,6 +567,7 @@ SmmIplSmmConfigurationEventNotify (
|
|||||||
|
|
||||||
//
|
//
|
||||||
// Attempt to reset SMRAM cacheability to UC
|
// Attempt to reset SMRAM cacheability to UC
|
||||||
|
// Assume CPU AP is available at this time
|
||||||
//
|
//
|
||||||
Status = gDS->SetMemorySpaceAttributes(
|
Status = gDS->SetMemorySpaceAttributes(
|
||||||
mSmramCacheBase,
|
mSmramCacheBase,
|
||||||
@@ -1069,6 +1070,7 @@ SmmIplEntry (
|
|||||||
// Note that it is expected that cacheability of SMRAM has been set to WB if CPU AP
|
// Note that it is expected that cacheability of SMRAM has been set to WB if CPU AP
|
||||||
// is not available here.
|
// is not available here.
|
||||||
//
|
//
|
||||||
|
CpuArch = NULL;
|
||||||
Status = gBS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL, (VOID **)&CpuArch);
|
Status = gBS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL, (VOID **)&CpuArch);
|
||||||
if (!EFI_ERROR (Status)) {
|
if (!EFI_ERROR (Status)) {
|
||||||
Status = gDS->SetMemorySpaceAttributes(
|
Status = gDS->SetMemorySpaceAttributes(
|
||||||
@@ -1121,6 +1123,7 @@ SmmIplEntry (
|
|||||||
//
|
//
|
||||||
// Attempt to reset SMRAM cacheability to UC
|
// Attempt to reset SMRAM cacheability to UC
|
||||||
//
|
//
|
||||||
|
if (CpuArch != NULL) {
|
||||||
Status = gDS->SetMemorySpaceAttributes(
|
Status = gDS->SetMemorySpaceAttributes(
|
||||||
mSmramCacheBase,
|
mSmramCacheBase,
|
||||||
mSmramCacheSize,
|
mSmramCacheSize,
|
||||||
@@ -1130,6 +1133,7 @@ SmmIplEntry (
|
|||||||
DEBUG ((DEBUG_WARN, "SMM IPL failed to reset SMRAM window to EFI_MEMORY_UC\n"));
|
DEBUG ((DEBUG_WARN, "SMM IPL failed to reset SMRAM window to EFI_MEMORY_UC\n"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
//
|
//
|
||||||
// Print error message that there are not enough SMRAM resources to load the SMM Core.
|
// Print error message that there are not enough SMRAM resources to load the SMM Core.
|
||||||
|
Reference in New Issue
Block a user