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:
klu2 2008-10-09 19:05:11 +00:00
parent 721b16af11
commit cce6f7aa66
11 changed files with 224 additions and 571 deletions

View File

@ -79,10 +79,6 @@ EFI_STATUS
/**
@par Protocol Description:
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 {
EFI_LOAD_FILE LoadFile;

View File

@ -48,72 +48,60 @@
/**
@par Protocol Description:
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 {
///
/// Defines the revision of the EFI_LOADED_IMAGE_PROTOCOL structure.
/// All future revisions will be backward compatible to the current 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_SYSTEM_TABLE *SystemTable;
//
// Source location of image
//
///
/// The device handle that the EFI Image was loaded from.
///
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;
VOID *Reserved;
VOID *Reserved; ///< Reserved. DO NOT USE.
//
// Images load options
//
///
/// The size in bytes of LoadOptions.
///
UINT32 LoadOptionsSize;
///
/// A pointer to the image's binary load options.
///
VOID *LoadOptions;
//
// Location of where image was loaded
//
///
/// The base address at which the image was loaded.
///
VOID *ImageBase;
///
/// The size in bytes of the loaded image.
///
UINT64 ImageSize;
EFI_MEMORY_TYPE ImageCodeType;
EFI_MEMORY_TYPE ImageDataType;

View File

@ -293,34 +293,6 @@ EFI_STATUS
@par Protocol Description:
The MNP is used by network applications (and drivers) to
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 {
EFI_MANAGED_NETWORK_GET_MODE_DATA GetModeData;

View File

@ -57,9 +57,6 @@ EFI_STATUS
IN UINT32 TickNumber
);
//
//
/**
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
units. If you want to guarantee that at least TickPeriod time
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 {
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;
};

View File

@ -468,34 +468,6 @@ EFI_STATUS
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
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 {
EFI_MTFTP4_GET_MODE_DATA GetModeData;

View File

@ -47,92 +47,59 @@ typedef enum {
@par Protocol Description:
An optional protocol that is used to describe details about the software
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 {
///
/// The revision of the EFI_NETWORK_INTERFACE_IDENTIFIER protocol.
///
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;
//
// 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.
//
///
/// 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.
///
UINT64 ImageAddr;
//
// Address of the UNrelocated driver/ROM image. This is set
// to zero if there is no driver/ROM 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.
//
///
/// Size of unrelocated network interface image.
///
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];
//
// 4 char ASCII string to go in class identifier (option 60) in DHCP
// and Boot Server discover packets.
// For EfiNetworkInterfaceUndi this field is "UNDI".
// For EfiNetworkInterfaceSnp this field is "SNPN".
//
///
/// Network interface type. This will be set to one of the values
/// in EFI_NETWORK_INTERFACE_TYPE.
///
UINT8 Type;
UINT8 MajorVer;
UINT8 MinorVer;
//
// 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).
//
UINT8 MajorVer; ///< Major version number.
UINT8 MinorVer; ///< Minor version number.
///
/// TRUE if the network interface supports IPv6; otherwise FALSE.\
///
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;

View File

@ -819,100 +819,6 @@ EFI_STATUS
/**
@par Protocol Description:
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 {
PCD_PROTOCOL_SET_SKU SetSku;

View File

@ -48,27 +48,27 @@ typedef enum {
//
// 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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.
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.
@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 {
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_GET_BAR_ATTRIBUTES GetBarAttributes;
EFI_PCI_IO_PROTOCOL_SET_BAR_ATTRIBUTES SetBarAttributes;
///
/// The size, in bytes, of the ROM image.
///
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;
};

View File

@ -362,69 +362,11 @@ EFI_STATUS
@par Protocol Description:
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.
@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 {
///
/// The EFI_HANDLE of the PCI Host Bridge of which this PCI Root Bridge is a member.
///
EFI_HANDLE ParentHandle;
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_POLL_IO_MEM PollMem;
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_SET_ATTRIBUTES SetAttributes;
EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_CONFIGURATION Configuration;
///
/// The segment number that this PCI root bridge resides.
///
UINT32 SegmentNumber;
};

View File

@ -132,19 +132,6 @@ EFI_STATUS
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
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 {
EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER GetDriver;

View File

@ -130,61 +130,60 @@ EFI_STATUS
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 {
///
/// 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,
///
/// 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,
///
/// 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,
///
/// 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,
///
/// 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,
EfiPlatformConfigurationActionMaximum
} 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
parameter block definition, newer ParameterTypeGuid will be
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 {
///
/// 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;
///
/// The length of the CLP Command in bytes.
///
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;
///
/// The length of the CLP return status string in bytes.
///
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 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;
} EFI_CONFIGURE_CLP_PARAMETER_BLK;