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;
|
EFI_RUNTIME_IMAGE_ENTRY *RuntimeImage;
|
||||||
LIST_ENTRY *Link;
|
LIST_ENTRY *Link;
|
||||||
EFI_PHYSICAL_ADDRESS VirtImageBase;
|
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,
|
// Can only switch to virtual addresses once the memory map is locked down,
|
||||||
|
@ -372,44 +366,8 @@ Returns:
|
||||||
RuntimeDriverCalculateEfiHdrCrc (&gRT->Hdr);
|
RuntimeDriverCalculateEfiHdrCrc (&gRT->Hdr);
|
||||||
|
|
||||||
//
|
//
|
||||||
// BugBug: PI requires System Configuration Tables Conversion.
|
// UEFI don't require System Configuration Tables Conversion.
|
||||||
// Currently, we do not implement it.
|
//
|
||||||
//
|
|
||||||
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
|
// Convert the runtime fields of the EFI System Table and recompute the CRC-32
|
||||||
|
|
|
@ -25,7 +25,6 @@ Abstract:
|
||||||
#define _RUNTIME_H_
|
#define _RUNTIME_H_
|
||||||
|
|
||||||
#include <PiDxe.h>
|
#include <PiDxe.h>
|
||||||
#include <Guid/CapsuleInfo.h>
|
|
||||||
#include <Protocol/LoadedImage.h>
|
#include <Protocol/LoadedImage.h>
|
||||||
#include <Protocol/Runtime.h>
|
#include <Protocol/Runtime.h>
|
||||||
#include <Library/BaseLib.h>
|
#include <Library/BaseLib.h>
|
||||||
|
|
|
@ -38,7 +38,6 @@
|
||||||
|
|
||||||
[Packages]
|
[Packages]
|
||||||
MdePkg/MdePkg.dec
|
MdePkg/MdePkg.dec
|
||||||
MdeModulePkg/MdeModulePkg.dec
|
|
||||||
|
|
||||||
[LibraryClasses]
|
[LibraryClasses]
|
||||||
PeCoffLib
|
PeCoffLib
|
||||||
|
@ -51,9 +50,6 @@
|
||||||
UefiDriverEntryPoint
|
UefiDriverEntryPoint
|
||||||
BaseLib
|
BaseLib
|
||||||
|
|
||||||
[Guids]
|
|
||||||
gEfiCapsuleInfoGuid
|
|
||||||
|
|
||||||
[Protocols]
|
[Protocols]
|
||||||
gEfiRuntimeArchProtocolGuid # PROTOCOL ALWAYS_PRODUCED
|
gEfiRuntimeArchProtocolGuid # PROTOCOL ALWAYS_PRODUCED
|
||||||
gEfiLoadedImageProtocolGuid # PROTOCOL ALWAYS_CONSUMED
|
gEfiLoadedImageProtocolGuid # PROTOCOL ALWAYS_CONSUMED
|
||||||
|
|
Loading…
Reference in New Issue