beautypg.com

Description, Status codes returned – Intel Extensible Firmware Interface User Manual

Page 506

background image

Extensible Firmware Interface Specification

12-88

12/01/02

Version 1.10

Description

The

Attributes()

function performs an operation on the attributes associated with this PCI

controller. If

Operation

is greater than or equal to the maximum operation value, then

EFI_INVALID_PARAMETER

is returned. If

Operation

is

Get

or

Supported

, and

Result

is

NULL

, then

EFI_INVALID_PARAMETER

is returned. If

Operation

is

Set

,

Enable

, or

Disable

for an attribute that is not supported by the PCI controller, then

EFI_UNSUPPORTED

is

returned. Otherwise, the operation is performed as described in “Related Definitions” and

EFI_SUCCESS

is returned. It is possible for this function to return

EFI_UNSUPPORTED

even if

the PCI controller supports the attribute. This can occur when the PCI root bridge does not support
the attribute. For example, if VGA I/O and VGA Memory transactions cannot be forwarded onto
PCI root bridge #2, then a request by a PCI VGA driver to enable the

VGA_IO

and

VGA_MEMORY

bits will fail even though a PCI VGA controller behind PCI root bridge #2 is able to decode these
transactions.

This function will also return

EFI_UNSUPPORTED

if more than one PCI controller on the same

PCI root bridge has already successfully requested one of the ISA addressing attributes. For
example, if one PCI VGA controller had already requested the

VGA_IO

and

VGA_MEMORY

attributes, then a second PCI VGA controller on the same root bridge cannot succeed in requesting
those same attributes. This restriction applies to the ISA-, VGA-, and IDE-related attributes.

Status Codes Returned

EFI_SUCCESS

The operation on the PCI controller’s attributes was completed. If
the operation was

Get

or

Supported

, then the attribute mask

is returned in

Result

.

EFI_INVALID_PARAMETER

Operation

is greater than or equal to

EfiPciIoAttributeOperationMaximum

.

EFI_INVALID_PARAMETER

Operation

is

Get

and

Result

is

NULL

.

EFI_INVALID_PARAMETER

Operation

is

Supported

and

Result

is

NULL

.

EFI_UNSUPPORTED

Operation

is

Set

, and one or more of the bits set in

Attributes

are not supported by this PCI controller or one of

its parent bridges.

EFI_UNSUPPORTED

Operation

is

Enable

, and one or more of the bits set in

Attributes

are not supported by this PCI controller or one of

its parent bridges.

EFI_UNSUPPORTED

Operation

is

Disable

, and one or more of the bits set in

Attributes

are not supported by this PCI controller or one of

its parent bridges.