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:
lgao4 2007-11-20 01:58:41 +00:00
parent f20ffb9ad3
commit b010fb77c7
3 changed files with 2 additions and 49 deletions

View File

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

View File

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

View File

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