]> git.proxmox.com Git - mirror_edk2.git/blame - EdkModulePkg/Universal/Runtime/RuntimeDxe/Runtime.h
Updated the Runtime Driver to use the MDE libs for cache flush and removed local...
[mirror_edk2.git] / EdkModulePkg / Universal / Runtime / RuntimeDxe / Runtime.h
CommitLineData
878ddf1f 1/*++\r
2\r
3Copyright (c) 2006, Intel Corporation \r
4All rights reserved. This program and the accompanying materials \r
5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13\r
14 Runtime.h\r
15\r
16Abstract:\r
17\r
18 Runtime Architectural Protocol as defined in the DXE CIS\r
19\r
20 This code is used to produce the EFI runtime virtual switch over\r
21\r
22--*/\r
23\r
24#ifndef _RUNTIME_H_\r
25#define _RUNTIME_H_\r
26\r
27//\r
28// Data structures\r
29//\r
30typedef struct {\r
31 LIST_ENTRY Link;\r
32 BOOLEAN Valid;\r
33 EFI_PHYSICAL_ADDRESS ImageBase;\r
34 UINTN ImageSize; // In no. of pages\r
35 VOID *RelocationData;\r
36} RUNTIME_IMAGE_RELOCATION_DATA;\r
37\r
38typedef struct {\r
39 LIST_ENTRY Link;\r
40 IN UINT32 Type;\r
41 IN EFI_TPL NotifyTpl;\r
42 IN EFI_EVENT_NOTIFY NotifyFunction;\r
43 IN VOID *NotifyContext;\r
44 IN EFI_EVENT Event;\r
45} RUNTIME_NOTIFY_EVENT_DATA;\r
46\r
47//\r
48// Function Prototypes\r
49//\r
50VOID\r
51RelocatePeImageForRuntime (\r
52 RUNTIME_IMAGE_RELOCATION_DATA *Image\r
92ea7f23 53 );\r
878ddf1f 54\r
878ddf1f 55EFI_STATUS\r
56EFIAPI\r
57RuntimeDriverCalculateCrc32 (\r
58 IN VOID *Data,\r
59 IN UINTN DataSize,\r
60 OUT UINT32 *CrcOut\r
92ea7f23 61 );\r
878ddf1f 62\r
63EFI_STATUS\r
64EFIAPI\r
65RuntimeDriverRegisterImage (\r
66 IN EFI_RUNTIME_ARCH_PROTOCOL *This,\r
67 IN EFI_PHYSICAL_ADDRESS ImageBase,\r
68 IN UINTN ImageSize,\r
69 IN VOID *RelocationData\r
92ea7f23 70 );\r
878ddf1f 71\r
72EFI_STATUS\r
73EFIAPI\r
74RuntimeDriverRegisterEvent (\r
75 IN EFI_RUNTIME_ARCH_PROTOCOL *This,\r
76 IN UINT32 Type,\r
77 IN EFI_TPL NotifyTpl,\r
78 IN EFI_EVENT_NOTIFY NotifyFunction,\r
79 IN VOID *NotifyContext,\r
80 IN EFI_EVENT *Event\r
92ea7f23 81 );\r
878ddf1f 82\r
83EFI_STATUS\r
84EFIAPI\r
85RuntimeDriverConvertPointer (\r
86 IN UINTN DebugDisposition,\r
87 IN OUT VOID **ConvertAddress\r
92ea7f23 88 );\r
878ddf1f 89\r
90VOID\r
91RuntimeDriverInitializeCrc32Table (\r
92 VOID\r
92ea7f23 93 );\r
878ddf1f 94\r
95EFI_STATUS\r
96EFIAPI\r
97RuntimeDriverInitialize (\r
98 IN EFI_HANDLE ImageHandle,\r
99 IN EFI_SYSTEM_TABLE *SystemTable\r
92ea7f23 100 );\r
878ddf1f 101\r
102\r
878ddf1f 103\r
104#endif\r