OvmfPkg[all]  0.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
LegacyBiosPlatform.h File Reference

Data Structures

struct  EFI_LEGACY_IRQ_PRIORITY_TABLE_ENTRY
 
struct  EFI_LEGACY_PIRQ_TABLE_HEADER
 
struct  EFI_LEGACY_PIRQ_ENTRY
 
struct  EFI_LEGACY_IRQ_ROUTING_ENTRY
 
struct  _EFI_LEGACY_BIOS_PLATFORM_PROTOCOL
 

Macros

#define EFI_LEGACY_BIOS_PLATFORM_PROTOCOL_GUID
 
#define PCI_UNUSED   0x00
 
#define PCI_USED   0xFF
 
#define LEGACY_USED   0xFE
 
#define EFI_LEGACY_PIRQ_TABLE_SIGNATURE   SIGNATURE_32 ('$', 'P', 'I', 'R')
 

Typedefs

typedef struct
_EFI_LEGACY_BIOS_PLATFORM_PROTOCOL 
EFI_LEGACY_BIOS_PLATFORM_PROTOCOL
 
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)
 
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)
 
typedef EFI_STATUS(EFIAPI * EFI_LEGACY_BIOS_PLATFORM_SMM_INIT )(IN EFI_LEGACY_BIOS_PLATFORM_PROTOCOL *This, IN VOID *EfiToLegacy16BootTable)
 
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, OUT VOID **AdditionalData)
 
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, OUT UINTN *PirqTableSize, OUT VOID **LocalIrqPriorityTable, OUT UINTN *IrqPriorityTableEntries)
 
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)
 
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)
 

Enumerations

enum  EFI_GET_PLATFORM_INFO_MODE {
  EfiGetPlatformBinaryMpTable = 0, EfiGetPlatformBinaryOemIntData = 1, EfiGetPlatformBinaryOem16Data = 2, EfiGetPlatformBinaryOem32Data = 3,
  EfiGetPlatformBinaryTpmBinary = 4, EfiGetPlatformBinarySystemRom = 5, EfiGetPlatformPciExpressBase = 6, EfiGetPlatformPmmSize = 7,
  EfiGetPlatformEndOpromShadowAddr = 8
}
 
enum  EFI_GET_PLATFORM_HANDLE_MODE { EfiGetPlatformVgaHandle = 0, EfiGetPlatformIdeHandle = 1, EfiGetPlatformIsaBusHandle = 2, EfiGetPlatformUsbHandle = 3 }
 
enum  EFI_GET_PLATFORM_HOOK_MODE { EfiPlatformHookPrepareToScanRom = 0, EfiPlatformHookShadowServiceRoms = 1, EfiPlatformHookAfterRomInit = 2 }
 

Variables

EFI_GUID gEfiLegacyBiosPlatformProtocolGuid
 

Detailed Description

The EFI Legacy BIOS Platform 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) 2007 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Revision Reference:
This protocol is defined in Framework for EFI Compatibility Support Module spec Version 0.97.

Macro Definition Documentation

#define EFI_LEGACY_BIOS_PLATFORM_PROTOCOL_GUID
Value:
{ \
0x783658a3, 0x4172, 0x4421, {0xa2, 0x99, 0xe0, 0x9, 0x7, 0x9c, 0xc, 0xb4 } \
}

Legacy BIOS Platform depends on HDD_INFO and EFI_COMPATIBILITY16_TABLE that are defined with the Legacy BIOS Protocol

#define EFI_LEGACY_PIRQ_TABLE_SIGNATURE   SIGNATURE_32 ('$', 'P', 'I', 'R')
#define LEGACY_USED   0xFE

This IRQ has been used by an SIO legacy device and cannot be used by PCI.

#define PCI_UNUSED   0x00

This IRQ has not been assigned to PCI.

#define PCI_USED   0xFF

This IRQ has been assigned to PCI.

Typedef Documentation

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)

Returns a buffer of handles for the requested subfunction.

