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

// ASL Example<br />

DefinitionBlock (<br />

"forbook.aml",<br />

// Output Filename<br />

"DSDT",<br />

// Signature<br />

0x02, // DSDT Compliance Revision<br />

"OEM",<br />

// OEMID<br />

"forbook",<br />

// TABLE ID<br />

0x1000<br />

// OEM Revision<br />

)<br />

{ // start of definition block<br />

OperationRegion(\GIO, SystemIO, 0x125, 0x1)<br />

Field(\GIO, ByteAcc, NoLock, Preserve) {<br />

CT01, 1,<br />

}<br />

Scope(\_SB)<br />

// start of scope<br />

Device(PCI0) {<br />

// start of device<br />

<strong>Power</strong>Resource(FET0, 0, 0) { // start of pwr<br />

Method (_ON) {<br />

Store (Ones, CT01) // assert power<br />

Sleep (30)<br />

// wait 30ms<br />

}<br />

Method (_OFF) {<br />

Store (Zero, CT01) // assert reset#<br />

}<br />

Method (_STA) {<br />

Return (CT01)<br />

}<br />

} // end of power<br />

} // end of device<br />

} // end of scope<br />

} // end of definition block<br />

5.5.1 ASL Statements<br />

ASL is principally a declarative language. ASL statements declare objects. Each object has three<br />

parts, two of which can be null:<br />

Object := ObjectType FixedList VariableList<br />

FixedList refers to a list of known length that supplies data that all instances of a given ObjectType<br />

must have. It is written as (a, b, c,), where the number of arguments depends on the specific<br />

ObjectType, <strong>and</strong> some elements can be nested objects, that is (a, b, (q, r, s, t), d). Arguments to a<br />

FixedList can have default values, in which case they can be skipped. Some ObjectTypes can have a<br />

null FixedList.<br />

VariableList refers to a list, not of predetermined length, of child objects that help define the parent.<br />

It is written as {x, y, z, aa, bb, cc}, where any argument can be a nested object. ObjectType<br />

determines what terms are legal elements of the VariableList. Some ObjectTypes can have a null<br />

variable list.<br />

For a detailed specification of the ASL language, see Section 19, “ACPI Source Language (ASL)<br />

Reference.” For a detailed specification of the ACPI Control Method Machine Language (AML),<br />

upon which the output of the ASL translator is based, see Section 20, “ACPI Machine Language<br />

(AML) <strong>Specification</strong>.”<br />

218 April, 2015 Version 6.0

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

Saved successfully!

Ooh no, something went wrong!