summaryrefslogtreecommitdiff
path: root/EdkCompatibilityPkg/Foundation/Framework/Protocol/LegacyBiosPlatform/LegacyBiosPlatform.h
diff options
context:
space:
mode:
Diffstat (limited to 'EdkCompatibilityPkg/Foundation/Framework/Protocol/LegacyBiosPlatform/LegacyBiosPlatform.h')
-rw-r--r--EdkCompatibilityPkg/Foundation/Framework/Protocol/LegacyBiosPlatform/LegacyBiosPlatform.h328
1 files changed, 0 insertions, 328 deletions
diff --git a/EdkCompatibilityPkg/Foundation/Framework/Protocol/LegacyBiosPlatform/LegacyBiosPlatform.h b/EdkCompatibilityPkg/Foundation/Framework/Protocol/LegacyBiosPlatform/LegacyBiosPlatform.h
deleted file mode 100644
index 07621f3a22..0000000000
--- a/EdkCompatibilityPkg/Foundation/Framework/Protocol/LegacyBiosPlatform/LegacyBiosPlatform.h
+++ /dev/null
@@ -1,328 +0,0 @@
-/*++
-
-Copyright (c) 1999 - 2006, Intel Corporation. All rights reserved.<BR>
-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:
-
- LegacyBiosPlatform.h
-
-Abstract:
-
- The EFI Legacy BIOS Patform Protocol is used to mate a Legacy16
- implementation with this EFI code. The EFI driver that produces
- the Legacy BIOS protocol is generic and consumes this protocol.
- A driver that matches the Legacy16 produces this protocol
-
-Revision History
-
- The EFI Legacy BIOS Platform Protocol is compliant with CSM spec 0.96.
-
---*/
-
-#ifndef _EFI_LEGACY_BIOS_PLATFORM_H
-#define _EFI_LEGACY_BIOS_PLATFORM_H
-
-#define EFI_LEGACY_BIOS_PLATFORM_PROTOCOL_GUID \
- { \
- 0x783658a3, 0x4172, 0x4421, {0xa2, 0x99, 0xe0, 0x9, 0x7, 0x9c, 0xc, 0xb4} \
- }
-
-EFI_FORWARD_DECLARATION (EFI_LEGACY_BIOS_PLATFORM_PROTOCOL);
-
-#include "Tiano.h"
-#include EFI_PROTOCOL_DEFINITION (LegacyBios)
-
-#pragma pack(1)
-//
-// Define structures for GetOemIntData
-// Note:
-// OemIntDataElenent is an array of structures from 0 to Count-1.
-// RawData is an array of bytes from 0 to RamDataLength-1.
-//
-typedef struct {
- UINT16 Int;
- UINT16 Ax;
- UINT32 RawDataLength;
- UINT8 RawData[1];
-} EFI_OEM_INT_DATA_ELEMENT;
-
-typedef struct {
- UINT16 Count;
- EFI_OEM_INT_DATA_ELEMENT OemIntDataElement[1];
-} EFI_OEM_INT_DATA;
-#pragma pack()
-
-typedef enum {
- EfiGetPlatformBinaryMpTable = 0,
- EfiGetPlatformBinaryOemIntData = 1,
- EfiGetPlatformBinaryOem16Data = 2,
- EfiGetPlatformBinaryOem32Data = 3,
- EfiGetPlatformBinaryTpmBinary = 4,
- EfiGetPlatformBinarySystemRom = 5,
- EfiGetPlatformPciExpressBase = 6,
- EfiGetPlatformPmmSize = 7,
- EfiGetPlatformEndOfOpromShadowAddr = 8
-} EFI_GET_PLATFORM_INFO_MODE;
-
-typedef enum {
- EfiGetPlatformVgaHandle = 0,
- EfiGetPlatformIdeHandle = 1,
- EfiGetPlatformIsaBusHandle = 2,
- EfiGetPlatformUsbHandle = 3
-} EFI_GET_PLATFORM_HANDLE_MODE;
-
-typedef enum {
- EfiPlatformHookPrepareToScanRom = 0,
- EfiPlatformHookShadowServiceRoms= 1,
- EfiPlatformHookAfterRomInit = 2
-} EFI_GET_PLATFORM_HOOK_MODE;
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_GET_PLATFORM_INFO) (
- IN EFI_LEGACY_BIOS_PLATFORM_PROTOCOL * This,
- IN EFI_GET_PLATFORM_INFO_MODE Mode,
- OUT VOID **Table,
- OUT UINTN *TableSize,
- OUT UINTN *Location,
- OUT UINTN *Alignment,
- IN UINT16 LegacySegment,
- IN UINT16 LegacyOffset
- )
-/*++
-
- Routine Description:
- Return a System ROM image for the platform
-
- Arguments:
- This - Protocol instance pointer.
- Mode - Specifies what data to return
- Table - Pointer to MP table.
- TableSize - Size in bytes of table.
- Location - Legacy region requested
- 0x00 = Any location
- Bit 0 = 0xF0000 region
- Bit 1 = 0xE0000 region
- Multiple bits can be set
- Alignment - Address alignment for allocation.
- Bit mapped. First non-zero bit from right
- is alignment.
-
- LegacySegment - Segment in LegacyBios where Table is stored
- LegacyOffset - Offset in LegacyBios where Table is stored
-
- Returns:
- EFI_SUCCESS - Data was returned successfully.
- EFI_UNSUPPORTED - Mode is not supported on the platform.
- EFI_NOT_FOUND - Binary image or table not found.
-
---*/
-;
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_GET_PLATFORM_HANDLE) (
- IN EFI_LEGACY_BIOS_PLATFORM_PROTOCOL * This,
- IN EFI_GET_PLATFORM_HANDLE_MODE Mode,
- IN UINT16 Type,
- OUT EFI_HANDLE **HandleBuffer,
- OUT UINTN *HandleCount,
- IN VOID **AdditionalData OPTIONAL
- )
-/*++
-
- Routine Description:
- Return the Legacy16 policy for which device should be the VGA controller
- used during a Legacy16 boot.
-
- Arguments:
- This - Protocol instance pointer.
- Mode - Specifies what handle to return.
- Type - Type from Device Path for Handle to represent.
- HandleBuffer - Handles of the device/controller in priority order
- with HandleBuffer[0] highest priority.
- HandleCount - Number of handles in the buffer.
- AdditionalData - Mode specific.
-
-
- Returns:
- EFI_SUCCESS - Handle is valid
- EFI_UNSUPPORTED - Mode is not supported on the platform.
- EFI_NOT_FOUND - Handle is not known
-
---*/
-;
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_SMM_INIT) (
- IN EFI_LEGACY_BIOS_PLATFORM_PROTOCOL * This,
- IN VOID *EfiToLegacy16BootTable
- );
-
-/*++
-
- Routine Description:
- Load and initialize the Legacy BIOS SMM handler.
-
- Arguments:
- This - Protocol instance pointer.
- EfiToLegacy16BootTable - Pointer to Legacy16 boot table.
- Returns:
- EFI_SUCCESS - SMM code loaded.
- EFI_DEVICE_ERROR - SMM code failed to load
-
---*/
-;
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_HOOKS) (
- IN EFI_LEGACY_BIOS_PLATFORM_PROTOCOL * This,
- IN EFI_GET_PLATFORM_HOOK_MODE Mode,
- IN UINT16 Type,
- IN EFI_HANDLE DeviceHandle,
- IN OUT UINTN *ShadowAddress,
- IN EFI_COMPATIBILITY16_TABLE * Compatibility16Table,
- IN VOID **AdditionalData OPTIONAL
- )
-/*++
-
- Routine Description:
- Prepare to scan a ROM.
-
- Arguments:
- This - Protocol instance pointer.
- Handle - Device handle
- ShadowAddress - Address that ROM is shadowed at prior to
- initialization or first free ROM address,
- depending upon mode.
- Compatibility16Table - Pointer to Compatibility16Table.
- AdditionalData - Mode specific.
-
-
- Returns:
- EFI_SUCCESS - RomImage is valid
- EFI_UNSUPPORTED - Mode is not supported on the platform or platform
- policy is to not install this OPROM.
---*/
-;
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_GET_ROUTING_TABLE) (
- IN EFI_LEGACY_BIOS_PLATFORM_PROTOCOL * This,
- OUT VOID **RoutingTable,
- OUT UINTN *RoutingTableEntries,
- OUT VOID **LocalPirqTable, OPTIONAL
- OUT UINTN *PirqTableSize, OPTIONAL
- OUT VOID **LocalIrqPriorityTable, OPTIONAL
- OUT UINTN *IrqPriorityTableEntries OPTIONAL
- )
-/*++
-
- Routine Description:
- 1. List of IRQ routing entries and number of entries.
- 2. Pointer to Entire $PIR table and length.
- 3. List of IRQs to assign to PCI in priority.
-
- Arguments:
- This - Protocol instance pointer.
- RoutingTable - Pointer to PCI IRQ Routing table.
- RoutingTableEntries - Number of entries in table.
- LocalPirqTable - $PIR table
- PirqTableSize - $PIR table size
- LocalIrqPriorityTable - List of interrupts in priority order to assign
- IrqPriorityTableEntries- Number of entries in priority table
-
- Returns:
- EFI_SUCCESS - Table pointer returned
-
---*/
-;
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_TRANSLATE_PIRQ) (
- IN EFI_LEGACY_BIOS_PLATFORM_PROTOCOL * This,
- IN UINTN PciBus,
- IN UINTN PciDevice,
- IN UINTN PciFunction,
- IN OUT UINT8 *Pirq,
- OUT UINT8 *PciIrq
- )
-/*++
-
- Routine Description:
- Translate the PIRQ reported by the PCI device into the true PIRQ
- from the internal IRQ routing information and IRQ assigned or to be
- assigned to device.
-
- Arguments:
- This - Protocol instance pointer.
- Base as defined below is the bus,device, function in
- IRQ routing table.
- PciBus - Base Bus for this device.
- PciDevice - Base Device for this device.
- PciFunction - Base Function for this device.
- Pirq - Input is PIRQ reported by device, output is true PIRQ.
- PciIrq - The IRQ already assigned to the PIRQ or the IRQ to be
- assigned to the PIRQ.
-
- Returns:
- EFI_SUCCESS - Irq translated
-
---*/
-;
-
-typedef
-EFI_STATUS
-(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_PREPARE_TO_BOOT) (
- IN EFI_LEGACY_BIOS_PLATFORM_PROTOCOL * This,
- IN BBS_BBS_DEVICE_PATH * BbsDevicePath,
- IN VOID *BbsTable,
- IN UINT32 LoadOptionsSize,
- IN VOID *LoadOptions,
- IN VOID *EfiToLegacy16BootTable
- )
-/*++
-
- Routine Description:
- Attempt to legacy boot the BootOption. If the EFI contexted has been
- compromised this function will not return.
-
- Arguments:
- This - Protocol instance pointer.
- BbsDevicePath - EFI Device Path from BootXXXX variable.
- BbsTable - Internal BBS table.
- LoadOptionSize - Size of LoadOption in size.
- LoadOption - LoadOption from BootXXXX variable
- EfiToLegacy16BootTable - Pointer to BootTable structure
-
- Returns:
- EFI_SUCCESS - Removable media not present
-
---*/
-;
-
-struct _EFI_LEGACY_BIOS_PLATFORM_PROTOCOL {
- EFI_LEGACY_BIOS_PLATFORM_GET_PLATFORM_INFO GetPlatformInfo;
- EFI_LEGACY_BIOS_PLATFORM_GET_PLATFORM_HANDLE GetPlatformHandle;
- EFI_LEGACY_BIOS_PLATFORM_SMM_INIT SmmInit;
- EFI_LEGACY_BIOS_PLATFORM_HOOKS PlatformHooks;
- EFI_LEGACY_BIOS_PLATFORM_GET_ROUTING_TABLE GetRoutingTable;
- EFI_LEGACY_BIOS_PLATFORM_TRANSLATE_PIRQ TranslatePirq;
- EFI_LEGACY_BIOS_PLATFORM_PREPARE_TO_BOOT PrepareToBoot;
-};
-
-extern EFI_GUID gEfiLegacyBiosPlatformProtocolGuid;
-
-#endif