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.

ACPI-Defined Devices <strong>and</strong> Device-Specific Objects<br />

A GPE Block device must have a _HID or a _CID of “ACPI0006.”<br />

Note: A system designer must describe the GPE block necessary to bootstrap the system in the FADT<br />

as a GPE0/GPE1 block. GPE Block devices cannot be used to implement these GPE inputs.<br />

A GPE Block Device must contain the _Lxx, _Exx, _Wxx, _CRS, _PRS, <strong>and</strong> _SRS methods<br />

required to use <strong>and</strong> program that block.<br />

To represent the GPE block associated with the FADT, the system designer shouldinclude in the<br />

namespace a Device object with the ACPI0006 _HID that contains no _CRS, _PRS, _SRS, _Lxx,<br />

_Exx, or _Wxx methods. OSPM assumes that the first such ACPI0006 device is the GPE Block<br />

Device that is associated with the FADT GPEs. (See the example below).<br />

// ASL example of a st<strong>and</strong>ard GPE block device<br />

Device(\_SB.PCI0.GPE1) {<br />

Name(_HID, ”ACPI0006”)<br />

Name(_UID, 2)<br />

Name(_CRS, Buffer () {<br />

IO(Decode16, FC00, FC03, 4, 4,)<br />

IRQ( Level, ActiveHigh, Shared,) { 5 }<br />

})<br />

}<br />

Method(_L02) { … }<br />

Method(_E07) { … }<br />

Method(_W04) { … }<br />

// ASL example of a GPE block device that refers to the FADT GPEs.<br />

// Cannot contain any _Lxx, _Exx, _Wxx, _CRS, _PRS, or. _SRS methods.<br />

Device(\_SB.PCI0.GPE0) {<br />

Name(_HID,”ACPI0006”)<br />

Name(_UID,1)<br />

}<br />

Notice that it is legal to replace the I/O descriptors with Memory descriptors if the register is<br />

memory mapped.<br />

If the system must run any GPEs to bootstrap the system (for example, when Embedded Controller<br />

events are required), the associated block of GPEs must be described in the FADT. This register<br />

block is not relocatable <strong>and</strong> will always be available for the life of the operating system boot.<br />

A GPE block associated with the ACPI0006 _HID can be stopped, ejected, reprogrammed, <strong>and</strong> so<br />

on. The system can also have multiple such GPE blocks.<br />

9.10.1 Matching Control Methods for Events in a GPE Block Device<br />

When a GPE Device raises an interrupt, OSPM executes a corresponding control method (as<br />

described in Section 5.6.4.1.1, “Queuing the Matching Control Method for Execution”). These<br />

control methods (of the form _Lxx, _Exx, <strong>and</strong> _Wxx) for GPE Devices are not within the \_GPE<br />

namespace. They are children of the GPE Block device.<br />

For example:<br />

Version 6.0 517

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

Saved successfully!

Ooh no, something went wrong!