Intel Extensible Firmware Interface User Manual
Page 456

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
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.