From 92ea7f231b3948395e6348ab6e38e3467eff7a3d Mon Sep 17 00:00:00 2001 From: ajfish Date: Sun, 22 Oct 2006 07:32:16 +0000 Subject: 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 --- .../Universal/Runtime/RuntimeDxe/Runtime.c | 2 +- .../Universal/Runtime/RuntimeDxe/Runtime.h | 30 +++++----------------- .../Universal/Runtime/RuntimeDxe/Runtime.msa | 8 +++--- 3 files changed, 11 insertions(+), 29 deletions(-) (limited to 'EdkModulePkg/Universal/Runtime') diff --git a/EdkModulePkg/Universal/Runtime/RuntimeDxe/Runtime.c b/EdkModulePkg/Universal/Runtime/RuntimeDxe/Runtime.c index f3899bc8e1..61dbd9c1fc 100644 --- a/EdkModulePkg/Universal/Runtime/RuntimeDxe/Runtime.c +++ b/EdkModulePkg/Universal/Runtime/RuntimeDxe/Runtime.c @@ -468,7 +468,7 @@ RuntimeDriverSetVirtualAddressMap ( RuntimeImage->RelocationData ); - FlushCpuCache (RuntimeImage->ImageBase, (UINT64)RuntimeImage->ImageSize); + InvalidateInstructionCacheRange ((VOID *)(UINTN)RuntimeImage->ImageBase, (UINTN)RuntimeImage->ImageSize); } } // diff --git a/EdkModulePkg/Universal/Runtime/RuntimeDxe/Runtime.h b/EdkModulePkg/Universal/Runtime/RuntimeDxe/Runtime.h index 5b582c76ba..1aa0af5767 100644 --- a/EdkModulePkg/Universal/Runtime/RuntimeDxe/Runtime.h +++ b/EdkModulePkg/Universal/Runtime/RuntimeDxe/Runtime.h @@ -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 diff --git a/EdkModulePkg/Universal/Runtime/RuntimeDxe/Runtime.msa b/EdkModulePkg/Universal/Runtime/RuntimeDxe/Runtime.msa index b72531eafb..516dfa4855 100644 --- a/EdkModulePkg/Universal/Runtime/RuntimeDxe/Runtime.msa +++ b/EdkModulePkg/Universal/Runtime/RuntimeDxe/Runtime.msa @@ -49,17 +49,15 @@ UefiBootServicesTableLib + + CacheMaintenanceLib + Runtime.dxs Runtime.c Runtime.h Crc32.c - Ia32/PeHotRelocateEx.c - x64/PeHotRelocateEx.c - x64/PeHotRelocateEx.h - Ipf/PeHotRelocateEx.c - Ipf/PeHotRelocateEx.h -- cgit v1.2.3