3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 Runtime Architectural Protocol as defined in the DXE CIS
20 This code is used to produce the EFI runtime virtual switch over
33 EFI_PHYSICAL_ADDRESS ImageBase
;
34 UINTN ImageSize
; // In no. of pages
36 } RUNTIME_IMAGE_RELOCATION_DATA
;
42 IN EFI_EVENT_NOTIFY NotifyFunction
;
43 IN VOID
*NotifyContext
;
45 } RUNTIME_NOTIFY_EVENT_DATA
;
48 // Function Prototypes
51 RelocatePeImageForRuntime (
52 RUNTIME_IMAGE_RELOCATION_DATA
*Image
57 PeHotRelocateImageEx (
60 IN OUT CHAR8
**FixupData
,
67 RuntimeDriverCalculateCrc32 (
76 RuntimeDriverRegisterImage (
77 IN EFI_RUNTIME_ARCH_PROTOCOL
*This
,
78 IN EFI_PHYSICAL_ADDRESS ImageBase
,
80 IN VOID
*RelocationData
86 RuntimeDriverRegisterEvent (
87 IN EFI_RUNTIME_ARCH_PROTOCOL
*This
,
90 IN EFI_EVENT_NOTIFY NotifyFunction
,
91 IN VOID
*NotifyContext
,
98 RuntimeDriverConvertPointer (
99 IN UINTN DebugDisposition
,
100 IN OUT VOID
**ConvertAddress
105 RuntimeDriverInitializeCrc32Table (
112 RuntimeDriverInitialize (
113 IN EFI_HANDLE ImageHandle
,
114 IN EFI_SYSTEM_TABLE
*SystemTable
120 // Cache Flush Routine.
124 IN EFI_PHYSICAL_ADDRESS Start
,