27.10.2015 Views

Advanced Configuration and Power Interface Specification

ACPI_6.0

ACPI_6.0

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Advanced</strong> <strong>Configuration</strong> <strong>and</strong> <strong>Power</strong> <strong>Interface</strong> <strong>Specification</strong><br />

Arg3 – A Package that contains function-specific arguments<br />

Return Value:<br />

If Function Index = 0, a Buffer containing a function index bitfield. Otherwise, the return value <strong>and</strong><br />

type depends on the UUID <strong>and</strong> revision ID (see below).<br />

Argument Information:<br />

Arg0: UUID – A Buffer containing the Universal Unique Identifier (16 Bytes)<br />

Arg1: Revision ID – the function’s revision. This revision is specific to the UUID.<br />

Arg2: Function Index – Represents a specific function whose meaning is specific to the UUID<br />

<strong>and</strong> Revision ID. Function indices should start with 1. Function number zero is a query function (see<br />

the special return code defined below).<br />

Arg3: Arguments – a package containing the parameters for the function specified by the UUID,<br />

Revision ID <strong>and</strong> Function Index. Successive revisions of Function Arguments must be backward<br />

compatible with earlier revisions. See Section 9 “ACPI Devices <strong>and</strong> Device Specific Objects”, for<br />

any _DSM definitions for ACPI devices. New UUIDs may also be created by OEMs <strong>and</strong> IHVs for<br />

custom devices <strong>and</strong> other interface or device governing bodies (e.g. the PCI SIG), as long as the<br />

UUID is different from other published UUIDs. Only the issuer of a UUID can authorize a new<br />

Function Index, Revision ID or Function Argument for that UUID.<br />

Return Value Information:<br />

If Function Index is zero, the return is a buffer containing one bit for each function index, starting<br />

with zero. Bit 0 indicates whether there is support for any functions other than function 0 for the<br />

specified UUID <strong>and</strong> Revision ID. If set to zero, no functions are supported (other than function zero)<br />

for the specified UUID <strong>and</strong> Revision ID. If set to one, at least one additional function is supported.<br />

For all other bits in the buffer, a bit is set to zero to indicate if that function index is not supported for<br />

the specific UUID <strong>and</strong> Revision ID. (For example, bit 1 set to 0 indicates that function index 1 is not<br />

supported for the specific UUID <strong>and</strong> Revision ID.)<br />

If the bit representing a particular function index would lie outside of the buffer, it should be<br />

assumed to be 0 (that is, not supported).<br />

If Function index is non-zero, the return is any data object. The type <strong>and</strong> meaning of the returned<br />

data object depends on the UUID <strong>and</strong> Revision ID.<br />

Note: For backward compatibility _DSM requires that each Revision ID support all of the functions<br />

defined by all previous Revision IDs for the same UUID.<br />

Implementation Note<br />

Since the purpose of the _DSM method is to avoid the namespace collision, the implementation of<br />

this method shall not use any other method or data object which is not defined in this specification<br />

unless its driver <strong>and</strong> usage is completely under the control of the platform vendor.<br />

532 April, 2015 Version 6.0

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!