2 This protocol manages the legacy memory regions between 0xc0000 - 0xfffff
4 Copyright (c) 2006, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 Module Name: LegacyRegion.h
15 @par Revision Reference:
16 This protocol is defined in Framework for EFI Compatibility Support Module spec
21 #ifndef _EFI_LEGACY_REGION_H_
22 #define _EFI_LEGACY_REGION_H_
24 #define EFI_LEGACY_REGION_PROTOCOL_GUID \
26 0xfc9013a, 0x568, 0x4ba9, {0x9b, 0x7e, 0xc9, 0xc3, 0x90, 0xa6, 0x60, 0x9b } \
29 typedef struct _EFI_LEGACY_REGION_PROTOCOL EFI_LEGACY_REGION_PROTOCOL
;
32 Sets hardware to decode or not decode a region.
34 @param This Indicates the EFI_LEGACY_REGION_PROTOCOL instance
36 @param Start Start of region to decode.
38 @param Length Size in bytes of the region.
40 @param On Decode/nondecode flag.
42 @retval EFI_SUCCESS Decode range successfully changed.
47 (EFIAPI
*EFI_LEGACY_REGION_DECODE
) (
48 IN EFI_LEGACY_REGION_PROTOCOL
*This
,
55 Sets a region to read only.
57 @param This Indicates the EFI_LEGACY_REGION_PROTOCOL instance
59 @param Start Start of region to lock.
61 @param Length Size in bytes of the region.
63 @param Granularity Lock attribute affects this granularity in bytes.
65 @retval EFI_SUCCESS The region was made read only.
70 (EFIAPI
*EFI_LEGACY_REGION_LOCK
) (
71 IN EFI_LEGACY_REGION_PROTOCOL
*This
,
74 OUT UINT32
*Granularity OPTIONAL
78 Sets a region to read only and ensures that flash is locked from being
79 inadvertently modified.
81 @param This Indicates the EFI_LEGACY_REGION_PROTOCOL instance
83 @param Start Start of region to lock.
85 @param Length Size in bytes of the region.
87 @param Granularity Lock attribute affects this granularity in bytes.
89 @retval EFI_SUCCESS The region was made read only and flash is locked.
94 (EFIAPI
*EFI_LEGACY_REGION_BOOT_LOCK
) (
95 IN EFI_LEGACY_REGION_PROTOCOL
*This
,
98 OUT UINT32
*Granularity OPTIONAL
102 Sets a region to read-write.
104 @param This Indicates the EFI_LEGACY_REGION_PROTOCOL instance
106 @param Start Start of region to lock.
108 @param Length Size in bytes of the region.
110 @param Granularity Lock attribute affects this granularity in bytes.
112 @retval EFI_SUCCESS The region was successfully made read-write.
117 (EFIAPI
*EFI_LEGACY_REGION_UNLOCK
) (
118 IN EFI_LEGACY_REGION_PROTOCOL
*This
,
121 OUT UINT32
*Granularity OPTIONAL
125 @par Protocol Description:
126 Abstracts the hardware control of the physical address region 0xC0000¨C0xFFFFF
127 for the traditional BIOS.
130 Specifies a region for the chipset to decode
133 Makes the specified OpROM region read only or locked.
136 Sets a region to read only and ensures tat flash is locked from
137 inadvertent modification.
140 Makes the specified OpROM region read-write or unlocked.
143 struct _EFI_LEGACY_REGION_PROTOCOL
{
144 EFI_LEGACY_REGION_DECODE Decode
;
145 EFI_LEGACY_REGION_LOCK Lock
;
146 EFI_LEGACY_REGION_BOOT_LOCK BootLock
;
147 EFI_LEGACY_REGION_UNLOCK UnLock
;
150 extern EFI_GUID gEfiLegacyRegionProtocolGuid
;