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
58 RuntimeDriverCalculateCrc32 (
67 RuntimeDriverRegisterImage (
68 IN EFI_RUNTIME_ARCH_PROTOCOL
*This
,
69 IN EFI_PHYSICAL_ADDRESS ImageBase
,
71 IN VOID
*RelocationData
77 RuntimeDriverRegisterEvent (
78 IN EFI_RUNTIME_ARCH_PROTOCOL
*This
,
81 IN EFI_EVENT_NOTIFY NotifyFunction
,
82 IN VOID
*NotifyContext
,
89 RuntimeDriverConvertPointer (
90 IN UINTN DebugDisposition
,
91 IN OUT VOID
**ConvertAddress
96 RuntimeDriverInitializeCrc32Table (
103 RuntimeDriverInitialize (
104 IN EFI_HANDLE ImageHandle
,
105 IN EFI_SYSTEM_TABLE
*SystemTable
111 // Cache Flush Routine.
115 IN EFI_PHYSICAL_ADDRESS Start
,