summaryrefslogtreecommitdiff
path: root/OldMdePkg/Include/Protocol/LegacyBiosPlatform.h
diff options
context:
space:
mode:
Diffstat (limited to 'OldMdePkg/Include/Protocol/LegacyBiosPlatform.h')
-rw-r--r--OldMdePkg/Include/Protocol/LegacyBiosPlatform.h307
1 files changed, 0 insertions, 307 deletions
diff --git a/OldMdePkg/Include/Protocol/LegacyBiosPlatform.h b/OldMdePkg/Include/Protocol/LegacyBiosPlatform.h
deleted file mode 100644
index 8c394f2ea5..0000000000
--- a/OldMdePkg/Include/Protocol/LegacyBiosPlatform.h
+++ /dev/null
@@ -1,307 +0,0 @@
-/** @file
- 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
-
- 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: LegacyBiosPlatform.h
-
- @par Revision Reference:
- This protocol is defined in Framework for EFI Compatibility Support Module spec
- Version 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 } \
- }
-
-typedef struct _EFI_LEGACY_BIOS_PLATFORM_PROTOCOL EFI_LEGACY_BIOS_PLATFORM_PROTOCOL;
-
-#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,
- EfiGetPlatformEndOpromShadowAddr = 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;
-
-/**
- Finds the binary data or other platform information.
-
- @param This Protocol instance pointer.
- @param Mode Specifies what data to return
- @param Table Pointer to MP table.
- @param TableSize Size in bytes of table.
- @param Location Legacy region requested
- 0x00 = Any location
- Bit 0 = 0xF0000 region
- Bit 1 = 0xE0000 region
- Multiple bits can be set
- @param Alignment Address alignment for allocation.
- Bit mapped. First non-zero bit from right
- is alignment.
- @param LegacySegment Segment in LegacyBios where Table is stored
- @param LegacyOffset Offset in LegacyBios where Table is stored
-
- @retval EFI_SUCCESS Data was returned successfully.
- @retval EFI_UNSUPPORTED Mode is not supported on the platform.
- @retval EFI_NOT_FOUND Binary image or table not found.
-
-**/
-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
- )
-;
-
-/**
- Returns a buffer of handles for the requested sub-function.
-
- @param This Protocol instance pointer.
- @param Mode Specifies what handle to return.
- @param Type Type from Device Path for Handle to represent.
- @param HandleBuffer Handles of the device/controller in priority order
- with HandleBuffer[0] highest priority.
- @param HandleCount Number of handles in the buffer.
- @param AdditionalData Mode specific.
-
- @retval EFI_SUCCESS Handle is valid
- @retval EFI_UNSUPPORTED Mode is not supported on the platform.
- @retval EFI_NOT_FOUND Handle is not known
-
-**/
-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
- )
-;
-
-/**
- Load and initialize the Legacy BIOS SMM handler.
-
- @param This Protocol instance pointer.
- @param EfiToLegacy16BootTable Pointer to Legacy16 boot table.
-
- @retval EFI_SUCCESS SMM code loaded.
- @retval EFI_DEVICE_ERROR SMM code failed to load
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_LEGACY_BIOS_PLATFORM_SMM_INIT) (
- IN EFI_LEGACY_BIOS_PLATFORM_PROTOCOL *This,
- IN VOID *EfiToLegacy16BootTable
- )
-;
-
-/**
- Allows platform to perform any required action after a LegacyBios operation.
-
- @param This Protocol instance pointer.
- @param Mode Specifies what handle to return.
- @param Type Mode specific.
- @param DeviceHandle List of PCI devices in the system.
- @param ShadowAddress First free OpROM area, after other OpROMs have been dispatched.
- @param Compatibility16Table Pointer to Compatibility16Table.
- @param AdditionalData Mode specific Pointer to additional data returned - mode specific.
-
- @retval EFI_SUCCESS RomImage is valid
- @retval EFI_UNSUPPORTED Mode is not supported on the platform.
-
-**/
-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
- )
-;
-
-/**
- Returns information associated with PCI IRQ routing.
-
- @param This Protocol instance pointer.
- @param RoutingTable Pointer to PCI IRQ Routing table.
- @param RoutingTableEntries Number of entries in table.
- @param LocalPirqTable $PIR table
- @param PirqTableSize $PIR table size
- @param LocalIrqPriorityTable List of interrupts in priority order to assign
- @param IrqPriorityTableEntries Number of entries in priority table
-
- @retval EFI_SUCCESS Data was successfully returned.
-
-**/
-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
- )
-;
-
-/**
- Translates the given PIRQ accounting for bridge
-
- @param This Protocol instance pointer.
- @param PciBus PCI bus number for this device.
- @param PciDevice PCI device number for this device.
- @param PciFunction PCI function number for this device.
- @param Pirq Input is PIRQ reported by device, output is true PIRQ.
- @param PciIrq The IRQ already assigned to the PIRQ or the IRQ to be
- assigned to the PIRQ.
-
- @retval EFI_SUCCESS The PIRQ was translated.
-
-**/
-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
- )
-;
-
-/**
- Attempt to legacy boot the BootOption. If the EFI contexted has been
- compromised this function will not return.
-
- @param This Protocol instance pointer.
- @param BbsDevicePath EFI Device Path from BootXXXX variable.
- @param BbsTable Internal BBS table.
- @param LoadOptionSize Size of LoadOption in size.
- @param LoadOption LoadOption from BootXXXX variable
- @param EfiToLegacy16BootTable Pointer to BootTable structure
-
- @retval EFI_SUCCESS Ready to boot.
-
-**/
-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
- )
-;
-
-/**
- @par Protocol Description:
- Abstracts the platform portion of the traditional BIOS.
-
- @param GetPlatformInfo
- Gets binary data or other platform information.
-
- @param GetPlatformHandle
- Returns a buffer of all handles matching the requested subfunction.
-
- @param SmmInit
- Loads and initializes the traditional BIOS SMM handler.
-
- @param PlatformHooks
- Allows platform to perform any required actions after a LegacyBios operation.
-
- @param GetRoutingTable
- Gets $PIR table.
-
- @param TranslatePirq
- Translates the given PIRQ to the final value after traversing any PCI bridges.
-
- @param PrepareToBoot
- Final platform function before the system attempts to boot to a traditional OS.
-
-**/
-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