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:
rsun3
2010-11-04 05:27:23 +00:00
parent 5469967137
commit 0a6c090521

View File

@@ -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.