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

entries corresponding to either the ACPI processor ID of the Processor object or the value returned<br />

by the _UID object under a Processor device.<br />

When _MAT appears under an I/O APIC, OSPM processes I/O APIC (Section 5.2.12.3, “I/O APIC<br />

Structure”), I/O SAPIC (Section 5.2.12.9, “I/O SAPIC Structure”), non-maskable interrupt sources<br />

(Section 5.2.12.6, “Non-Maskable Interrupt Source Structure”), interrupt source overrides<br />

(Section 5.2.12.5 “Interrupt Source Override Structure”), <strong>and</strong> platform interrupt source structure<br />

(Section 5.2.12.11, “Platform Interrupt Source Structure”) entries returned from the object’s<br />

evaluation. Other entry types are ignored by OSPM.<br />

Arguments:<br />

None<br />

Return Value:<br />

A Buffer containing a list of APIC structure entries<br />

Example ASL for _MAT usage:<br />

Scope(\_SB) {<br />

Device(PCI0) {<br />

Name(_HID, EISAID("PNP0A03"))<br />

Method (_CRS,0){<br />

}<br />

Name(_PRT, Package(){<br />

})<br />

// Root PCI Bus<br />

// Need _HID for root device<br />

// Need current resources for root device<br />

// Return current resources for root bridge 0<br />

// Need PCI IRQ routing for PCI bridge<br />

// Package with PCI IRQ routing table information<br />

Device (P64A) {<br />

// P64A ACPI<br />

Name(_ADR,0)<br />

OperationRegion(TABD, SystemMemory, // Physical address of first<br />

// data byte of multiple ACPI table, Length of tables)<br />

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

MATD, Length of tables x 8<br />

}<br />

Method(_MAT, 0){<br />

Return (MATD)<br />

}<br />

} // end P64A<br />

} // end PCI0<br />

} // end scope SB<br />

6.2.11 _OSC (Operating System Capabilities)<br />

This optional object is a control method that is used by OSPM to communicate to the platform the<br />

feature support or capabilities provided by a device’s driver. This object is a child object of a device<br />

<strong>and</strong> may also exist in the \_SB scope, where it can be used to convey platform wide OSPM<br />

capabilities. When supported, _OSC is invoked by OSPM immediately after placing the device in<br />

the D0 power state. Device specific objects are evaluated after _OSC invocation. This allows the<br />

values returned from other objects to be predicated on the OSPM feature support / capability<br />

information conveyed by _OSC. OSPM may evaluate _OSC multiple times to indicate changes in<br />

OSPM capability to the device but this may be precluded by specific device requirements. As such,<br />

_OSC usage descriptions in Section 9, “ACPI-Defined Devices <strong>and</strong> Device Specific Objects”, or<br />

312 April, 2015 Version 6.0

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

Saved successfully!

Ooh no, something went wrong!