Parameters
ThisThe protocol instance pointer.
ModeSpecifies what handle to return. See EFI_GET_PLATFORM_HANDLE_MODE enum.
TypeMode specific. See EFI_GET_PLATFORM_HANDLE_MODE enum.
HandleBufferMode specific. See EFI_GET_PLATFORM_HANDLE_MODE enum.
HandleCountMode specific. See EFI_GET_PLATFORM_HANDLE_MODE enum.
AdditionalDataMode specific. See EFI_GET_PLATFORM_HANDLE_MODE enum.
Return values
EFI_SUCCESSHandle is valid.
EFI_UNSUPPORTEDMode is not supported on the platform.
EFI_NOT_FOUNDHandle is not known.
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)

Finds the binary data or other platform information.

Parameters
ThisThe protocol instance pointer.
ModeSpecifies what data to return. See See EFI_GET_PLATFORM_INFO_MODE enum.
TableMode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
TableSizeMode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
LocationMode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
AlignmentMode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
LegacySegmentMode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
LegacyOffsetMode specific. See EFI_GET_PLATFORM_INFO_MODE enum.
Return values
EFI_SUCCESSData returned successfully.
EFI_UNSUPPORTEDMode is not supported on the platform.
EFI_NOT_FOUNDBinary image or table not found.
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, OUT UINTN *PirqTableSize, OUT VOID **LocalIrqPriorityTable, OUT UINTN *IrqPriorityTableEntries)

Returns information associated with PCI IRQ routing. This function returns the following information associated with PCI IRQ routing: An IRQ routing table and number of entries in the table. The $PIR table and its size. A list of PCI IRQs and the priority order to assign them.

Parameters
ThisThe protocol instance pointer.
RoutingTableThe pointer to PCI IRQ Routing table. This location is the $PIR table minus the header.
RoutingTableEntriesThe number of entries in table.
LocalPirqTable$PIRtable.
PirqTableSize$PIRtable size.
LocalIrqPriorityTableA list of interrupts in priority order to assign.
IrqPriorityTableEntriesThe number of entries in the priority table.
Return values
EFI_SUCCESSData was successfully returned.
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, OUT VOID **AdditionalData)

Allows platform to perform any required action after a LegacyBios operation. Invokes the specific sub function specified by Mode.

Parameters
ThisThe protocol instance pointer.
ModeSpecifies what handle to return. See EFI_GET_PLATFORM_HOOK_MODE enum.
TypeMode specific. See EFI_GET_PLATFORM_HOOK_MODE enum.
DeviceHandleMode specific. See EFI_GET_PLATFORM_HOOK_MODE enum.
ShadowAddressMode specific. See EFI_GET_PLATFORM_HOOK_MODE enum.
Compatibility16TableMode specific. See EFI_GET_PLATFORM_HOOK_MODE enum.
AdditionalDataMode specific. See EFI_GET_PLATFORM_HOOK_MODE enum.
Return values
EFI_SUCCESSThe operation performed successfully. Mode specific.
EFI_UNSUPPORTEDMode is not supported on the platform.
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)

Attempt to legacy boot the BootOption. If the EFI contexted has been compromised this function will not return.

Parameters
ThisThe protocol instance pointer.
BbsDevicePathThe EFI Device Path from BootXXXX variable.
BbsTableThe Internal BBS table.
LoadOptionSizeThe size of LoadOption in size.
LoadOptionThe LoadOption from BootXXXX variable
EfiToLegacy16BootTableA pointer to BootTable structure
Return values
EFI_SUCCESSReady to boot.
typedef EFI_STATUS(EFIAPI * EFI_LEGACY_BIOS_PLATFORM_SMM_INIT)(IN EFI_LEGACY_BIOS_PLATFORM_PROTOCOL *This, IN VOID *EfiToLegacy16BootTable)

Load and initialize the Legacy BIOS SMM handler.

Parameters
ThisThe protocol instance pointer.
EfiToLegacy16BootTableA pointer to Legacy16 boot table.
Return values
EFI_SUCCESSSMM code loaded.
EFI_DEVICE_ERRORSMM code failed to load
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)

