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

FieldUnitList is a variable-length list of individual field unit definitions, separated by commas. Each<br />

entry in the field unit list is one of the following:<br />

Table 19-367 Field Unit list entires<br />

FieldUnitName, BitLength<br />

Offset (ByteOffset)<br />

AccessAs (AccessType, AccessAttribute)<br />

Connection (ConnectionResourceObj)<br />

FieldUnitName is the ACPI name for the field unit (1 to 4 characters), <strong>and</strong> BitLength is the length of<br />

the field unit in bits. Offset is used to specify the byte offset of the next defined field unit. This can<br />

be used instead of defining the bit lengths that need to be skipped. AccessAs is used to define the<br />

access type <strong>and</strong> attributes for the remaining field units within the list. Connection is used to identify<br />

the connection resource of the field access. This is necessary for GenericSerialBus <strong>and</strong><br />

GeneralPurposeIO operation region types only.<br />

Description<br />

Declares a series of named data objects whose data values are fields within a larger object. The fields<br />

are parts of the object named by RegionName, but their names appear in the same scope as the Field<br />

term.<br />

For example, the field operator allows a larger operation region that represents a hardware register to<br />

be broken down into individual bit fields that can then be accessed by the bit field names. Extracting<br />

<strong>and</strong> combining the component field from its parent is done automatically when the field is accessed.<br />

When reading from a FieldUnit, returned values are normalized (shifted <strong>and</strong> masked to the proper<br />

length.) The data type of an individual FieldUnit can be either a Buffer or an Integer, depending on<br />

the bit length of the FieldUnit. If the FieldUnit is smaller than or equal to the size of an Integer (in<br />

bits), it will be treated as an Integer. If the FieldUnit is larger than the size of an Integer, it will be<br />

treated as a Buffer. The size of an Integer is indicated by the DSDT header’s Revision field. A<br />

revision less than 2 indicates that the size of an Integer is 32 bits. A value greater than or equal to 2<br />

signifies that the size of an Integer is 64 bits. For more information about data types <strong>and</strong> FieldUnit<br />

type conversion rules, see Section 19.3.5.7, “Data Type Conversion Rules”.<br />

Accessing the contents of a field data object provides access to the corresponding field within the<br />

parent object. If the parent object supports Mutex synchronization, accesses to modify the<br />

component data objects will acquire <strong>and</strong> release ownership of the parent object around the<br />

modification.<br />

The following table relates region types declared with an OperationRegion term to the different<br />

access types supported for each region.<br />

Table 19-368 OperationRegion Region Types <strong>and</strong> Access Types<br />

Region Type Permitted Access Type(s) Description<br />

SystemMemory ByteAcc, WordAcc, DWordAcc, All access allowed<br />

QWordAcc, or AnyAcc<br />

838 April, 2015 Version 6.0

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

Saved successfully!

Ooh no, something went wrong!