Fix doxygen comment for structure and macro
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6096 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -79,10 +79,6 @@ EFI_STATUS
|
|||||||
/**
|
/**
|
||||||
@par Protocol Description:
|
@par Protocol Description:
|
||||||
The EFI_LOAD_FILE_PROTOCOL is a simple protocol used to obtain files from arbitrary devices.
|
The EFI_LOAD_FILE_PROTOCOL is a simple protocol used to obtain files from arbitrary devices.
|
||||||
|
|
||||||
@param LoadFile
|
|
||||||
Causes the driver to load the requested file.
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
struct _EFI_LOAD_FILE_PROTOCOL {
|
struct _EFI_LOAD_FILE_PROTOCOL {
|
||||||
EFI_LOAD_FILE LoadFile;
|
EFI_LOAD_FILE LoadFile;
|
||||||
|
@ -48,72 +48,60 @@
|
|||||||
/**
|
/**
|
||||||
@par Protocol Description:
|
@par Protocol Description:
|
||||||
Can be used on any image handle to obtain information about the loaded image.
|
Can be used on any image handle to obtain information about the loaded image.
|
||||||
|
|
||||||
@param Revision
|
|
||||||
Defines the revision of the EFI_LOADED_IMAGE_PROTOCOL structure.
|
|
||||||
All future revisions will be backward compatible to the current revision.
|
|
||||||
|
|
||||||
@param ParentHandle
|
|
||||||
Parent image's image handle. NULL if the image is loaded directly from
|
|
||||||
the firmware's boot manager.
|
|
||||||
|
|
||||||
@param SystemTable
|
|
||||||
The image's EFI system table pointer.
|
|
||||||
|
|
||||||
@param DeviceHandle
|
|
||||||
The device handle that the EFI Image was loaded from.
|
|
||||||
|
|
||||||
@param FilePath
|
|
||||||
A pointer to the file path portion specific to DeviceHandle
|
|
||||||
that the EFI Image was loaded from.
|
|
||||||
|
|
||||||
@param Reserved
|
|
||||||
Reserved. DO NOT USE.
|
|
||||||
|
|
||||||
@param LoadOptionsSize
|
|
||||||
The size in bytes of LoadOptions.
|
|
||||||
|
|
||||||
@param LoadOptions
|
|
||||||
A pointer to the image's binary load options.
|
|
||||||
|
|
||||||
@param ImageBase
|
|
||||||
The base address at which the image was loaded.
|
|
||||||
|
|
||||||
@param ImageSize
|
|
||||||
The size in bytes of the loaded image.
|
|
||||||
|
|
||||||
@param ImageCodeType
|
|
||||||
The memory
|
|
||||||
|
|
||||||
@param ImageDataType
|
|
||||||
The memory
|
|
||||||
|
|
||||||
@param Unload
|
|
||||||
Function that unloads the image.
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// Defines the revision of the EFI_LOADED_IMAGE_PROTOCOL structure.
|
||||||
|
/// All future revisions will be backward compatible to the current revision.
|
||||||
|
///
|
||||||
UINT32 Revision;
|
UINT32 Revision;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Parent image's image handle. NULL if the image is loaded directly from
|
||||||
|
/// the firmware's boot manager.
|
||||||
|
///
|
||||||
EFI_HANDLE ParentHandle;
|
EFI_HANDLE ParentHandle;
|
||||||
EFI_SYSTEM_TABLE *SystemTable;
|
EFI_SYSTEM_TABLE *SystemTable;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Source location of image
|
// Source location of image
|
||||||
//
|
//
|
||||||
|
///
|
||||||
|
/// The device handle that the EFI Image was loaded from.
|
||||||
|
///
|
||||||
EFI_HANDLE DeviceHandle;
|
EFI_HANDLE DeviceHandle;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// A pointer to the file path portion specific to DeviceHandle
|
||||||
|
/// that the EFI Image was loaded from.
|
||||||
|
///
|
||||||
EFI_DEVICE_PATH_PROTOCOL *FilePath;
|
EFI_DEVICE_PATH_PROTOCOL *FilePath;
|
||||||
VOID *Reserved;
|
VOID *Reserved; ///< Reserved. DO NOT USE.
|
||||||
|
|
||||||
//
|
//
|
||||||
// Images load options
|
// Images load options
|
||||||
//
|
//
|
||||||
|
///
|
||||||
|
/// The size in bytes of LoadOptions.
|
||||||
|
///
|
||||||
UINT32 LoadOptionsSize;
|
UINT32 LoadOptionsSize;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// A pointer to the image's binary load options.
|
||||||
|
///
|
||||||
VOID *LoadOptions;
|
VOID *LoadOptions;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Location of where image was loaded
|
// Location of where image was loaded
|
||||||
//
|
//
|
||||||
|
///
|
||||||
|
/// The base address at which the image was loaded.
|
||||||
|
///
|
||||||
VOID *ImageBase;
|
VOID *ImageBase;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// The size in bytes of the loaded image.
|
||||||
|
///
|
||||||
UINT64 ImageSize;
|
UINT64 ImageSize;
|
||||||
EFI_MEMORY_TYPE ImageCodeType;
|
EFI_MEMORY_TYPE ImageCodeType;
|
||||||
EFI_MEMORY_TYPE ImageDataType;
|
EFI_MEMORY_TYPE ImageDataType;
|
||||||
|
@ -293,34 +293,6 @@ EFI_STATUS
|
|||||||
@par Protocol Description:
|
@par Protocol Description:
|
||||||
The MNP is used by network applications (and drivers) to
|
The MNP is used by network applications (and drivers) to
|
||||||
perform raw (unformatted) asynchronous network packet I/O.
|
perform raw (unformatted) asynchronous network packet I/O.
|
||||||
|
|
||||||
@param GetModeData
|
|
||||||
Returns the current MNP child driver operational parameters.
|
|
||||||
May also support returning underlying Simple Network Protocol (SNP) driver mode data.
|
|
||||||
|
|
||||||
@param Configure
|
|
||||||
Sets and clears operational parameters for an MNP child driver.
|
|
||||||
|
|
||||||
@param McastIpToMac
|
|
||||||
Translates a software (IP) multicast address to a hardware (MAC) multicast address.
|
|
||||||
This function may be unsupported in some MNP implementations.
|
|
||||||
|
|
||||||
@param Groups
|
|
||||||
Enables and disables receive filters for multicast addresses.
|
|
||||||
This function may be unsupported in some MNP implementations.
|
|
||||||
|
|
||||||
@param Transmit
|
|
||||||
Places asynchronous outgoing data packets into the transmit queue.
|
|
||||||
|
|
||||||
@param Receive
|
|
||||||
Places an asynchronous receiving request into the receiving queue.
|
|
||||||
|
|
||||||
@param Cancel
|
|
||||||
Aborts a pending transmit or receive request.
|
|
||||||
|
|
||||||
@param Poll
|
|
||||||
Polls for incoming data packets and processes outgoing data packets.
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
struct _EFI_MANAGED_NETWORK_PROTOCOL {
|
struct _EFI_MANAGED_NETWORK_PROTOCOL {
|
||||||
EFI_MANAGED_NETWORK_GET_MODE_DATA GetModeData;
|
EFI_MANAGED_NETWORK_GET_MODE_DATA GetModeData;
|
||||||
|
@ -57,9 +57,6 @@ EFI_STATUS
|
|||||||
IN UINT32 TickNumber
|
IN UINT32 TickNumber
|
||||||
);
|
);
|
||||||
|
|
||||||
//
|
|
||||||
//
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Interface stucture for the Metronome Architectural Protocol.
|
Interface stucture for the Metronome Architectural Protocol.
|
||||||
|
|
||||||
@ -74,17 +71,17 @@ EFI_STATUS
|
|||||||
function and the first tick is between 0 and TickPeriod 100 nS
|
function and the first tick is between 0 and TickPeriod 100 nS
|
||||||
units. If you want to guarantee that at least TickPeriod time
|
units. If you want to guarantee that at least TickPeriod time
|
||||||
has elapsed, wait for two ticks.
|
has elapsed, wait for two ticks.
|
||||||
|
|
||||||
@param TickPeriod
|
|
||||||
The period of platform's known time source in 100 nS units.
|
|
||||||
This value on any platform must be at least 10 uS, and must not
|
|
||||||
exceed 200 uS. The value in this field is a constant that must
|
|
||||||
not be modified after the Metronome architectural protocol is
|
|
||||||
installed. All consumers must treat this as a read-only field.
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
struct _EFI_METRONOME_ARCH_PROTOCOL {
|
struct _EFI_METRONOME_ARCH_PROTOCOL {
|
||||||
EFI_METRONOME_WAIT_FOR_TICK WaitForTick;
|
EFI_METRONOME_WAIT_FOR_TICK WaitForTick;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// The period of platform's known time source in 100 nS units.
|
||||||
|
/// This value on any platform must be at least 10 uS, and must not
|
||||||
|
/// exceed 200 uS. The value in this field is a constant that must
|
||||||
|
/// not be modified after the Metronome architectural protocol is
|
||||||
|
/// installed. All consumers must treat this as a read-only field.
|
||||||
|
///
|
||||||
UINT32 TickPeriod;
|
UINT32 TickPeriod;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -468,34 +468,6 @@ EFI_STATUS
|
|||||||
The EFI_MTFTP4_PROTOCOL is designed to be used by UEFI drivers and applications
|
The EFI_MTFTP4_PROTOCOL is designed to be used by UEFI drivers and applications
|
||||||
to transmit and receive data files. The EFI MTFTPv4 Protocol driver uses
|
to transmit and receive data files. The EFI MTFTPv4 Protocol driver uses
|
||||||
the underlying EFI UDPv4 Protocol driver and EFI IPv4 Protocol driver.
|
the underlying EFI UDPv4 Protocol driver and EFI IPv4 Protocol driver.
|
||||||
|
|
||||||
@param GetModeData
|
|
||||||
Reads the current operational settings.
|
|
||||||
|
|
||||||
@param Configure
|
|
||||||
Initializes, changes, or resets the operational settings for
|
|
||||||
this instance of the EFI MTFTPv4 Protocol driver.
|
|
||||||
|
|
||||||
@param GetInfo
|
|
||||||
Retrieves information about a file from an MTFTPv4 server.
|
|
||||||
|
|
||||||
@param ParseOptions
|
|
||||||
Parses the options in an MTFTPv4 OACK (options acknowledgement) packet.
|
|
||||||
|
|
||||||
@param ReadFile
|
|
||||||
Downloads a file from an MTFTPv4 server.
|
|
||||||
|
|
||||||
@param WriteFile
|
|
||||||
Uploads a file to an MTFTPv4 server. This function may be unsupported
|
|
||||||
in some EFI implementations.
|
|
||||||
|
|
||||||
@param ReadDirectory
|
|
||||||
Downloads a related file directory from an MTFTPv4 server. This function
|
|
||||||
may be unsupported in some EFI implementations.
|
|
||||||
|
|
||||||
@param Poll
|
|
||||||
Polls for incoming data packets and processes outgoing data packets.
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
struct _EFI_MTFTP4_PROTOCOL {
|
struct _EFI_MTFTP4_PROTOCOL {
|
||||||
EFI_MTFTP4_GET_MODE_DATA GetModeData;
|
EFI_MTFTP4_GET_MODE_DATA GetModeData;
|
||||||
|
@ -47,92 +47,59 @@ typedef enum {
|
|||||||
@par Protocol Description:
|
@par Protocol Description:
|
||||||
An optional protocol that is used to describe details about the software
|
An optional protocol that is used to describe details about the software
|
||||||
layer that is used to produce the Simple Network Protocol.
|
layer that is used to produce the Simple Network Protocol.
|
||||||
|
|
||||||
@param Revision
|
|
||||||
The revision of the EFI_NETWORK_INTERFACE_IDENTIFIER protocol.
|
|
||||||
|
|
||||||
@param Id
|
|
||||||
Address of the first byte of the identifying structure for this network
|
|
||||||
interface. This is only valid when the network interface is started
|
|
||||||
(see Start()). When the network interface is not started, this field is set to zero.
|
|
||||||
|
|
||||||
@param ImageAddr
|
|
||||||
Address of the unrelocated network interface image.
|
|
||||||
|
|
||||||
@param ImageSize
|
|
||||||
Size of unrelocated network interface image.
|
|
||||||
|
|
||||||
@param StringId
|
|
||||||
A four-character ASCII string that is sent in the class identifier field of
|
|
||||||
option 60 in DHCP. For a Type of EfiNetworkInterfaceUndi, this field is UNDI.
|
|
||||||
|
|
||||||
@param Type
|
|
||||||
Network interface type. This will be set to one of the values
|
|
||||||
in EFI_NETWORK_INTERFACE_TYPE.
|
|
||||||
|
|
||||||
@param MajorVer
|
|
||||||
Major version number.
|
|
||||||
|
|
||||||
@param MinorVer
|
|
||||||
Minor version number.
|
|
||||||
|
|
||||||
@param Ipv6Supported
|
|
||||||
TRUE if the network interface supports IPv6; otherwise FALSE.
|
|
||||||
|
|
||||||
@param IfNum
|
|
||||||
The network interface number that is being identified by this Network
|
|
||||||
Interface Identifier Protocol. This field must be less than or equal
|
|
||||||
to the IFcnt field in the !PXE structure.
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
struct _EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL {
|
struct _EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL {
|
||||||
|
///
|
||||||
|
/// The revision of the EFI_NETWORK_INTERFACE_IDENTIFIER protocol.
|
||||||
|
///
|
||||||
UINT64 Revision;
|
UINT64 Revision;
|
||||||
//
|
|
||||||
// Revision of the network interface identifier protocol interface.
|
///
|
||||||
//
|
/// Address of the first byte of the identifying structure for this network
|
||||||
|
/// interface. This is only valid when the network interface is started
|
||||||
|
/// (see Start()). When the network interface is not started, this field is set to zero.
|
||||||
|
///
|
||||||
UINT64 ID;
|
UINT64 ID;
|
||||||
//
|
|
||||||
// Address of the first byte of the identifying structure for this
|
///
|
||||||
// network interface. This is set to zero if there is no structure.
|
/// Address of the first byte of the identifying structure for this
|
||||||
//
|
/// network interface. This is set to zero if there is no structure.
|
||||||
// For PXE/UNDI this is the first byte of the !PXE structure.
|
///
|
||||||
//
|
/// For PXE/UNDI this is the first byte of the !PXE structure.
|
||||||
|
///
|
||||||
UINT64 ImageAddr;
|
UINT64 ImageAddr;
|
||||||
//
|
|
||||||
// Address of the UNrelocated driver/ROM image. This is set
|
///
|
||||||
// to zero if there is no driver/ROM image.
|
/// Size of unrelocated network interface image.
|
||||||
//
|
///
|
||||||
// For 16-bit UNDI, this is the first byte of the option ROM in
|
|
||||||
// upper memory.
|
|
||||||
//
|
|
||||||
// For 32/64-bit S/W UNDI, this is the first byte of the EFI ROM
|
|
||||||
// image.
|
|
||||||
//
|
|
||||||
// For H/W UNDI, this is set to zero.
|
|
||||||
//
|
|
||||||
UINT32 ImageSize;
|
UINT32 ImageSize;
|
||||||
//
|
|
||||||
// Size of the UNrelocated driver/ROM image of this network interface.
|
///
|
||||||
// This is set to zero if there is no driver/ROM image.
|
/// A four-character ASCII string that is sent in the class identifier field of
|
||||||
//
|
/// option 60 in DHCP. For a Type of EfiNetworkInterfaceUndi, this field is UNDI.
|
||||||
|
///
|
||||||
CHAR8 StringId[4];
|
CHAR8 StringId[4];
|
||||||
//
|
|
||||||
// 4 char ASCII string to go in class identifier (option 60) in DHCP
|
///
|
||||||
// and Boot Server discover packets.
|
/// Network interface type. This will be set to one of the values
|
||||||
// For EfiNetworkInterfaceUndi this field is "UNDI".
|
/// in EFI_NETWORK_INTERFACE_TYPE.
|
||||||
// For EfiNetworkInterfaceSnp this field is "SNPN".
|
///
|
||||||
//
|
|
||||||
UINT8 Type;
|
UINT8 Type;
|
||||||
UINT8 MajorVer;
|
|
||||||
UINT8 MinorVer;
|
UINT8 MajorVer; ///< Major version number.
|
||||||
//
|
UINT8 MinorVer; ///< Minor version number.
|
||||||
// Information to be placed into the PXE DHCP and Discover packets.
|
|
||||||
// This is the network interface type and version number that will
|
///
|
||||||
// be placed into DHCP option 94 (client network interface identifier).
|
/// TRUE if the network interface supports IPv6; otherwise FALSE.\
|
||||||
//
|
///
|
||||||
BOOLEAN Ipv6Supported;
|
BOOLEAN Ipv6Supported;
|
||||||
UINT8 IfNum; // interface number to be used with pxeid structure
|
|
||||||
|
///
|
||||||
|
/// The network interface number that is being identified by this Network
|
||||||
|
/// Interface Identifier Protocol. This field must be less than or equal
|
||||||
|
/// to the IFcnt field in the !PXE structure.
|
||||||
|
///
|
||||||
|
UINT8 IfNum;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern EFI_GUID gEfiNetworkInterfaceIdentifierProtocolGuid;
|
extern EFI_GUID gEfiNetworkInterfaceIdentifierProtocolGuid;
|
||||||
|
@ -819,100 +819,6 @@ EFI_STATUS
|
|||||||
/**
|
/**
|
||||||
@par Protocol Description:
|
@par Protocol Description:
|
||||||
This service abstracts the ability to set/get Platform Configuration Database (PCD).
|
This service abstracts the ability to set/get Platform Configuration Database (PCD).
|
||||||
|
|
||||||
@param SetSku
|
|
||||||
Sets the SKU value for subsequent calls to set or get PCD token values.
|
|
||||||
|
|
||||||
@param Get8
|
|
||||||
Retrieves an 8-bit value for a given PCD token.
|
|
||||||
|
|
||||||
@param Get16
|
|
||||||
Retrieves an 16-bit value for a given PCD token.
|
|
||||||
|
|
||||||
@param Get32
|
|
||||||
Retrieves an 32-bit value for a given PCD token.
|
|
||||||
|
|
||||||
@param Get64
|
|
||||||
Retrieves an 64-bit value for a given PCD token.
|
|
||||||
|
|
||||||
@param GetPtr
|
|
||||||
Retrieves a pointer to a value for a given PCD token.
|
|
||||||
|
|
||||||
@param GetBool
|
|
||||||
Retrieves an Boolean value for a given PCD token.
|
|
||||||
|
|
||||||
@param GetSize
|
|
||||||
Retrieves the size of the value for a given PCD token.
|
|
||||||
|
|
||||||
@param Get8Ex
|
|
||||||
Retrieves an 8-bit value for a given PCD token and token space.
|
|
||||||
|
|
||||||
@param Get16Ex
|
|
||||||
Retrieves an 16-bit value for a given PCD token and token space.
|
|
||||||
|
|
||||||
@param Get32Ex
|
|
||||||
Retrieves an 32-bit value for a given PCD token and token space.
|
|
||||||
|
|
||||||
@param Get64Ex
|
|
||||||
Retrieves an 64-bit value for a given PCD token and token space.
|
|
||||||
|
|
||||||
@param GetPtrEx
|
|
||||||
Retrieves a pointer to a value for a given PCD token and token space.
|
|
||||||
|
|
||||||
@param GetBoolEx
|
|
||||||
Retrieves an Boolean value for a given PCD token and token space.
|
|
||||||
|
|
||||||
@param GetSizeEx
|
|
||||||
Retrieves the size of the value for a given PCD token and token space.
|
|
||||||
|
|
||||||
@param Set8
|
|
||||||
Sets an 8-bit value for a given PCD token.
|
|
||||||
|
|
||||||
@param Set16
|
|
||||||
Sets an 16-bit value for a given PCD token.
|
|
||||||
|
|
||||||
@param Set32
|
|
||||||
Sets an 32-bit value for a given PCD token.
|
|
||||||
|
|
||||||
@param Set64
|
|
||||||
Sets an 64-bit value for a given PCD token.
|
|
||||||
|
|
||||||
@param SetPtr
|
|
||||||
Sets the buffer of a specified size for a given PCD token.
|
|
||||||
|
|
||||||
@param SetBool
|
|
||||||
Sets an Boolean value for a given PCD token.
|
|
||||||
|
|
||||||
@param Set8Ex
|
|
||||||
Sets an 8-bit value for a given PCD token and token space.
|
|
||||||
|
|
||||||
@param Set16Ex
|
|
||||||
Sets an 16-bit value for a given PCD token and token space.
|
|
||||||
|
|
||||||
@param Set32Ex
|
|
||||||
Sets an 32-bit value for a given PCD token and token space.
|
|
||||||
|
|
||||||
@param Set64Ex
|
|
||||||
Sets an 64-bit value for a given PCD token and token space.
|
|
||||||
|
|
||||||
@param SetPtrEx
|
|
||||||
Sets the buffer of a specified size for a given PCD token and token space.
|
|
||||||
|
|
||||||
@param SetBoolEx
|
|
||||||
Sets an Boolean value for a given PCD token and token space.
|
|
||||||
|
|
||||||
@param CallbackOnSet
|
|
||||||
Specifies a function to be called anytime the value of a designated token is changed.
|
|
||||||
|
|
||||||
@param CancelCallback
|
|
||||||
Cancels a previously set callback function for a particular PCD token number.
|
|
||||||
|
|
||||||
@param GetNextToken
|
|
||||||
Retrieves the next valid PCD token for a given namespace.
|
|
||||||
|
|
||||||
@param GetNextTokenSpace
|
|
||||||
Retrieves the next valid PCD token namespace for a given namespace.
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
PCD_PROTOCOL_SET_SKU SetSku;
|
PCD_PROTOCOL_SET_SKU SetSku;
|
||||||
|
@ -48,27 +48,27 @@ typedef enum {
|
|||||||
//
|
//
|
||||||
// Complete PCI address generater
|
// Complete PCI address generater
|
||||||
//
|
//
|
||||||
#define EFI_PCI_IO_PASS_THROUGH_BAR 0xff // Special BAR that passes a memory or I/O cycle through unchanged
|
#define EFI_PCI_IO_PASS_THROUGH_BAR 0xff ///< Special BAR that passes a memory or I/O cycle through unchanged
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_MASK 0x077f // All the following I/O and Memory cycles
|
#define EFI_PCI_IO_ATTRIBUTE_MASK 0x077f ///< All the following I/O and Memory cycles
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_ISA_MOTHERBOARD_IO 0x0001 // I/O cycles 0x0000-0x00FF (10 bit decode)
|
#define EFI_PCI_IO_ATTRIBUTE_ISA_MOTHERBOARD_IO 0x0001 ///< I/O cycles 0x0000-0x00FF (10 bit decode)
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_ISA_IO 0x0002 // I/O cycles 0x0100-0x03FF or greater (10 bit decode)
|
#define EFI_PCI_IO_ATTRIBUTE_ISA_IO 0x0002 ///< I/O cycles 0x0100-0x03FF or greater (10 bit decode)
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO 0x0004 // I/O cycles 0x3C6, 0x3C8, 0x3C9 (10 bit decode)
|
#define EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO 0x0004 ///< I/O cycles 0x3C6, 0x3C8, 0x3C9 (10 bit decode)
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY 0x0008 // MEM cycles 0xA0000-0xBFFFF (24 bit decode)
|
#define EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY 0x0008 ///< MEM cycles 0xA0000-0xBFFFF (24 bit decode)
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_VGA_IO 0x0010 // I/O cycles 0x3B0-0x3BB and 0x3C0-0x3DF (10 bit decode)
|
#define EFI_PCI_IO_ATTRIBUTE_VGA_IO 0x0010 ///< I/O cycles 0x3B0-0x3BB and 0x3C0-0x3DF (10 bit decode)
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_IDE_PRIMARY_IO 0x0020 // I/O cycles 0x1F0-0x1F7, 0x3F6, 0x3F7 (10 bit decode)
|
#define EFI_PCI_IO_ATTRIBUTE_IDE_PRIMARY_IO 0x0020 ///< I/O cycles 0x1F0-0x1F7, 0x3F6, 0x3F7 (10 bit decode)
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_IDE_SECONDARY_IO 0x0040 // I/O cycles 0x170-0x177, 0x376, 0x377 (10 bit decode)
|
#define EFI_PCI_IO_ATTRIBUTE_IDE_SECONDARY_IO 0x0040 ///< I/O cycles 0x170-0x177, 0x376, 0x377 (10 bit decode)
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_MEMORY_WRITE_COMBINE 0x0080 // Map a memory range so write are combined
|
#define EFI_PCI_IO_ATTRIBUTE_MEMORY_WRITE_COMBINE 0x0080 ///< Map a memory range so write are combined
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_IO 0x0100 // Enable the I/O decode bit in the PCI Config Header
|
#define EFI_PCI_IO_ATTRIBUTE_IO 0x0100 ///< Enable the I/O decode bit in the PCI Config Header
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_MEMORY 0x0200 // Enable the Memory decode bit in the PCI Config Header
|
#define EFI_PCI_IO_ATTRIBUTE_MEMORY 0x0200 ///< Enable the Memory decode bit in the PCI Config Header
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_BUS_MASTER 0x0400 // Enable the DMA bit in the PCI Config Header
|
#define EFI_PCI_IO_ATTRIBUTE_BUS_MASTER 0x0400 ///< Enable the DMA bit in the PCI Config Header
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_MEMORY_CACHED 0x0800 // Map a memory range so all r/w accesses are cached
|
#define EFI_PCI_IO_ATTRIBUTE_MEMORY_CACHED 0x0800 ///< Map a memory range so all r/w accesses are cached
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_MEMORY_DISABLE 0x1000 // Disable a memory range
|
#define EFI_PCI_IO_ATTRIBUTE_MEMORY_DISABLE 0x1000 ///< Disable a memory range
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_EMBEDDED_DEVICE 0x2000 // Clear for an add-in PCI Device
|
#define EFI_PCI_IO_ATTRIBUTE_EMBEDDED_DEVICE 0x2000 ///< Clear for an add-in PCI Device
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM 0x4000 // Clear for a physical PCI Option ROM accessed through ROM BAR
|
#define EFI_PCI_IO_ATTRIBUTE_EMBEDDED_ROM 0x4000 ///< Clear for a physical PCI Option ROM accessed through ROM BAR
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE 0x8000 // Clear for PCI controllers that can not genrate a DAC
|
#define EFI_PCI_IO_ATTRIBUTE_DUAL_ADDRESS_CYCLE 0x8000 ///< Clear for PCI controllers that can not genrate a DAC
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_ISA_IO_16 0x10000 // I/O cycles 0x0100-0x03FF or greater (16 bit decode)
|
#define EFI_PCI_IO_ATTRIBUTE_ISA_IO_16 0x10000 ///< I/O cycles 0x0100-0x03FF or greater (16 bit decode)
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16 0x20000 // I/O cycles 0x3C6, 0x3C8, 0x3C9 (16 bit decode)
|
#define EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO_16 0x20000 ///< I/O cycles 0x3C6, 0x3C8, 0x3C9 (16 bit decode)
|
||||||
#define EFI_PCI_IO_ATTRIBUTE_VGA_IO_16 0x30000 // I/O cycles 0x3B0-0x3BB and 0x3C0-0x3DF (16 bit decode)
|
#define EFI_PCI_IO_ATTRIBUTE_VGA_IO_16 0x30000 ///< I/O cycles 0x3B0-0x3BB and 0x3C0-0x3DF (16 bit decode)
|
||||||
|
|
||||||
#define EFI_PCI_DEVICE_ENABLE (EFI_PCI_IO_ATTRIBUTE_IO | EFI_PCI_IO_ATTRIBUTE_MEMORY | EFI_PCI_IO_ATTRIBUTE_BUS_MASTER)
|
#define EFI_PCI_DEVICE_ENABLE (EFI_PCI_IO_ATTRIBUTE_IO | EFI_PCI_IO_ATTRIBUTE_MEMORY | EFI_PCI_IO_ATTRIBUTE_BUS_MASTER)
|
||||||
#define EFI_VGA_DEVICE_ENABLE (EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO | EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY | EFI_PCI_IO_ATTRIBUTE_VGA_IO | EFI_PCI_IO_ATTRIBUTE_IO)
|
#define EFI_VGA_DEVICE_ENABLE (EFI_PCI_IO_ATTRIBUTE_VGA_PALETTE_IO | EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY | EFI_PCI_IO_ATTRIBUTE_VGA_IO | EFI_PCI_IO_ATTRIBUTE_IO)
|
||||||
@ -481,76 +481,6 @@ EFI_STATUS
|
|||||||
There is one EFI_PCI_IO_PROTOCOL instance for each PCI controller on a PCI bus.
|
There is one EFI_PCI_IO_PROTOCOL instance for each PCI controller on a PCI bus.
|
||||||
A device driver that wishes to manage a PCI controller in a system will have to
|
A device driver that wishes to manage a PCI controller in a system will have to
|
||||||
retrieve the EFI_PCI_IO_PROTOCOL instance that is associated with the PCI controller.
|
retrieve the EFI_PCI_IO_PROTOCOL instance that is associated with the PCI controller.
|
||||||
|
|
||||||
@param PollMem
|
|
||||||
Polls an address in PCI memory space until an exit condition is met, or a timeout occurs.
|
|
||||||
|
|
||||||
@param PollIo
|
|
||||||
Polls an address in PCI I/O space until an exit condition is met, or a timeout occurs.
|
|
||||||
|
|
||||||
@param Mem.Read
|
|
||||||
Allows BAR relative reads to PCI memory space.
|
|
||||||
|
|
||||||
@param Mem.Write
|
|
||||||
Allows BAR relative writes to PCI memory space.
|
|
||||||
|
|
||||||
@param Io.Read
|
|
||||||
Allows BAR relative reads to PCI I/O space.
|
|
||||||
|
|
||||||
@param Io.Write
|
|
||||||
Allows BAR relative writes to PCI I/O space.
|
|
||||||
|
|
||||||
@param Pci.Read
|
|
||||||
Allows PCI controller relative reads to PCI configuration space.
|
|
||||||
|
|
||||||
@param Pci.Write
|
|
||||||
Allows PCI controller relative writes to PCI configuration space.
|
|
||||||
|
|
||||||
@param CopyMem
|
|
||||||
Allows one region of PCI memory space to be copied to another region of PCI memory space.
|
|
||||||
|
|
||||||
@param Map
|
|
||||||
Provides the PCI controller's specific address needed to access system memory for DMA.
|
|
||||||
|
|
||||||
@param Unmap
|
|
||||||
Releases any resources allocated by Map().
|
|
||||||
|
|
||||||
@param AllocateBuffer
|
|
||||||
Allocates pages that are suitable for a common buffer mapping.
|
|
||||||
|
|
||||||
@param FreeBuffer
|
|
||||||
Frees pages that were allocated with AllocateBuffer().
|
|
||||||
|
|
||||||
@param Flush
|
|
||||||
Flushes all PCI posted write transactions to system memory.
|
|
||||||
|
|
||||||
@param GetLocation
|
|
||||||
Retrieves this PCI controller's current PCI bus number, device number, and function number.
|
|
||||||
|
|
||||||
@param Attributes
|
|
||||||
Performs an operation on the attributes that this PCI controller supports.
|
|
||||||
The operations include getting the set of supported attributes, retrieving
|
|
||||||
the current attributes, setting the current
|
|
||||||
attributes, enabling attributes, and disabling attributes.
|
|
||||||
|
|
||||||
@param GetBarAttributes
|
|
||||||
Gets the attributes that this PCI controller supports setting on a BAR using
|
|
||||||
SetBarAttributes(), and retrieves the list of resource descriptors for a BAR.
|
|
||||||
|
|
||||||
@param SetBarAttributes
|
|
||||||
Sets the attributes for a range of a BAR on a PCI controller.
|
|
||||||
|
|
||||||
@param RomSize
|
|
||||||
The size, in bytes, of the ROM image.
|
|
||||||
|
|
||||||
@param RomImage
|
|
||||||
A pointer to the in memory copy of the ROM image. The PCI Bus Driver is responsible
|
|
||||||
for allocating memory for the ROM image, and copying the contents of the ROM to memory.
|
|
||||||
The contents of this buffer are either from the PCI option ROM that can be accessed
|
|
||||||
through the ROM BAR of the PCI controller, or it is from a platform-specific location.
|
|
||||||
The Attributes() function can be used to determine from which of these two sources
|
|
||||||
the RomImage buffer was initialized.
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
struct _EFI_PCI_IO_PROTOCOL {
|
struct _EFI_PCI_IO_PROTOCOL {
|
||||||
EFI_PCI_IO_PROTOCOL_POLL_IO_MEM PollMem;
|
EFI_PCI_IO_PROTOCOL_POLL_IO_MEM PollMem;
|
||||||
@ -568,7 +498,20 @@ struct _EFI_PCI_IO_PROTOCOL {
|
|||||||
EFI_PCI_IO_PROTOCOL_ATTRIBUTES Attributes;
|
EFI_PCI_IO_PROTOCOL_ATTRIBUTES Attributes;
|
||||||
EFI_PCI_IO_PROTOCOL_GET_BAR_ATTRIBUTES GetBarAttributes;
|
EFI_PCI_IO_PROTOCOL_GET_BAR_ATTRIBUTES GetBarAttributes;
|
||||||
EFI_PCI_IO_PROTOCOL_SET_BAR_ATTRIBUTES SetBarAttributes;
|
EFI_PCI_IO_PROTOCOL_SET_BAR_ATTRIBUTES SetBarAttributes;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// The size, in bytes, of the ROM image.
|
||||||
|
///
|
||||||
UINT64 RomSize;
|
UINT64 RomSize;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// A pointer to the in memory copy of the ROM image. The PCI Bus Driver is responsible
|
||||||
|
/// for allocating memory for the ROM image, and copying the contents of the ROM to memory.
|
||||||
|
/// The contents of this buffer are either from the PCI option ROM that can be accessed
|
||||||
|
/// through the ROM BAR of the PCI controller, or it is from a platform-specific location.
|
||||||
|
/// The Attributes() function can be used to determine from which of these two sources
|
||||||
|
/// the RomImage buffer was initialized.
|
||||||
|
///
|
||||||
VOID *RomImage;
|
VOID *RomImage;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -362,69 +362,11 @@ EFI_STATUS
|
|||||||
@par Protocol Description:
|
@par Protocol Description:
|
||||||
Provides the basic Memory, I/O, PCI configuration, and DMA interfaces that are
|
Provides the basic Memory, I/O, PCI configuration, and DMA interfaces that are
|
||||||
used to abstract accesses to PCI controllers behind a PCI Root Bridge Controller.
|
used to abstract accesses to PCI controllers behind a PCI Root Bridge Controller.
|
||||||
|
|
||||||
@param ParentHandle
|
|
||||||
The EFI_HANDLE of the PCI Host Bridge of which this PCI Root Bridge is a member.
|
|
||||||
|
|
||||||
@param PollMem
|
|
||||||
Polls an address in memory mapped I/O space until an exit condition is met,
|
|
||||||
or a timeout occurs.
|
|
||||||
|
|
||||||
@param PollIo
|
|
||||||
Polls an address in I/O space until an exit condition is met, or a timeout occurs.
|
|
||||||
|
|
||||||
@param Mem.Read
|
|
||||||
Allows reads from memory mapped I/O space.
|
|
||||||
|
|
||||||
@param Mem.Write
|
|
||||||
Allows writes to memory mapped I/O space.
|
|
||||||
|
|
||||||
@param Io.Read
|
|
||||||
Allows reads from I/O space.
|
|
||||||
|
|
||||||
@param Io.Write
|
|
||||||
Allows writes to I/O space.
|
|
||||||
|
|
||||||
@param Pci.Read
|
|
||||||
Allows reads from PCI configuration space.
|
|
||||||
|
|
||||||
@param Pci.Write
|
|
||||||
Allows writes to PCI configuration space.
|
|
||||||
|
|
||||||
@param CopyMem
|
|
||||||
Allows one region of PCI root bridge memory space to be copied to another
|
|
||||||
region of PCI root bridge memory space.
|
|
||||||
|
|
||||||
@param Map
|
|
||||||
Provides the PCI controller's specific addresses needed to access system memory for DMA.
|
|
||||||
|
|
||||||
@param Unmap
|
|
||||||
Releases any resources allocated by Map().
|
|
||||||
|
|
||||||
@param AllocateBuffer
|
|
||||||
Allocates pages that are suitable for a common buffer mapping.
|
|
||||||
|
|
||||||
@param FreeBuffer
|
|
||||||
Free pages that were allocated with AllocateBuffer().
|
|
||||||
|
|
||||||
@param Flush
|
|
||||||
Flushes all PCI posted write transactions to system memory.
|
|
||||||
|
|
||||||
@param GetAttributes
|
|
||||||
Gets the attributes that a PCI root bridge supports setting with SetAttributes(),
|
|
||||||
and the attributes that a PCI root bridge is currently using.
|
|
||||||
|
|
||||||
@param SetAttributes
|
|
||||||
Sets attributes for a resource range on a PCI root bridge.
|
|
||||||
|
|
||||||
@param Configuration
|
|
||||||
Gets the current resource settings for this PCI root bridge.
|
|
||||||
|
|
||||||
@param SegmentNumber
|
|
||||||
The segment number that this PCI root bridge resides.
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
struct _EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL {
|
struct _EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL {
|
||||||
|
///
|
||||||
|
/// The EFI_HANDLE of the PCI Host Bridge of which this PCI Root Bridge is a member.
|
||||||
|
///
|
||||||
EFI_HANDLE ParentHandle;
|
EFI_HANDLE ParentHandle;
|
||||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_POLL_IO_MEM PollMem;
|
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_POLL_IO_MEM PollMem;
|
||||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_POLL_IO_MEM PollIo;
|
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_POLL_IO_MEM PollIo;
|
||||||
@ -440,6 +382,10 @@ struct _EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL {
|
|||||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_GET_ATTRIBUTES GetAttributes;
|
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_GET_ATTRIBUTES GetAttributes;
|
||||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_SET_ATTRIBUTES SetAttributes;
|
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_SET_ATTRIBUTES SetAttributes;
|
||||||
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_CONFIGURATION Configuration;
|
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_CONFIGURATION Configuration;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// The segment number that this PCI root bridge resides.
|
||||||
|
///
|
||||||
UINT32 SegmentNumber;
|
UINT32 SegmentNumber;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -132,19 +132,6 @@ EFI_STATUS
|
|||||||
or drivers found from the general UEFI driver Binding search algorithm. If more
|
or drivers found from the general UEFI driver Binding search algorithm. If more
|
||||||
than one driver is returned by this protocol, then the drivers are returned in
|
than one driver is returned by this protocol, then the drivers are returned in
|
||||||
order from highest precedence to lowest precedence.
|
order from highest precedence to lowest precedence.
|
||||||
|
|
||||||
@param GetDriver
|
|
||||||
Retrieves the image handle of a platform override driver for a controller in the system.
|
|
||||||
|
|
||||||
@param GetDriverPath
|
|
||||||
Retrieves the device path of a platform override driver for a controller in the system.
|
|
||||||
|
|
||||||
@param DriverLoaded
|
|
||||||
This function is used after a driver has been loaded using a device path returned
|
|
||||||
by GetDriverPath(). This function associates a device path to an image handle,
|
|
||||||
so the image handle can be returned the next time that GetDriver() is called for
|
|
||||||
the same controller.
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
struct _EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL {
|
struct _EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL {
|
||||||
EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER GetDriver;
|
EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER GetDriver;
|
||||||
|
@ -130,61 +130,60 @@ EFI_STATUS
|
|||||||
IN OUT UINTN *ParameterBlockSize
|
IN OUT UINTN *ParameterBlockSize
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
|
||||||
|
|
||||||
@param EfiPlatformConfigurationActionNone
|
|
||||||
The controller specified by ControllerHandle is still
|
|
||||||
in a usable state, it's configuration has been updated
|
|
||||||
via parsing the ParameterBlock. If required by the
|
|
||||||
parameter block and the module supports an NVRAM store
|
|
||||||
the configuration information from PB was successfully
|
|
||||||
saved to the NVRAM. No actions are required before
|
|
||||||
this controller can be used again with the updated
|
|
||||||
configuration settings.
|
|
||||||
|
|
||||||
|
|
||||||
@param EfiPlatformConfigurationStopController
|
|
||||||
The driver has detected that the controller specified
|
|
||||||
by ControllerHandle is not in a usable state, and it
|
|
||||||
needs to be stopped. The calling agent can use the
|
|
||||||
DisconnectControservice to perform this operation, and
|
|
||||||
it should be performed as soon as possible.
|
|
||||||
|
|
||||||
@param EfiPlatformConfigurationRestartController
|
|
||||||
This controller specified by ControllerHandle needs to
|
|
||||||
be stopped and restarted before it can be used again.
|
|
||||||
The calling agent can use the DisconnectController()
|
|
||||||
and ConnectController() services to perform this
|
|
||||||
operation. The restart operation can be delayed until
|
|
||||||
all of the configuratiooptions have been set.
|
|
||||||
|
|
||||||
|
|
||||||
@param EfiPlatformConfigurationRestartPlatform
|
|
||||||
A configuration change has been made that requires the
|
|
||||||
platform to be restarted before the controller
|
|
||||||
specified by ControllerHandle can be used again. The
|
|
||||||
calling agent can use the ResetSystem() services to
|
|
||||||
perform this operation. The restart operation can be
|
|
||||||
delayed until all of the configuration options have
|
|
||||||
been set.
|
|
||||||
|
|
||||||
@param EfiPlatformConfigurationActionNvramFailed
|
|
||||||
The controller specified by ControllerHandle is still
|
|
||||||
in a usable state; its configuration has been updated
|
|
||||||
via parsing the ParameterBlock. The driver tried to
|
|
||||||
update the driver's private NVRAM store with
|
|
||||||
information from ParameterBlock and failed. No actions
|
|
||||||
are required before this controller can be used again
|
|
||||||
with the updated configuration settings, but these
|
|
||||||
configuration settings are not guaranteed to persist
|
|
||||||
after ControllerHandle is stopped.
|
|
||||||
|
|
||||||
**/
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
///
|
||||||
|
/// The controller specified by ControllerHandle is still
|
||||||
|
/// in a usable state, it's configuration has been updated
|
||||||
|
/// via parsing the ParameterBlock. If required by the
|
||||||
|
/// parameter block and the module supports an NVRAM store
|
||||||
|
/// the configuration information from PB was successfully
|
||||||
|
/// saved to the NVRAM. No actions are required before
|
||||||
|
/// this controller can be used again with the updated
|
||||||
|
/// configuration settings.
|
||||||
|
///
|
||||||
EfiPlatformConfigurationActionNone = 0,
|
EfiPlatformConfigurationActionNone = 0,
|
||||||
|
|
||||||
|
///
|
||||||
|
/// The driver has detected that the controller specified
|
||||||
|
/// by ControllerHandle is not in a usable state, and it
|
||||||
|
/// needs to be stopped. The calling agent can use the
|
||||||
|
/// DisconnectControservice to perform this operation, and
|
||||||
|
/// it should be performed as soon as possible.
|
||||||
|
///
|
||||||
EfiPlatformConfigurationActionStopController = 1,
|
EfiPlatformConfigurationActionStopController = 1,
|
||||||
|
|
||||||
|
///
|
||||||
|
/// This controller specified by ControllerHandle needs to
|
||||||
|
/// be stopped and restarted before it can be used again.
|
||||||
|
/// The calling agent can use the DisconnectController()
|
||||||
|
/// and ConnectController() services to perform this
|
||||||
|
/// operation. The restart operation can be delayed until
|
||||||
|
/// all of the configuratiooptions have been set.
|
||||||
|
///
|
||||||
EfiPlatformConfigurationActionRestartController = 2,
|
EfiPlatformConfigurationActionRestartController = 2,
|
||||||
|
|
||||||
|
///
|
||||||
|
/// A configuration change has been made that requires the
|
||||||
|
/// platform to be restarted before the controller
|
||||||
|
/// specified by ControllerHandle can be used again. The
|
||||||
|
/// calling agent can use the ResetSystem() services to
|
||||||
|
/// perform this operation. The restart operation can be
|
||||||
|
/// delayed until all of the configuration options have
|
||||||
|
/// been set.
|
||||||
|
///
|
||||||
EfiPlatformConfigurationActionRestartPlatform = 3,
|
EfiPlatformConfigurationActionRestartPlatform = 3,
|
||||||
|
|
||||||
|
///
|
||||||
|
/// The controller specified by ControllerHandle is still
|
||||||
|
/// in a usable state; its configuration has been updated
|
||||||
|
/// via parsing the ParameterBlock. The driver tried to
|
||||||
|
/// update the driver's private NVRAM store with
|
||||||
|
/// information from ParameterBlock and failed. No actions
|
||||||
|
/// are required before this controller can be used again
|
||||||
|
/// with the updated configuration settings, but these
|
||||||
|
/// configuration settings are not guaranteed to persist
|
||||||
|
/// after ControllerHandle is stopped.
|
||||||
|
///
|
||||||
EfiPlatformConfigurationActionNvramFailed = 4,
|
EfiPlatformConfigurationActionNvramFailed = 4,
|
||||||
EfiPlatformConfigurationActionMaximum
|
EfiPlatformConfigurationActionMaximum
|
||||||
} EFI_PLATFORM_CONFIGURATION_ACTION;
|
} EFI_PLATFORM_CONFIGURATION_ACTION;
|
||||||
@ -298,84 +297,64 @@ struct _EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOCOL {
|
|||||||
versions of the DMTF SM CLP Specification require changes to the
|
versions of the DMTF SM CLP Specification require changes to the
|
||||||
parameter block definition, newer ParameterTypeGuid will be
|
parameter block definition, newer ParameterTypeGuid will be
|
||||||
used.
|
used.
|
||||||
|
|
||||||
@param CLPCommand A pointer to the DMTF SM CLP command line
|
|
||||||
null-terminated string that the driver is
|
|
||||||
required to parse and process when this
|
|
||||||
EFI_SUCCESS The platform return parameter
|
|
||||||
information for ControllerHandle.
|
|
||||||
EFI_NOT_FOUND Instance was not found.
|
|
||||||
EFI_INVALID_PARAMETER ControllerHandle is
|
|
||||||
not a valid EFI_HANDLE.
|
|
||||||
EFI_INVALID_PARAMETER Instance is zero.
|
|
||||||
function is called. See the DMTF SM CLP
|
|
||||||
Specification 1.0 Final Standard for
|
|
||||||
details on the format and syntax of the
|
|
||||||
CLP command line string. CLPCommand buffer
|
|
||||||
is allocated by the producer of the
|
|
||||||
EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOOL.
|
|
||||||
|
|
||||||
@param CLPCommandLength The length of the CLP Command in bytes.
|
|
||||||
|
|
||||||
@param CLPReturnString A pointer to the CLP return status
|
|
||||||
string that the driver is required to
|
|
||||||
provide to the calling agent. The
|
|
||||||
calling agent may parse and/ or pass
|
|
||||||
this for processing and user feedback.
|
|
||||||
The SM CLP Command Response string
|
|
||||||
buffer is filled in by the UEFI driver
|
|
||||||
in the "keyword=value" format
|
|
||||||
described in the SM CLP Specification,
|
|
||||||
unless otherwise requested via the SM
|
|
||||||
CLP Coutput option in the Command Line
|
|
||||||
string buffer. UEFI driver's support
|
|
||||||
for this default "keyword=value"
|
|
||||||
output format is required if the UEFI
|
|
||||||
driver supports this protocol, while
|
|
||||||
support for other SM CLP output
|
|
||||||
formats is optional (the UEFI Driver
|
|
||||||
should return an EFI_UNSUPPORTED if
|
|
||||||
the SM CLP Coutput option requested by
|
|
||||||
the caller is not supported by the
|
|
||||||
UEFI Driver). CLPReturnString buffer
|
|
||||||
is allocated by the consumer of the
|
|
||||||
EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOC
|
|
||||||
OL and undefined prior to the call to
|
|
||||||
Response().
|
|
||||||
|
|
||||||
@param CLPReturnStringLength The length of the CLP return
|
|
||||||
status string in bytes.
|
|
||||||
|
|
||||||
@param CLPReturnStatus SM CLP Command Status (see DMTF SM CLP
|
|
||||||
Specification 1.0 Final Standard -
|
|
||||||
Table 4) CLPErrorValue SM CLP
|
|
||||||
Processing Error Value (see DMTF SM
|
|
||||||
CLP Specification 1.0 Final Standard -
|
|
||||||
Table 6). This field is filled in by
|
|
||||||
the consumer of the
|
|
||||||
EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOC
|
|
||||||
OL and undefined prior to the call to
|
|
||||||
Response().
|
|
||||||
|
|
||||||
@param CLPMessageCode Bit 15: OEM Message Code Flag 0 =
|
|
||||||
Message Code is an SM CLP Probable
|
|
||||||
Cause Value. (see SM CLP Specification
|
|
||||||
Table 11) 1 = Message Code is OEM
|
|
||||||
Specific Bits 14-0: Message Code This
|
|
||||||
field is filled in by the consumer of
|
|
||||||
the
|
|
||||||
EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOC
|
|
||||||
OL and undefined prior to the call to
|
|
||||||
Response().
|
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// A pointer to the DMTF SM CLP command line null-terminated string that the
|
||||||
|
/// driver is required to parse and process when this EFI_SUCCESS The platform
|
||||||
|
/// return parameter information for ControllerHandle. EFI_NOT_FOUND Instance
|
||||||
|
/// was not found. EFI_INVALID_PARAMETER ControllerHandle is not a valid
|
||||||
|
/// EFI_HANDLE. EFI_INVALID_PARAMETER Instance is zero. function is called.
|
||||||
|
/// See the DMTF SM CLP Specification 1.0 Final Standard for details on the
|
||||||
|
/// format and syntax of the CLP command line string. CLPCommand buffer
|
||||||
|
/// is allocated by the producer of the EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOOL.
|
||||||
|
///
|
||||||
CHAR8 *CLPCommand;
|
CHAR8 *CLPCommand;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// The length of the CLP Command in bytes.
|
||||||
|
///
|
||||||
UINT32 CLPCommandLength;
|
UINT32 CLPCommandLength;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// A pointer to the CLP return status string that the driver is required to
|
||||||
|
/// provide to the calling agent. The calling agent may parse and/ or pass
|
||||||
|
/// this for processing and user feedback. The SM CLP Command Response string
|
||||||
|
/// buffer is filled in by the UEFI driver in the "keyword=value" format
|
||||||
|
/// described in the SM CLP Specification, unless otherwise requested via the SM
|
||||||
|
/// CLP Coutput option in the Command Line string buffer. UEFI driver's support
|
||||||
|
/// for this default "keyword=value" output format is required if the UEFI
|
||||||
|
/// driver supports this protocol, while support for other SM CLP output
|
||||||
|
/// formats is optional (the UEFI Driver should return an EFI_UNSUPPORTED if
|
||||||
|
/// the SM CLP Coutput option requested by the caller is not supported by the
|
||||||
|
/// UEFI Driver). CLPReturnString buffer is allocated by the consumer of the
|
||||||
|
/// EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOC OL and undefined prior to the call to
|
||||||
|
/// Response().
|
||||||
|
///
|
||||||
CHAR8 *CLPReturnString;
|
CHAR8 *CLPReturnString;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// The length of the CLP return status string in bytes.
|
||||||
|
///
|
||||||
UINT32 CLPReturnStringLength;
|
UINT32 CLPReturnStringLength;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// SM CLP Command Status (see DMTF SM CLP Specification 1.0 Final Standard -
|
||||||
|
/// Table 4) CLPErrorValue SM CLP Processing Error Value (see DMTF SM
|
||||||
|
/// CLP Specification 1.0 Final Standard - Table 6). This field is filled in by
|
||||||
|
/// the consumer of the EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOC
|
||||||
|
/// OL and undefined prior to the call to Response().
|
||||||
|
///
|
||||||
UINT8 CLPCmdStatus;
|
UINT8 CLPCmdStatus;
|
||||||
UINT8 CLPErrorValue;
|
UINT8 CLPErrorValue;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Bit 15: OEM Message Code Flag 0 = Message Code is an SM CLP Probable
|
||||||
|
/// Cause Value. (see SM CLP Specification Table 11) 1 = Message Code is OEM
|
||||||
|
/// Specific Bits 14-0: Message Code This field is filled in by the consumer of
|
||||||
|
/// the EFI_PLATFORM_TO_DRIVER_CONFIGURATION_PROTOC OL and undefined prior to the call to
|
||||||
|
/// Response().
|
||||||
|
///
|
||||||
UINT16 CLPMsgCode;
|
UINT16 CLPMsgCode;
|
||||||
} EFI_CONFIGURE_CLP_PARAMETER_BLK;
|
} EFI_CONFIGURE_CLP_PARAMETER_BLK;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user