Translates the given PIRQ accounting for bridge. This function translates the given PIRQ back through all buses, if required, and returns the true PIRQ and associated IRQ.

Parameters
ThisThe protocol instance pointer.
PciBusThe PCI bus number for this device.
PciDeviceThe PCI device number for this device.
PciFunctionThe PCI function number for this device.
PirqInput is PIRQ reported by device, and output is true PIRQ.
PciIrqThe IRQ already assigned to the PIRQ, or the IRQ to be assigned to the PIRQ.
Return values
EFI_SUCCESSThe PIRQ was translated.

Enumeration Type Documentation

This enum specifies the Mode param values for GetPlatformHandle().

Enumerator
EfiGetPlatformVgaHandle 

This mode returns the Compatibility16 policy for the device that should be the VGA controller used during a Compatibility16 boot.

The function parameters associated with this mode are:

Type 0x00.

HandleBuffer Buffer of all VGA handles found.

HandleCount Number of VGA handles found.

AdditionalData NULL.

EfiGetPlatformIdeHandle 

This mode returns the Compatibility16 policy for the device that should be the IDE controller used during a Compatibility16 boot.

The function parameters associated with this mode are:

Type 0x00.

HandleBuffer Buffer of all IDE handles found.

HandleCount Number of IDE handles found.

AdditionalData Pointer to HddInfo. Information about all onboard IDE controllers.

EfiGetPlatformIsaBusHandle 

This mode returns the Compatibility16 policy for the device that should be the ISA bus controller used during a Compatibility16 boot.

The function parameters associated with this mode are:

Type 0x00.

HandleBuffer Buffer of all ISA bus handles found.

HandleCount Number of ISA bus handles found.

AdditionalData NULL.

EfiGetPlatformUsbHandle 

This mode returns the Compatibility16 policy for the device that should be the USB device used during a Compatibility16 boot.

The function parameters associated with this mode are:

Type 0x00.

HandleBuffer Buffer of all USB handles found.

HandleCount Number of USB bus handles found.

AdditionalData NULL.

This enum specifies the Mode param values for PlatformHooks(). Note: Any OEM defined hooks start with 0x8000.

Enumerator
EfiPlatformHookPrepareToScanRom 

This mode allows any preprocessing before scanning OpROMs.

The function parameters associated with this mode are:

Type 0.

DeviceHandle Handle of device OpROM is associated with.

ShadowAddress Address where OpROM is shadowed.

Compatibility16Table NULL.

AdditionalData NULL.
EfiPlatformHookShadowServiceRoms 

This mode shadows legacy OpROMS that may not have a physical device associated with them. It returns EFI_SUCCESS if the ROM was shadowed.

The function parameters associated with this mode are:

Type 0.

DeviceHandle 0.

ShadowAddress First free OpROM area, after other OpROMs have been dispatched..

Compatibility16Table Pointer to the Compatibility16 Table.

  AdditionalData NULL.
EfiPlatformHookAfterRomInit 

This mode allows platform to perform any required operation after an OpROM has completed its initialization.

The function parameters associated with this mode are:

  Type 0.

  DeviceHandle Handle of device OpROM is associated with.

  ShadowAddress Address where OpROM is shadowed.

  Compatibility16Table NULL.

  AdditionalData NULL.

This enum specifies the Mode param values for GetPlatformInfo()

Enumerator
EfiGetPlatformBinaryMpTable 

This mode is invoked twice. The first invocation has LegacySegment and LegacyOffset set to 0. The mode returns the MP table address in EFI memory, along with its size. The second invocation has LegacySegment and LegacyOffset set to the location in the 0xF0000 or 0xE0000 block to which the MP table is to be copied. The second invocation allows any MP table address fixes to occur in the EFI memory copy of the MP table. The caller, not EfiGetPlatformBinaryMpTable, copies the modified MP table to the allocated region in 0xF0000 or 0xE0000 block after the second invocation.

The function parameters associated with this mode are:

Table Pointer to the MP table.

TableSize Size in bytes of the MP table.

