Intel Extensible Firmware Interface User Manual

Page 456

Advertising
background image

Extensible Firmware Interface Specification

12-38

12/01/02

Version 1.10

ResourceLength

A pointer to the length of the resource range to be modified by the
attributes specified by

Attributes

. On return,

*ResourceLength

will be set the actual length of the resource

range. Not all resources can be set to a byte boundary, so the
actual length may differ from the one passed in by the caller. This
parameter is only used if the

MEMORY_WRITE_COMBINE

bit, the

MEMORY_CACHED

bit, or the

MEMORY_DISABLE

bit of

Attributes

is set. Otherwise, it is ignored, and may be

NULL

.

Description

The

SetAttributes()

function sets the attributes specified in

Attributes

for the PCI root

bridge on the resource range specified by

ResourceBase

and

ResourceLength

. Since the

granularity of setting these attributes may vary from resource type to resource type, and from
platform to platform, the actual resource range and the one passed in by the caller may differ. As a
result, this function may set the attributes specified by

Attributes

on a larger resource range

than the caller requested. The actual range is returned in

ResourceBase

and

ResourceLength

. The caller is responsible for verifying that the actual range for which the

attributes were set is acceptable.

If the attributes are set on the PCI root bridge, then the actual resource range is returned in

ResourceBase

and

ResourceLength

, and

EFI_SUCCESS

is returned.

If the attributes specified by

Attributes

are not supported by the PCI root bridge, then

EFI_UNSUPPORTED

is returned. The set of supported attributes for a PCI root bridge can be

found by calling

GetAttributes()

.

If either

ResourceBase

or

ResourceLength

are

NULL

, and a resource range is required for

the attributes specified in

Attributes

, then

EFI_INVALID_PARAMETER

is returned.

If more than one resource range is required for the set of attributes specified by

Attributes

,

then

EFI_INVALID_PARAMETER

is returned.

If there are not enough resources available to set the attributes, then

EFI_OUT_OF_RESOURCES

is returned.

Advertising