summaryrefslogtreecommitdiffstats
path: root/OldMdePkg/Include/Protocol/LegacyRegion.h
diff options
context:
space:
mode:
Diffstat (limited to 'OldMdePkg/Include/Protocol/LegacyRegion.h')
-rw-r--r--OldMdePkg/Include/Protocol/LegacyRegion.h140
1 files changed, 140 insertions, 0 deletions
diff --git a/OldMdePkg/Include/Protocol/LegacyRegion.h b/OldMdePkg/Include/Protocol/LegacyRegion.h
new file mode 100644
index 0000000000..e7e24ad3a5
--- /dev/null
+++ b/OldMdePkg/Include/Protocol/LegacyRegion.h
@@ -0,0 +1,140 @@
+/** @file
+ This protocol manages the legacy memory regions between 0xc0000 - 0xfffff
+
+ Copyright (c) 2006, Intel Corporation
+ All rights reserved. This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+ Module Name: LegacyRegion.h
+
+ @par Revision Reference:
+ This protocol is defined in Framework for EFI Compatibility Support Module spec
+ Version 0.96
+
+**/
+
+#ifndef _EFI_LEGACY_REGION_H_
+#define _EFI_LEGACY_REGION_H_
+
+#define EFI_LEGACY_REGION_PROTOCOL_GUID \
+ { \
+ 0xfc9013a, 0x568, 0x4ba9, {0x9b, 0x7e, 0xc9, 0xc3, 0x90, 0xa6, 0x60, 0x9b } \
+ }
+
+typedef struct _EFI_LEGACY_REGION_PROTOCOL EFI_LEGACY_REGION_PROTOCOL;
+
+/**
+ Sets hardware to decode or not decode a region.
+
+ @param This Indicates the EFI_LEGACY_REGION_PROTOCOL instance
+ @param Start Start of region to decode.
+ @param Length Size in bytes of the region.
+ @param On Decode/nondecode flag.
+
+ @retval EFI_SUCCESS Decode range successfully changed.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_LEGACY_REGION_DECODE) (
+ IN EFI_LEGACY_REGION_PROTOCOL *This,
+ IN UINT32 Start,
+ IN UINT32 Length,
+ IN BOOLEAN *On
+ );
+
+/**
+ Sets a region to read only.
+
+ @param This Indicates the EFI_LEGACY_REGION_PROTOCOL instance
+ @param Start Start of region to lock.
+ @param Length Size in bytes of the region.
+ @param Granularity Lock attribute affects this granularity in bytes.
+
+ @retval EFI_SUCCESS The region was made read only.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_LEGACY_REGION_LOCK) (
+ IN EFI_LEGACY_REGION_PROTOCOL *This,
+ IN UINT32 Start,
+ IN UINT32 Length,
+ OUT UINT32 *Granularity OPTIONAL
+ );
+
+/**
+ Sets a region to read only and ensures that flash is locked from being
+ inadvertently modified.
+
+ @param This Indicates the EFI_LEGACY_REGION_PROTOCOL instance
+ @param Start Start of region to lock.
+ @param Length Size in bytes of the region.
+ @param Granularity Lock attribute affects this granularity in bytes.
+
+ @retval EFI_SUCCESS The region was made read only and flash is locked.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_LEGACY_REGION_BOOT_LOCK) (
+ IN EFI_LEGACY_REGION_PROTOCOL *This,
+ IN UINT32 Start,
+ IN UINT32 Length,
+ OUT UINT32 *Granularity OPTIONAL
+ );
+
+/**
+ Sets a region to read-write.
+
+ @param This Indicates the EFI_LEGACY_REGION_PROTOCOL instance
+ @param Start Start of region to lock.
+ @param Length Size in bytes of the region.
+ @param Granularity Lock attribute affects this granularity in bytes.
+
+ @retval EFI_SUCCESS The region was successfully made read-write.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_LEGACY_REGION_UNLOCK) (
+ IN EFI_LEGACY_REGION_PROTOCOL *This,
+ IN UINT32 Start,
+ IN UINT32 Length,
+ OUT UINT32 *Granularity OPTIONAL
+ );
+
+/**
+ @par Protocol Description:
+ Abstracts the hardware control of the physical address region 0xC0000-C0xFFFFF
+ for the traditional BIOS.
+
+ @param Decode
+ Specifies a region for the chipset to decode
+
+ @param Lock
+ Makes the specified OpROM region read only or locked.
+
+ @param BootLock
+ Sets a region to read only and ensures tat flash is locked from
+ inadvertent modification.
+
+ @param Unlock
+ Makes the specified OpROM region read-write or unlocked.
+
+**/
+struct _EFI_LEGACY_REGION_PROTOCOL {
+ EFI_LEGACY_REGION_DECODE Decode;
+ EFI_LEGACY_REGION_LOCK Lock;
+ EFI_LEGACY_REGION_BOOT_LOCK BootLock;
+ EFI_LEGACY_REGION_UNLOCK UnLock;
+};
+
+extern EFI_GUID gEfiLegacyRegionProtocolGuid;
+
+#endif