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

To convert<br />

from an<br />

object of this<br />

Data Type<br />

Field Unit<br />

To an object<br />

of this Data<br />

Type<br />

[See the<br />

Integer <strong>and</strong><br />

Buffer Rules]<br />

This action is performed by the AML Interpreter:<br />

If the Field Unit is smaller than or equal to the size of an Integer (in bits), it<br />

will be treated as an Integer. If the Field Unit is larger than the size of an<br />

Integer, it will be treated as a Buffer. The size of an Integer is indicated by<br />

the Definition Block table header’s Revision field. A Revision field value<br />

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

than or equal to 2 signifies that the size of an Integer is 64 bits. (See the<br />

conversion rules for the Integer <strong>and</strong> Buffer data types.)<br />

Integer Buffer If no buffer object exists, a new buffer object is created based on the size of<br />

the integer (4 bytes for 32-bit integers <strong>and</strong> 8 bytes for 64-bit integers). If a<br />

buffer object already exists, the Integer overwrites the entire Buffer object.<br />

If the integer requires more bits than the size of the Buffer, then the integer<br />

is truncated before being copied to the Buffer. If the integer contains fewer<br />

bits than the size of the buffer, the Integer is zero-extended to fill the entire<br />

buffer.<br />

Buffer Field The Integer overwrites the entire Buffer Field. If the integer is smaller than<br />

the size of the buffer field, it is zero-extended. If the integer is larger than<br />

the size of the buffer field, the upper bits are truncated.<br />

Compatibility Note: This conversion was first introduced in ACPI 2.0. The<br />

behavior in ACPI 1.0 was undefined.<br />

Debug Object The integer is displayed as a hexadecimal value.<br />

Field Unit The Integer overwrites the entire Field Unit. If the integer is smaller than the<br />

size of the buffer field, it is zero-extended. If the integer is larger than the<br />

size of the buffer field, the upper bits are truncated.<br />

String If no string object exists, a new string object is created based on the size of<br />

the integer (8 characters for 32-bit integers <strong>and</strong> 16 characters for 64-bit<br />

integers). If the string already exists, it is completely overwritten <strong>and</strong><br />

truncated or extended to accommodate the converted integer exactly. In<br />

either case, the entire integer is converted to a string of hexadecimal ASCII<br />

characters.<br />

Package Package If no package object exists, a new package object is created. If the package<br />

already exists, it is completely overwritten <strong>and</strong> truncated or extended to<br />

accommodate the source package exactly. Any <strong>and</strong> all existing valid (nonnull)<br />

package elements of the target package are deleted, <strong>and</strong> the entire<br />

contents of the source package are copied into the target package.<br />

Debug Object Each element of the package is displayed based on its type.<br />

796 April, 2015 Version 6.0

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

Saved successfully!

Ooh no, something went wrong!