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

Table 19-358 Object Storing <strong>and</strong> Copying Rules<br />

When Storing an<br />

object of any data<br />

type to this type of<br />

Target location<br />

This action is performed by the<br />

Store operator or any ASL operator<br />

with a Target oper<strong>and</strong>:<br />

This action is performed by the<br />

CopyObject operator:<br />

Method ArgX<br />

variable<br />

Method LocalX<br />

variable<br />

Field Unit or Buffer<br />

Field<br />

Named data object<br />

The object is copied to the destination with no conversion applied, with one<br />

exception. If the ArgX contains an Object Reference, an automatic de-reference<br />

occurs <strong>and</strong> the object is copied to the target of the Object Reference instead of<br />

overwriting the contents of ArgX<br />

The object is copied to the destination with no conversion applied. Even if LocalX<br />

contains an Object Reference, it is overwritten.<br />

The object is copied to the destination<br />

after implicit result conversion is applied<br />

The object is copied to the destination<br />

after implicit result conversion is applied<br />

to match the existing type of the named<br />

location<br />

Fields permanently retain their type <strong>and</strong><br />

cannot be changed. Therefore,<br />

CopyObject can only be used to copy an<br />

object of type Integer or Buffer to fields.<br />

The object <strong>and</strong> type are copied to the<br />

named location.<br />

19.3.5.9 Rules for Reading <strong>and</strong> Writing Objects<br />

In the descriptions below, read operations always return the actual object, not a copy of the object in<br />

order that constructs of the form:<br />

Add (Local1, Local2, Local3)<br />

do not create unnecessary copies of Local1 or Local2. Also, this behavior enables the call-byreference<br />

semantics of control method invocation.<br />

19.3.5.9.1 ArgX Objects<br />

1. Read from ArgX parameters<br />

• ObjectReference - Automatic dereference, return the target of the reference. Use of<br />

DeRefOf returns the same.<br />

• Buffer – Return the Buffer. Can create an Index, Field, or Reference to the buffer.<br />

• Package – Return the Package. Can create an Index or Reference to the package.<br />

• All other object types – Return the object.<br />

Example method invocation for the table below:<br />

MTHD (RefOf (Obj), Buf, Pkg, Obj)<br />

Table 19-359 Reading from ArgX Objects<br />

Parameter MTHD ArgX Type Read operation on ArgX Result of read<br />

RefOf (Obj), Reference to object Obj Store (Arg0, …)<br />

CopyObject (Arg0, …)<br />

DeRefOf (Arg0)<br />

Obj<br />

Obj<br />

Obj<br />

798 April, 2015 Version 6.0

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

Saved successfully!

Ooh no, something went wrong!