mirror of https://github.com/acidanthera/audk.git
Revert R4300 change, Runtime driver doesn't need to covert the physical address stored in the configure tables after SetVirtualAddressMap().
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4305 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
f20ffb9ad3
commit
b010fb77c7
|
@ -274,12 +274,6 @@ Returns:
|
|||
EFI_RUNTIME_IMAGE_ENTRY *RuntimeImage;
|
||||
LIST_ENTRY *Link;
|
||||
EFI_PHYSICAL_ADDRESS VirtImageBase;
|
||||
UINTN Index;
|
||||
UINTN Index1;
|
||||
UINTN Index2;
|
||||
UINTN Index3;
|
||||
EFI_CAPSULE_TABLE *CapsuleTable;
|
||||
EFI_CAPSULE_INFO_TABLE *CapsuleInfoTable;
|
||||
|
||||
//
|
||||
// Can only switch to virtual addresses once the memory map is locked down,
|
||||
|
@ -372,44 +366,8 @@ Returns:
|
|||
RuntimeDriverCalculateEfiHdrCrc (&gRT->Hdr);
|
||||
|
||||
//
|
||||
// BugBug: PI requires System Configuration Tables Conversion.
|
||||
// Currently, we do not implement it.
|
||||
// UEFI don't require System Configuration Tables Conversion.
|
||||
//
|
||||
for (Index = 0; Index < gST->NumberOfTableEntries; Index++) {
|
||||
//
|
||||
// CapsuleInfoGuid in ConfigTable refers to an array of CapsuleGuid, it is information
|
||||
// from which you can tell which vendorGuids in ConfigTable are related to CapsuleTable.
|
||||
// Each CapsuleTable points to a array of capsules across a system reset. Then convert
|
||||
// the array contents to make these capsules visiable in Runtime.
|
||||
//
|
||||
|
||||
//
|
||||
// Firstly, Get CapsulInfoGuid in ConfigTable, it points to CapsuleInfoTable, which
|
||||
// gather all the installed capsules' guids.
|
||||
//
|
||||
if (CompareGuid (&gEfiCapsuleInfoGuid, &(gST->ConfigurationTable[Index].VendorGuid))) {
|
||||
CapsuleInfoTable = gST->ConfigurationTable[Index].VendorTable;
|
||||
//
|
||||
// For each known CapsuleGuid in CapsuleInfoTable, loop the whole ConfigTable to
|
||||
// find out this guid related to CapsuleTable.
|
||||
//
|
||||
for (Index1 = 0; Index1 < CapsuleInfoTable->CapsuleGuidNumber; Index1++) {
|
||||
for (Index2 = 0; Index2 < gST->NumberOfTableEntries; Index2++) {
|
||||
//
|
||||
// Find out certain CapsuleTable, go through its contents array, and convert them.
|
||||
//
|
||||
if (CompareGuid (&CapsuleInfoTable->CapsuleGuidPtr[Index1], &(gST->ConfigurationTable[Index2].VendorGuid))) {
|
||||
CapsuleTable = gST->ConfigurationTable[Index2].VendorTable;
|
||||
for (Index3 = 0; Index3 < CapsuleTable->CapsuleArrayNumber; Index3++) {
|
||||
RuntimeDriverConvertInternalPointer ((VOID **) &CapsuleTable->CapsulePtr[Index3]);
|
||||
}
|
||||
RuntimeDriverConvertInternalPointer ((VOID **) &(gST->ConfigurationTable[Index2].VendorTable));
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Convert the runtime fields of the EFI System Table and recompute the CRC-32
|
||||
|
|
|
@ -25,7 +25,6 @@ Abstract:
|
|||
#define _RUNTIME_H_
|
||||
|
||||
#include <PiDxe.h>
|
||||
#include <Guid/CapsuleInfo.h>
|
||||
#include <Protocol/LoadedImage.h>
|
||||
#include <Protocol/Runtime.h>
|
||||
#include <Library/BaseLib.h>
|
||||
|
|
|
@ -38,7 +38,6 @@
|
|||
|
||||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
||||
MdeModulePkg/MdeModulePkg.dec
|
||||
|
||||
[LibraryClasses]
|
||||
PeCoffLib
|
||||
|
@ -51,9 +50,6 @@
|
|||
UefiDriverEntryPoint
|
||||
BaseLib
|
||||
|
||||
[Guids]
|
||||
gEfiCapsuleInfoGuid
|
||||
|
||||
[Protocols]
|
||||
gEfiRuntimeArchProtocolGuid # PROTOCOL ALWAYS_PRODUCED
|
||||
gEfiLoadedImageProtocolGuid # PROTOCOL ALWAYS_CONSUMED
|
||||
|
|
Loading…
Reference in New Issue