Location Location to place table. 0x00. Either 0xE0000 or 0xF0000 64 KB blocks. Bit 0 = 1 0xF0000 64 KB block. Bit 1 = 1 0xE0000 64 KB block. Multiple bits can be set.

Alignment Bit-mapped address alignment granularity. The first nonzero bit from the right is the address granularity. LegacyOffset Offset in which EfiCompatibility code will place the MP table.

The return values associated with this mode are:

EFI_SUCCESS The MP table was returned.

EFI_UNSUPPORTED The MP table is not supported on this platform.

EfiGetPlatformBinaryOemIntData 

This mode returns a block of data. The content and usage is IBV or OEM defined. OEMs or IBVs normally use this function for nonstandard Compatibility16 runtime soft INTs. It is the responsibility of this routine to coalesce multiple OEM 16 bit functions, if they exist, into one coherent package that is understandable by the Compatibility16 code. This function is invoked twice. The first invocation has LegacySegment and LegacyOffset set to 0. The function returns the table address in EFI memory, as well as its size. The second invocation has LegacySegment and LegacyOffset set to the location in the 0xF0000 or 0xE0000 block to which the data (table) is to be copied. The second invocation allows any data (table) address fixes to occur in the EFI memory copy of the table. The caller, not GetOemIntData(), copies the modified data (table) to the allocated region in 0xF0000 or 0xE0000 block after the second invocation.

The function parameters associated with this mode are:

Table Pointer to OEM legacy 16 bit code or data.

TableSize Size of data.

Location Location to place table. 0x00. Either 0xE0000 or 0xF0000 64 KB blocks. Bit 0 = 1 0xF0000 64 KB block. Bit 1 = 1 0xE0000 64 KB block. Multiple bits can be set.

Alignment Bit mapped address alignment granularity. The first nonzero bit from the right is the address granularity.

LegacySegment Segment in which EfiCompatibility code will place the table or data.

LegacyOffset Offset in which EfiCompatibility code will place the table or data.

The return values associated with this mode are:

EFI_SUCCESS The data was returned successfully.

EFI_UNSUPPORTED Oem INT is not supported on this platform.

EfiGetPlatformBinaryOem16Data 

This mode returns a block of data. The content and usage is IBV defined. OEMs or IBVs normally use this mode for nonstandard Compatibility16 runtime 16 bit routines. It is the responsibility of this routine to coalesce multiple OEM 16 bit functions, if they exist, into one coherent package that is understandable by the Compatibility16 code.

Example usage: A legacy mobile BIOS that has a pre-existing runtime interface to return the battery status to calling applications.

This mode is invoked twice. The first invocation has LegacySegment and LegacyOffset set to 0. The mode returns the table address in EFI memory and its size. The second invocation has LegacySegment and LegacyOffset set to the location in the 0xF0000 or 0xE0000 block to which the table is to be copied. The second invocation allows any table address fixes to occur in the EFI memory copy of the table. The caller, not EfiGetPlatformBinaryOem16Data, copies the modified table to the allocated region in 0xF0000 or 0xE0000 block after the second invocation.

The function parameters associated with this mode are:

Table Pointer to OEM legacy 16 bit code or data.

TableSize Size of data.

Location Location to place the table. 0x00. Either 0xE0000 or 0xF0000 64 KB blocks. Bit 0 = 1 0xF0000 64 KB block. Bit 1 = 1 0xE0000 64 KB block. Multiple bits can be set.

Alignment Bit mapped address alignment granularity. The first nonzero bit from the right is the address granularity.

LegacySegment Segment in which EfiCompatibility code will place the table or data.

LegacyOffset Offset in which EfiCompatibility code will place the table or data.

The return values associated with this mode are:

EFI_SUCCESS The data was returned successfully.

EFI_UNSUPPORTED Oem16 is not supported on this platform.

EfiGetPlatformBinaryOem32Data 

This mode returns a block of data. The content and usage are IBV defined. OEMs or IBVs normally use this mode for nonstandard Compatibility16 runtime 32 bit routines. It is the responsibility of this routine to coalesce multiple OEM 32 bit functions, if they exist, into one coherent package that is understandable by the Compatibility16 code.

