]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkPkg/Include/Protocol/LegacyRegion.h
Update to BSD license header.
[mirror_edk2.git] / IntelFrameworkPkg / Include / Protocol / LegacyRegion.h
CommitLineData
79964ac8 1/** @file\r
2 This protocol manages the legacy memory regions between 0xc0000 - 0xfffff\r
3\r
4 Copyright (c) 2007, Intel Corporation\r
5 All rights reserved. This program and the accompanying materials\r
6 are licensed and made available under the terms and conditions of the BSD License\r
7 which accompanies this distribution. The full text of the license may be found at\r
8 http://opensource.org/licenses/bsd-license.php\r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13 Module Name: LegacyRegion.h\r
14\r
15 @par Revision Reference:\r
16 This protocol is defined in Framework for EFI Compatibility Support Module spec\r
17 Version 0.96\r
18\r
19**/\r
20\r
21#ifndef _EFI_LEGACY_REGION_H_\r
22#define _EFI_LEGACY_REGION_H_\r
23\r
b80fbe85 24#include <PiDxe.h>\r
25\r
79964ac8 26#define EFI_LEGACY_REGION_PROTOCOL_GUID \\r
27 { \\r
28 0xfc9013a, 0x568, 0x4ba9, {0x9b, 0x7e, 0xc9, 0xc3, 0x90, 0xa6, 0x60, 0x9b } \\r
29 }\r
30\r
31typedef struct _EFI_LEGACY_REGION_PROTOCOL EFI_LEGACY_REGION_PROTOCOL;\r
32\r
33/**\r
34 Sets hardware to decode or not decode a region.\r
35\r
36 @param This Indicates the EFI_LEGACY_REGION_PROTOCOL instance\r
37 @param Start Start of region to decode.\r
38 @param Length Size in bytes of the region.\r
39 @param On Decode/nondecode flag.\r
40\r
41 @retval EFI_SUCCESS Decode range successfully changed.\r
42\r
43**/\r
44typedef\r
45EFI_STATUS\r
46(EFIAPI *EFI_LEGACY_REGION_DECODE) (\r
47 IN EFI_LEGACY_REGION_PROTOCOL *This,\r
48 IN UINT32 Start,\r
49 IN UINT32 Length,\r
50 IN BOOLEAN *On\r
51 );\r
52\r
53/**\r
54 Sets a region to read only.\r
55\r
56 @param This Indicates the EFI_LEGACY_REGION_PROTOCOL instance\r
57 @param Start Start of region to lock.\r
58 @param Length Size in bytes of the region.\r
59 @param Granularity Lock attribute affects this granularity in bytes.\r
60\r
61 @retval EFI_SUCCESS The region was made read only.\r
62\r
63**/\r
64typedef\r
65EFI_STATUS\r
66(EFIAPI *EFI_LEGACY_REGION_LOCK) (\r
67 IN EFI_LEGACY_REGION_PROTOCOL *This,\r
68 IN UINT32 Start,\r
69 IN UINT32 Length,\r
70 OUT UINT32 *Granularity OPTIONAL\r
71 );\r
72\r
73/**\r
74 Sets a region to read only and ensures that flash is locked from being\r
75 inadvertently modified.\r
76\r
77 @param This Indicates the EFI_LEGACY_REGION_PROTOCOL instance\r
78 @param Start Start of region to lock.\r
79 @param Length Size in bytes of the region.\r
80 @param Granularity Lock attribute affects this granularity in bytes.\r
81\r
82 @retval EFI_SUCCESS The region was made read only and flash is locked.\r
83\r
84**/\r
85typedef\r
86EFI_STATUS\r
87(EFIAPI *EFI_LEGACY_REGION_BOOT_LOCK) (\r
88 IN EFI_LEGACY_REGION_PROTOCOL *This,\r
89 IN UINT32 Start,\r
90 IN UINT32 Length,\r
91 OUT UINT32 *Granularity OPTIONAL\r
92 );\r
93\r
94/**\r
95 Sets a region to read-write.\r
96\r
97 @param This Indicates the EFI_LEGACY_REGION_PROTOCOL instance\r
98 @param Start Start of region to lock.\r
99 @param Length Size in bytes of the region.\r
100 @param Granularity Lock attribute affects this granularity in bytes.\r
101\r
102 @retval EFI_SUCCESS The region was successfully made read-write.\r
103\r
104**/\r
105typedef\r
106EFI_STATUS\r
107(EFIAPI *EFI_LEGACY_REGION_UNLOCK) (\r
108 IN EFI_LEGACY_REGION_PROTOCOL *This,\r
109 IN UINT32 Start,\r
110 IN UINT32 Length,\r
111 OUT UINT32 *Granularity OPTIONAL\r
112 );\r
113\r
114/**\r
115 @par Protocol Description:\r
116 Abstracts the hardware control of the physical address region 0xC0000-C0xFFFFF\r
117 for the traditional BIOS.\r
118\r
119 @param Decode\r
120 Specifies a region for the chipset to decode\r
121\r
122 @param Lock\r
123 Makes the specified OpROM region read only or locked.\r
124\r
125 @param BootLock\r
126 Sets a region to read only and ensures tat flash is locked from\r
127 inadvertent modification.\r
128\r
129 @param Unlock\r
130 Makes the specified OpROM region read-write or unlocked.\r
131\r
132**/\r
133struct _EFI_LEGACY_REGION_PROTOCOL {\r
134 EFI_LEGACY_REGION_DECODE Decode;\r
135 EFI_LEGACY_REGION_LOCK Lock;\r
136 EFI_LEGACY_REGION_BOOT_LOCK BootLock;\r
137 EFI_LEGACY_REGION_UNLOCK UnLock;\r
138};\r
139\r
140extern EFI_GUID gEfiLegacyRegionProtocolGuid;\r
141\r
142#endif\r