Device_io.pcidevicepath(), Pcidevicepath(), Func – Intel Extensible Firmware Interface User Manual

Page 767

Advertising
background image

Protocols

— Device I/O Protocol

Version 1.10

12/01/02

18-7

DEVICE_IO.PciDevicePath()

Summary

Provides an EFI Device Path for a PCI device with the given PCI configuration space address.

Prototype

typedef

EFI_STATUS

(EFIAPI *EFI_PCI_DEVICE_PATH) (

IN EFI_DEVICE_IO_INTERFACE

*This,

IN UINT64

PciAddress,

IN OUT EFI_DEVICE_PATH

**PciDevicePath

);

Parameters

This

A pointer to the

EFI_DEVICE_IO_INTERFACE

instance. Type

EFI_DEVICE_IO_INTERFACE

is defined in Section 18.2.

PciAddress

The PCI configuration space address of the device whose Device Path
is going to be returned. The address field is encoded as shown in
Table 18-1.

PciDevicePath

A pointer to the pointer for the EFI Device Path for

PciAddress

.

Memory for the Device Path is allocated from the pool. Type

EFI_DEVICE_PATH

is defined in Chapter 8.

Description

The

DEVICE_IO.PciDevicePath()

function provides an EFI Device Path for a PCI device

with the given PCI configuration space address.

A Device Path for the requested PCI device is returned in

PciDevicePath

.

PciDevicePath()

allocates the memory required for the Device Path from the pool and the

caller is responsible for calling

FreePool()

to free the memory used to contain the Device Path.

If there is not enough memory to calculate or return the

PciDevicePath

the function will return

EFI_OUT_OF_RESOURCES

. If the function cannot calculate a valid Device Path for

PciAddress

the function will return

EFI_UNSUPPORTED

.

Status Codes Returned

EFI_SUCCESS

The

PciDevicePath

returns a pointer to a valid EFI Device Path.

EFI_UNSUPPORTED

The

PciAddress

does not map to a valid EFI Device Path.

EFI_OUT_OF_RESOURCES

The request could not be completed due to a lack of resources.

Advertising