Example usage: A legacy mobile BIOS that has a pre existing runtime interface to return the battery status to calling applications.

This mode is invoked twice. The first invocation has LegacySegment and LegacyOffset set to 0. The mode returns the table address in EFI memory and its size.

The second invocation has LegacySegment and LegacyOffset set to the location in the 0xF0000 or 0xE0000 block to which the table is to be copied. The second invocation allows any table address fix ups to occur in the EFI memory copy of the table. The caller, not EfiGetPlatformBinaryOem32Data, copies the modified table to the allocated region in 0xF0000 or 0xE0000 block after the second invocation..

Note: There are two generic mechanisms by which this mode can be used. Mechanism 1: This mode returns the data and the Legacy BIOS Protocol copies the data into the F0000 or E0000 block in the Compatibility16 code. The EFI_COMPATIBILITY16_TABLE entries Oem32Segment and Oem32Offset can be viewed as two UINT16 entries. Mechanism 2: This mode directly fills in the EFI_COMPATIBILITY16_TABLE with a pointer to the INT15 E820 region containing the 32 bit code. It returns EFI_UNSUPPORTED. The EFI_COMPATIBILITY16_TABLE entries, Oem32Segment and Oem32Offset, can be viewed as two UINT16 entries or as a single UINT32 entry as determined by the IBV.

The function parameters associated with this mode are:

TableSize Size of data.

Location Location to place the table. 0x00 or 0xE0000 or 0xF0000 64 KB blocks. Bit 0 = 1 0xF0000 64 KB block. Bit 1 = 1 0xE0000 64 KB block. Multiple bits can be set.

Alignment Bit mapped address alignment granularity. The first nonzero bit from the right is the address granularity.

LegacySegment Segment in which EfiCompatibility code will place the table or data.

LegacyOffset Offset in which EfiCompatibility code will place the table or data.

The return values associated with this mode are: EFI_SUCCESS The data was returned successfully. EFI_UNSUPPORTED Oem32 is not supported on this platform.

EfiGetPlatformBinaryTpmBinary 

This mode returns a TPM binary image for the onboard TPM device.

The function parameters associated with this mode are:

Table TPM binary image for the onboard TPM device.

TableSize Size of BinaryImage in bytes.

Location Location to place the table. 0x00. Either 0xE0000 or 0xF0000 64 KB blocks. Bit 0 = 1 0xF0000 64 KB block. Bit 1 = 1 0xE0000 64 KB block. Multiple bits can be set.

Alignment Bit mapped address alignment granularity. The first nonzero bit from the right is the address granularity.

LegacySegment Segment in which EfiCompatibility code will place the table or data.

LegacyOffset Offset in which EfiCompatibility code will place the table or data.

The return values associated with this mode are:

EFI_SUCCESS BinaryImage is valid.

EFI_UNSUPPORTED Mode is not supported on this platform.

EFI_NOT_FOUND No BinaryImage was found.

EfiGetPlatformBinarySystemRom 

The mode finds the Compatibility16 Rom Image.

The function parameters associated with this mode are:

System ROM image for the platform.

TableSize Size of Table in bytes.

Location Ignored.

Alignment Ignored.

LegacySegment Ignored.

LegacyOffset Ignored.

The return values associated with this mode are:

EFI_SUCCESS ROM image found.

EFI_NOT_FOUND ROM not found.

EfiGetPlatformPciExpressBase 

This mode returns the Base address of PciExpress memory mapped configuration address space.

The function parameters associated with this mode are:

Table System ROM image for the platform.

TableSize Size of Table in bytes.

Location Ignored.

Alignment Ignored.

LegacySegment Ignored.

LegacyOffset Ignored.

The return values associated with this mode are:

EFI_SUCCESS Address is valid.

EFI_UNSUPPORTED System does not PciExpress.

EfiGetPlatformPmmSize 
EfiGetPlatformEndOpromShadowAddr 

Variable Documentation

EFI_GUID gEfiLegacyBiosPlatformProtocolGuid