Updated the Runtime Driver to use the MDE libs for cache flush and removed local copy of Cache flush code. Updated FPD files that include Runtime driver as a new lib was added to Runtime Driver for the cache flush. Removed Cache Flush routine from EDK DXE SAL Lib.
Cleaned up BaseLib IPF cache routines to only Flush ranges when needed and not to flush the entire cache. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1811 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -468,7 +468,7 @@ RuntimeDriverSetVirtualAddressMap (
|
||||
RuntimeImage->RelocationData
|
||||
);
|
||||
|
||||
FlushCpuCache (RuntimeImage->ImageBase, (UINT64)RuntimeImage->ImageSize);
|
||||
InvalidateInstructionCacheRange ((VOID *)(UINTN)RuntimeImage->ImageBase, (UINTN)RuntimeImage->ImageSize);
|
||||
}
|
||||
}
|
||||
//
|
||||
|
@@ -50,8 +50,7 @@ typedef struct {
|
||||
VOID
|
||||
RelocatePeImageForRuntime (
|
||||
RUNTIME_IMAGE_RELOCATION_DATA *Image
|
||||
)
|
||||
;
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -59,8 +58,7 @@ RuntimeDriverCalculateCrc32 (
|
||||
IN VOID *Data,
|
||||
IN UINTN DataSize,
|
||||
OUT UINT32 *CrcOut
|
||||
)
|
||||
;
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -69,8 +67,7 @@ RuntimeDriverRegisterImage (
|
||||
IN EFI_PHYSICAL_ADDRESS ImageBase,
|
||||
IN UINTN ImageSize,
|
||||
IN VOID *RelocationData
|
||||
)
|
||||
;
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
@@ -81,40 +78,27 @@ RuntimeDriverRegisterEvent (
|
||||
IN EFI_EVENT_NOTIFY NotifyFunction,
|
||||
IN VOID *NotifyContext,
|
||||
IN EFI_EVENT *Event
|
||||
)
|
||||
;
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
RuntimeDriverConvertPointer (
|
||||
IN UINTN DebugDisposition,
|
||||
IN OUT VOID **ConvertAddress
|
||||
)
|
||||
;
|
||||
);
|
||||
|
||||
VOID
|
||||
RuntimeDriverInitializeCrc32Table (
|
||||
VOID
|
||||
)
|
||||
;
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
RuntimeDriverInitialize (
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
)
|
||||
;
|
||||
);
|
||||
|
||||
|
||||
//
|
||||
// Cache Flush Routine.
|
||||
//
|
||||
EFI_STATUS
|
||||
FlushCpuCache (
|
||||
IN EFI_PHYSICAL_ADDRESS Start,
|
||||
IN UINT64 Length
|
||||
)
|
||||
;
|
||||
|
||||
#endif
|
||||
|
@@ -49,17 +49,15 @@
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||
<Keyword>UefiBootServicesTableLib</Keyword>
|
||||
</LibraryClass>
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||
<Keyword>CacheMaintenanceLib</Keyword>
|
||||
</LibraryClass>
|
||||
</LibraryClassDefinitions>
|
||||
<SourceFiles>
|
||||
<Filename>Runtime.dxs</Filename>
|
||||
<Filename>Runtime.c</Filename>
|
||||
<Filename>Runtime.h</Filename>
|
||||
<Filename>Crc32.c</Filename>
|
||||
<Filename SupArchList="IA32">Ia32/PeHotRelocateEx.c</Filename>
|
||||
<Filename SupArchList="X64">x64/PeHotRelocateEx.c</Filename>
|
||||
<Filename SupArchList="X64">x64/PeHotRelocateEx.h</Filename>
|
||||
<Filename SupArchList="IPF">Ipf/PeHotRelocateEx.c</Filename>
|
||||
<Filename SupArchList="IPF">Ipf/PeHotRelocateEx.h</Filename>
|
||||
</SourceFiles>
|
||||
<PackageDependencies>
|
||||
<Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
|
||||
|
Reference in New Issue
Block a user