mirror of https://github.com/acidanthera/audk.git
added comments per framework spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8734 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
e3e7f36a58
commit
9ca1b12e00
|
@ -11,8 +11,6 @@
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
Module Name: Smbus.h
|
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
This PPI is defined in Framework of EFI SmBus PPI spec.
|
This PPI is defined in Framework of EFI SmBus PPI spec.
|
||||||
Version 0.9
|
Version 0.9
|
||||||
|
@ -51,7 +49,7 @@ typedef struct _EFI_PEI_SMBUS_PPI EFI_PEI_SMBUS_PPI;
|
||||||
|
|
||||||
@retval EFI_SUCCESS The last data that was returned from the access
|
@retval EFI_SUCCESS The last data that was returned from the access
|
||||||
matched the poll exit criteria.
|
matched the poll exit criteria.
|
||||||
@retval EFI_CRC_ERROR The checksum is not correct (PEC is incorrect)
|
@retval EFI_CRC_ERROR The checksum is not correct (PEC is incorrect).
|
||||||
@retval EFI_TIMEOUT Timeout expired before the operation was completed.
|
@retval EFI_TIMEOUT Timeout expired before the operation was completed.
|
||||||
Timeout is determined by the SMBus host controller device.
|
Timeout is determined by the SMBus host controller device.
|
||||||
@retval EFI_OUT_OF_RESOURCES The request could not be completed
|
@retval EFI_OUT_OF_RESOURCES The request could not be completed
|
||||||
|
@ -59,7 +57,7 @@ typedef struct _EFI_PEI_SMBUS_PPI EFI_PEI_SMBUS_PPI;
|
||||||
@retval EFI_DEVICE_ERROR The request was not completed because
|
@retval EFI_DEVICE_ERROR The request was not completed because
|
||||||
a failure reflected in the Host Status Register bit.
|
a failure reflected in the Host Status Register bit.
|
||||||
@retval EFI_INVALID_PARAMETER Operation is not defined in EFI_SMBUS_OPERATION.
|
@retval EFI_INVALID_PARAMETER Operation is not defined in EFI_SMBUS_OPERATION.
|
||||||
Or Length/Buffer is NULL for operations except for EfiSmbusQuickRead and
|
@retval EFI_INVALID_PARAMETER Length/Buffer is NULL for operations except for EfiSmbusQuickRead and
|
||||||
EfiSmbusQuickWrite. Length is outside the range of valid values.
|
EfiSmbusQuickWrite. Length is outside the range of valid values.
|
||||||
@retval EFI_UNSUPPORTED The SMBus operation or PEC is not supported.
|
@retval EFI_UNSUPPORTED The SMBus operation or PEC is not supported.
|
||||||
@retval EFI_BUFFER_TOO_SMALL Buffer is not sufficient for this operation.
|
@retval EFI_BUFFER_TOO_SMALL Buffer is not sufficient for this operation.
|
||||||
|
@ -88,7 +86,7 @@ EFI_STATUS
|
||||||
@param Data Data of the SMBus host notify command that
|
@param Data Data of the SMBus host notify command that
|
||||||
the caller wants to be called.
|
the caller wants to be called.
|
||||||
|
|
||||||
@return Status Code
|
@return Status Code returned by callback function.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
|
@ -157,6 +155,9 @@ EFI_STATUS
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Allows a device driver to register for a callback when the bus driver detects a state that it needs to
|
||||||
|
propagate to other PEIMs that are registered for a callback.
|
||||||
|
|
||||||
The Notify() function registers all the callback functions to allow the
|
The Notify() function registers all the callback functions to allow the
|
||||||
bus driver to call these functions when the SlaveAddress/Data pair happens.
|
bus driver to call these functions when the SlaveAddress/Data pair happens.
|
||||||
|
|
||||||
|
@ -182,10 +183,10 @@ EFI_STATUS
|
||||||
IN EFI_PEI_SMBUS_NOTIFY_FUNCTION NotifyFunction
|
IN EFI_PEI_SMBUS_NOTIFY_FUNCTION NotifyFunction
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
///
|
||||||
Provides the basic I/O interfaces that a PEIM uses to access
|
/// Provides the basic I/O interfaces that a PEIM uses to access
|
||||||
its SMBus controller and the slave devices attached to it.
|
/// its SMBus controller and the slave devices attached to it.
|
||||||
**/
|
///
|
||||||
struct _EFI_PEI_SMBUS_PPI {
|
struct _EFI_PEI_SMBUS_PPI {
|
||||||
///
|
///
|
||||||
/// Executes the SMBus operation to an SMBus slave device.
|
/// Executes the SMBus operation to an SMBus slave device.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/** @file
|
/** @file
|
||||||
This file declares Pci Host Bridge Resource Allocation Protocol which
|
This file declares Pci Host Bridge Resource Allocation Protocol which
|
||||||
Provides the basic interfaces to abstract a PCI host bridge resource allocation. This protocol is
|
Provides the basic interfaces to abstract a PCI host bridge resource allocation.
|
||||||
mandatory if the system includes PCI devices.
|
This protocol is mandatory if the system includes PCI devices.
|
||||||
|
|
||||||
Copyright (c) 2007 - 2009, Intel Corporation
|
Copyright (c) 2007 - 2009, Intel Corporation
|
||||||
All rights reserved. This program and the accompanying materials
|
All rights reserved. This program and the accompanying materials
|
||||||
|
@ -52,11 +52,15 @@ typedef struct _EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL EFI_PCI_HOST_BR
|
||||||
|
|
||||||
typedef UINT64 EFI_RESOURCE_ALLOCATION_STATUS;
|
typedef UINT64 EFI_RESOURCE_ALLOCATION_STATUS;
|
||||||
|
|
||||||
|
///
|
||||||
/// The request of this resource type could be fulfilled.
|
/// The request of this resource type could be fulfilled.
|
||||||
|
///
|
||||||
#define EFI_RESOURCE_SATISFIED 0x0000000000000000ULL
|
#define EFI_RESOURCE_SATISFIED 0x0000000000000000ULL
|
||||||
|
|
||||||
|
///
|
||||||
/// The request of this resource type could not be fulfilled for its
|
/// The request of this resource type could not be fulfilled for its
|
||||||
/// absence in the host bridge resource pool.
|
/// absence in the host bridge resource pool.
|
||||||
|
///
|
||||||
#define EFI_RESOURCE_NOT_SATISFIED 0xFFFFFFFFFFFFFFFFULL
|
#define EFI_RESOURCE_NOT_SATISFIED 0xFFFFFFFFFFFFFFFFULL
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -118,7 +122,7 @@ typedef enum {
|
||||||
} EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE;
|
} EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PHASE;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE
|
/// Definitions of 2 notification points.
|
||||||
///
|
///
|
||||||
typedef enum {
|
typedef enum {
|
||||||
///
|
///
|
||||||
|
@ -139,16 +143,25 @@ typedef enum {
|
||||||
} EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE;
|
} EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Enter a certain phase of the PCI enumeration process
|
These are the notifications from the PCI bus driver that it is about to enter a certain phase of the PCI
|
||||||
|
enumeration process.
|
||||||
|
|
||||||
@param This The EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL instance
|
@param This Pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||||
|
instance.
|
||||||
@param Phase The phase during enumeration
|
@param Phase The phase during enumeration
|
||||||
|
|
||||||
@retval EFI_SUCCESS Success
|
@retval EFI_SUCCESS The notification was accepted without any errors.
|
||||||
@retval EFI_OUT_OF_RESOURCES If SubmitResources ( ) could not allocate resources
|
@retval EFI_INVALID_PARAMETER The Phase is invalid.
|
||||||
@retval EFI_INVALID_PARAMETER The Phase is invalid
|
@retval EFI_NOT_READY This phase cannot be entered at this time. For example, this error
|
||||||
@retval EFI_NOT_READY This phase cannot be entered at this time
|
is valid for a Phase of EfiPciHostBridgeAllocateResources if
|
||||||
@retval EFI_DEVICE_ERROR SetResources failed due to HW error.
|
SubmitResources() has not been called for one or more
|
||||||
|
PCI root bridges before this call.
|
||||||
|
@retval EFI_DEVICE_ERROR Programming failed due to a hardware error. This error is valid for
|
||||||
|
a Phase of EfiPciHostBridgeSetResources.
|
||||||
|
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||||
|
This error is valid for a Phase of EfiPciHostBridgeAllocateResources
|
||||||
|
if the previously submitted resource requests cannot be fulfilled or were only
|
||||||
|
partially fulfilled
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
|
@ -160,17 +173,18 @@ EFI_STATUS
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Return the device handle of the next PCI root bridge that is associated with
|
Returns the device handle of the next PCI root bridge that is associated with this host bridge.
|
||||||
this Host Bridge
|
|
||||||
|
|
||||||
@param This The EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_ PROTOCOL instance
|
@param This Pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||||
@param RootBridgeHandle Returns the device handle of the next PCI Root Bridge.
|
instance.
|
||||||
On input, it holds the RootBridgeHandle returned by the most
|
@param RootBridgeHandle Returns the device handle of the next PCI root bridge. On input, it holds the
|
||||||
recent call to GetNextRootBridge().The handle for the first
|
RootBridgeHandle that was returned by the most recent call to
|
||||||
PCI Root Bridge is returned if RootBridgeHandle is NULL on input
|
GetNextRootBridge(). If RootBridgeHandle is NULL on input, the handle
|
||||||
|
for the first PCI root bridge is returned.
|
||||||
|
|
||||||
@retval EFI_SUCCESS Success
|
@retval EFI_SUCCESS The requested attribute information was returned.
|
||||||
@retval EFI_INVALID_PARAMETER RootBridgeHandle is invalid
|
@retval EFI_INVALID_PARAMETER RootBridgeHandle is not an EFI_HANDLE that was returned
|
||||||
|
on a previous call to GetNextRootBridge().
|
||||||
@retval EFI_NOT_FOUND There are no more PCI root bridge device handles.
|
@retval EFI_NOT_FOUND There are no more PCI root bridge device handles.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
@ -183,16 +197,16 @@ EFI_STATUS
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Returns the attributes of a PCI Root Bridge.
|
Returns the allocation attributes of a PCI root bridge.
|
||||||
|
|
||||||
@param This The EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_ PROTOCOL instance
|
@param This Pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||||
@param RootBridgeHandle The device handle of the PCI Root Bridge
|
instance.
|
||||||
that the caller is interested in
|
@param RootBridgeHandle The device handle of the PCI root bridge in which the caller is interested.
|
||||||
@param Attribute The pointer to attributes of the PCI Root Bridge
|
@param Attribute The pointer to attributes of the PCI root bridge.
|
||||||
|
|
||||||
@retval EFI_SUCCESS Success
|
@retval EFI_SUCCESS The requested attribute information was returned.
|
||||||
@retval EFI_INVALID_PARAMETER RootBridgeHandle is invalid
|
@retval EFI_INVALID_PARAMETER RootBridgeHandle is not a valid root bridge handle.
|
||||||
@retval EFI_INVALID_PARAMETER Attributes is NULL
|
@retval EFI_INVALID_PARAMETER Attributes is NULL.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
|
@ -205,17 +219,18 @@ EFI_STATUS
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This is the request from the PCI enumerator to set up
|
Sets up the specified PCI root bridge for the bus enumeration process.
|
||||||
the specified PCI Root Bridge for bus enumeration process.
|
|
||||||
|
|
||||||
@param This The EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_ PROTOCOL instance
|
@param This Pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||||
@param RootBridgeHandle The PCI Root Bridge to be set up
|
instance.
|
||||||
@param Configuration Pointer to the pointer to the PCI bus resource descriptor
|
@param RootBridgeHandle The PCI root bridge to be set up.
|
||||||
|
@param Configuration Pointer to the pointer to the PCI bus resource descriptor.
|
||||||
|
|
||||||
@retval EFI_SUCCESS Success
|
@retval EFI_SUCCESS The PCI root bridge was set up and the bus range was returned in
|
||||||
@retval EFI_INVALID_PARAMETER RootBridgeHandle is invalid
|
Configuration.
|
||||||
@retval EFI_DEVICE_ERROR Request failed due to hardware error
|
@retval EFI_INVALID_PARAMETER RootBridgeHandle is not a valid root bridge handle.
|
||||||
@retval EFI_OUT_OF_RESOURCES Request failed due to lack of resources
|
@retval EFI_DEVICE_ERROR Programming failed due to a hardware error.
|
||||||
|
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
|
@ -228,23 +243,27 @@ EFI_STATUS
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This function programs the PCI Root Bridge hardware so that
|
Programs the PCI root bridge hardware so that it decodes the specified PCI bus range.
|
||||||
it decodes the specified PCI bus range
|
|
||||||
|
|
||||||
@param This The EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_ PROTOCOL instance
|
@param This Pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||||
@param RootBridgeHandle The PCI Root Bridge whose bus range is to be programmed
|
instance.
|
||||||
@param Configuration The pointer to the PCI bus resource descriptor
|
@param RootBridgeHandle The PCI root bridge whose bus range is to be programmed.
|
||||||
|
@param Configuration The pointer to the PCI bus resource descriptor..
|
||||||
|
|
||||||
@retval EFI_SUCCESS Success
|
@retval EFI_SUCCESS The bus range for the PCI root bridge was programmed.
|
||||||
@retval EFI_INVALID_PARAMETER RootBridgeHandle is invalid
|
@retval EFI_INVALID_PARAMETER RootBridgeHandle is not a valid root bridge handle.
|
||||||
@retval EFI_INVALID_PARAMETER Configuration is NULL
|
@retval EFI_INVALID_PARAMETER Configuration is NULL
|
||||||
@retval EFI_INVALID_PARAMETER Configuration does not point to a valid ACPI resource descriptor
|
@retval EFI_INVALID_PARAMETER Configuration does not point to a valid ACPI (2.0 & 3.0)
|
||||||
@retval EFI_INVALID_PARAMETER Configuration contains one or more memory or IO ACPI resource descriptor
|
resource descriptor.
|
||||||
@retval EFI_INVALID_PARAMETER Address Range Minimum or Address Range Length fields in Configuration
|
@retval EFI_INVALID_PARAMETER Configuration does not include a valid ACPI 2.0 bus resource
|
||||||
are invalid for this Root Bridge.
|
descriptor.
|
||||||
@retval EFI_INVALID_PARAMETER Configuration contains one or more invalid ACPI resource descriptor
|
@retval EFI_INVALID_PARAMETER Configuration includes valid ACPI (2.0 & 3.0) resource
|
||||||
@retval EFI_DEVICE_ERROR Request failed due to hardware error
|
descriptors other than bus descriptors.
|
||||||
@retval EFI_OUT_OF_RESOURCES Request failed due to lack of resources
|
@retval EFI_INVALID_PARAMETER Configuration contains one or more invalid ACPI resource
|
||||||
|
descriptors.
|
||||||
|
@retval EFI_INVALID_PARAMETER "Address Range Minimum" is invalid for this root bridge.
|
||||||
|
@retval EFI_INVALID_PARAMETER "Address Range Length" is invalid for this root bridge.
|
||||||
|
@retval EFI_DEVICE_ERROR Programming failed due to a hardware error.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
|
@ -257,18 +276,27 @@ EFI_STATUS
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Submits the I/O and memory resource requirements for the specified PCI Root Bridge
|
Submits the I/O and memory resource requirements for the specified PCI root bridge.
|
||||||
|
|
||||||
@param This The EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_ PROTOCOL instance
|
@param This Pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||||
@param RootBridgeHandle The PCI Root Bridge whose I/O and memory resource requirements
|
instance.
|
||||||
are being submitted
|
@param RootBridgeHandle The PCI root bridge whose I/O and memory resource requirements are being
|
||||||
@param Configuration The pointer to the PCI I/O and PCI memory resource descriptor
|
submitted.
|
||||||
|
@param Configuration The pointer to the PCI I/O and PCI memory resource descriptor.
|
||||||
|
|
||||||
@retval EFI_SUCCESS Success
|
@retval EFI_SUCCESS The I/O and memory resource requests for a PCI root bridge were
|
||||||
@retval EFI_INVALID_PARAMETER RootBridgeHandle is invalid
|
accepted.
|
||||||
@retval EFI_INVALID_PARAMETER Configuration is NULL
|
@retval EFI_INVALID_PARAMETER RootBridgeHandle is not a valid root bridge handle.
|
||||||
@retval EFI_INVALID_PARAMETER Configuration does not point to a valid ACPI resource descriptor
|
@retval EFI_INVALID_PARAMETER Configuration is NULL.
|
||||||
@retval EFI_INVALID_PARAMETER Configuration includes a resource descriptor of unsupported type
|
@retval EFI_INVALID_PARAMETER Configuration does not point to a valid ACPI (2.0 & 3.0)
|
||||||
|
resource descriptor.
|
||||||
|
@retval EFI_INVALID_PARAMETER Configuration includes requests for one or more resource
|
||||||
|
types that are not supported by this PCI root bridge. This error will
|
||||||
|
happen if the caller did not combine resources according to
|
||||||
|
Attributes that were returned by GetAllocAttributes().
|
||||||
|
@retval EFI_INVALID_PARAMETER "Address Range Maximum" is invalid.
|
||||||
|
@retval EFI_INVALID_PARAMETER "Address Range Length" is invalid for this PCI root bridge.
|
||||||
|
@retval EFI_INVALID_PARAMETER "Address Space Granularity" is invalid for this PCI root bridge.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
|
@ -281,18 +309,17 @@ EFI_STATUS
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This function returns the proposed resource settings for the specified
|
Returns the proposed resource settings for the specified PCI root bridge.
|
||||||
PCI Root Bridge
|
|
||||||
|
|
||||||
@param This The EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_ PROTOCOL instance
|
@param This Pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL
|
||||||
@param RootBridgeHandle The PCI Root Bridge handle
|
instance.
|
||||||
@param Configuration The pointer to the pointer to the PCI I/O
|
@param RootBridgeHandle The PCI root bridge handle.
|
||||||
and memory resource descriptor
|
@param Configuration The pointer to the pointer to the PCI I/O and memory resource descriptor.
|
||||||
|
|
||||||
@retval EFI_SUCCESS Success
|
@retval EFI_SUCCESS The requested parameters were returned.
|
||||||
@retval EFI_INVALID_PARAMETER RootBridgeHandle is invalid
|
@retval EFI_INVALID_PARAMETER RootBridgeHandle is not a valid root bridge handle.
|
||||||
@retval EFI_DEVICE_ERROR Request failed due to hardware error
|
@retval EFI_DEVICE_ERROR Programming failed due to a hardware error.
|
||||||
@retval EFI_OUT_OF_RESOURCES Request failed due to lack of resources
|
@retval EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
|
@ -306,17 +333,22 @@ EFI_STATUS
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This function is called for all the PCI controllers that the PCI
|
Provides the hooks from the PCI bus driver to every PCI controller (device/function) at various
|
||||||
bus driver finds. Can be used to Preprogram the controller.
|
stages of the PCI enumeration process that allow the host bridge driver to preinitialize individual
|
||||||
|
PCI controllers before enumeration.
|
||||||
|
|
||||||
@param This The EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_ PROTOCOL instance
|
@param This Pointer to the EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL instance.
|
||||||
@param RootBridgeHandle The PCI Root Bridge handle
|
@param RootBridgeHandle The associated PCI root bridge handle.
|
||||||
@param PciBusAddress Address of the controller on the PCI bus
|
@param PciAddress The address of the PCI device on the PCI bus.
|
||||||
@param Phase The Phase during resource allocation
|
@param Phase The phase of the PCI device enumeration.
|
||||||
|
|
||||||
@retval EFI_SUCCESS Success
|
@retval EFI_SUCCESS The requested parameters were returned.
|
||||||
@retval EFI_INVALID_PARAMETER RootBridgeHandle is invalid
|
@retval EFI_INVALID_PARAMETER RootBridgeHandle is not a valid root bridge handle.
|
||||||
@retval EFI_DEVICE_ERROR Device pre-initialization failed due to hardware error.
|
@retval EFI_INVALID_PARAMETER Phase is not a valid phase that is defined in
|
||||||
|
EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE.
|
||||||
|
@retval EFI_DEVICE_ERROR Programming failed due to a hardware error. The PCI enumerator
|
||||||
|
should not enumerate this device, including its child devices if it is
|
||||||
|
a PCI-to-PCI bridge.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
typedef
|
typedef
|
||||||
|
@ -328,9 +360,9 @@ EFI_STATUS
|
||||||
IN EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE Phase
|
IN EFI_PCI_CONTROLLER_RESOURCE_ALLOCATION_PHASE Phase
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
///
|
||||||
Provides the basic interfaces to abstract a PCI host bridge resource allocation.
|
/// Provides the basic interfaces to abstract a PCI host bridge resource allocation.
|
||||||
**/
|
///
|
||||||
struct _EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL {
|
struct _EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOCOL {
|
||||||
///
|
///
|
||||||
/// The notification from the PCI bus enumerator that it is about to enter
|
/// The notification from the PCI bus enumerator that it is about to enter
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/** @file
|
/** @file
|
||||||
This file declares EFI PCI Hot Plug Init Protocol
|
This file declares EFI PCI Hot Plug Init Protocol.
|
||||||
This protocol provides the necessary functionality to initialize the Hot Plug Controllers (HPCs) and
|
This protocol provides the necessary functionality to initialize the Hot Plug Controllers (HPCs) and
|
||||||
the buses that they control. This protocol also provides information regarding resource padding.
|
the buses that they control. This protocol also provides information regarding resource padding.
|
||||||
|
|
||||||
|
@ -12,8 +12,6 @@
|
||||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
|
|
||||||
Module Name: PciHotPlugInit.h
|
|
||||||
|
|
||||||
@par Revision Reference:
|
@par Revision Reference:
|
||||||
This protocol is defined in Framework of EFI Hot Plug Pci Initialization Protocol Spec
|
This protocol is defined in Framework of EFI Hot Plug Pci Initialization Protocol Spec
|
||||||
Version 0.9
|
Version 0.9
|
||||||
|
@ -25,23 +23,46 @@
|
||||||
|
|
||||||
#include <PiDxe.h>
|
#include <PiDxe.h>
|
||||||
|
|
||||||
//
|
///
|
||||||
// Global ID for the PCI Hot Plug Protocol
|
/// Global ID for the PCI Hot Plug Protocol
|
||||||
//
|
///
|
||||||
#define EFI_PCI_HOT_PLUG_INIT_PROTOCOL_GUID \
|
#define EFI_PCI_HOT_PLUG_INIT_PROTOCOL_GUID \
|
||||||
{ 0xaa0e8bc1, 0xdabc, 0x46b0, {0xa8, 0x44, 0x37, 0xb8, 0x16, 0x9b, 0x2b, 0xea } }
|
{ 0xaa0e8bc1, 0xdabc, 0x46b0, {0xa8, 0x44, 0x37, 0xb8, 0x16, 0x9b, 0x2b, 0xea } }
|
||||||
|
|
||||||
|
|
||||||
typedef struct _EFI_PCI_HOT_PLUG_INIT_PROTOCOL EFI_PCI_HOT_PLUG_INIT_PROTOCOL;
|
typedef struct _EFI_PCI_HOT_PLUG_INIT_PROTOCOL EFI_PCI_HOT_PLUG_INIT_PROTOCOL;
|
||||||
|
|
||||||
#define EFI_HPC_STATE_INITIALIZED 0x01
|
///
|
||||||
#define EFI_HPC_STATE_ENABLED 0x02
|
/// Current state of an HPC
|
||||||
|
///
|
||||||
typedef UINT16 EFI_HPC_STATE;
|
typedef UINT16 EFI_HPC_STATE;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// The HPC initialization function was called and the HPC completed
|
||||||
|
/// initialization, but it was not enabled for some reason. The HPC may be
|
||||||
|
/// disabled in hardware, or it may be disabled due to user preferences,
|
||||||
|
/// hardware failure, or other reasons. No resource padding is required.
|
||||||
|
///
|
||||||
|
#define EFI_HPC_STATE_INITIALIZED 0x01
|
||||||
|
|
||||||
|
///
|
||||||
|
/// The HPC initialization function was called, the HPC completed
|
||||||
|
/// initialization, and it was enabled. Resource padding is required.
|
||||||
|
///
|
||||||
|
#define EFI_HPC_STATE_ENABLED 0x02
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Location definition for PCI Hot Plug Controller
|
||||||
|
///
|
||||||
typedef struct{
|
typedef struct{
|
||||||
|
///
|
||||||
|
/// The device path to the Root HPC
|
||||||
|
///
|
||||||
EFI_DEVICE_PATH_PROTOCOL *HpcDevicePath;
|
EFI_DEVICE_PATH_PROTOCOL *HpcDevicePath;
|
||||||
|
///
|
||||||
|
/// The device path to the Hot Plug Bus (HPB) that is controlled by
|
||||||
|
/// the root HPC.
|
||||||
|
///
|
||||||
EFI_DEVICE_PATH_PROTOCOL *HpbDevicePath;
|
EFI_DEVICE_PATH_PROTOCOL *HpbDevicePath;
|
||||||
} EFI_HPC_LOCATION;
|
} EFI_HPC_LOCATION;
|
||||||
|
|
||||||
|
@ -142,11 +163,11 @@ EFI_STATUS
|
||||||
// Prototypes for the PCI Hot Plug Init Protocol
|
// Prototypes for the PCI Hot Plug Init Protocol
|
||||||
//
|
//
|
||||||
|
|
||||||
/**
|
///
|
||||||
This protocol provides the necessary functionality to initialize the
|
/// This protocol provides the necessary functionality to initialize the
|
||||||
Hot Plug Controllers (HPCs) and the buses that they control. This protocol
|
/// Hot Plug Controllers (HPCs) and the buses that they control. This protocol
|
||||||
also provides information regarding resource padding.
|
/// also provides information regarding resource padding.
|
||||||
**/
|
///
|
||||||
struct _EFI_PCI_HOT_PLUG_INIT_PROTOCOL {
|
struct _EFI_PCI_HOT_PLUG_INIT_PROTOCOL {
|
||||||
///
|
///
|
||||||
/// Returns a list of root HPCs and the buses that they control.
|
/// Returns a list of root HPCs and the buses that they control.
|
||||||
|
|
Loading…
Reference in New Issue