27.10.2015 Views

Advanced Configuration and Power Interface Specification

ACPI_6.0

ACPI_6.0

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Advanced</strong> <strong>Configuration</strong> <strong>and</strong> <strong>Power</strong> <strong>Interface</strong> <strong>Specification</strong><br />

Note: To maintain compatibility with OSPM implementations of previous revisions of the ACPI<br />

specification, the platform must not rely on OSPM’s evaluation of the _OST object for proper<br />

platform operation.<br />

Example ASL for _OST usage:<br />

External (\_SB.PCI4, DeviceObj)<br />

Scope(\_SB.PCI4) {<br />

OperationRegion(LED1, SystemIO, 0x10C0, 0x20)<br />

Field(LED1, AnyAcc, NoLock, Preserve)<br />

{ // LED controls<br />

S0LE, 1, // Slot 0 Ejection Progress LED<br />

S0LF, 1, // Slot 0 Ejection Failure LED<br />

S1LE, 1, // Slot 1 Ejection Progress LED<br />

S1LF, 1, // Slot 1 Ejection Failure LED<br />

S2LE, 1, // Slot 2 Ejection Progress LED<br />

S2LF, 1, // Slot 2 Ejection Failure LED<br />

S3LE, 1, // Slot 3 Ejection Progress LED<br />

S3LF, 1 // Slot 3 Ejection Failure LED<br />

}<br />

Device(SLT3) {<br />

Name(_ADR, 0x000C0003)<br />

Method(_OST, 3, Serialized) {<br />

// hot plug device<br />

// OS calls _OST with notify code 3 or 0x103<br />

// <strong>and</strong> status codes 0x80-0x83<br />

// to indicate a hot remove request failure.<br />

// Status code 0x84 indicates an ejection<br />

// request pending.<br />

{<br />

}<br />

If(LEqual(Arg0,Ones))<br />

// Unspecified event<br />

// Perform generic event processing here<br />

Switch(And(Arg0,0xFF))<br />

// Mask to retain low byte<br />

{<br />

Case(0x03)<br />

// Ejection request<br />

{<br />

Switch(Arg1)<br />

{<br />

Case(Package(){0x80, 0x81, 0x82, 0x83})<br />

{ // Ejection Failure for some reason<br />

Store(Zero, ^^S3LE) // Turn off Ejection Progress LED<br />

Store(One, ^^S3LF) // Turn on Ejection Failure LED<br />

}<br />

Case(0x84)<br />

// Eject request pending<br />

{<br />

Store(One, ^^S3LE) // Turn on Ejection Request LED<br />

Store(Zero, ^^S3LF) // Turn off Ejection Failure LED<br />

}<br />

}<br />

}<br />

}<br />

} // end _OST<br />

340 April, 2015 Version 6.0

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

Saved successfully!

Ooh no, something went wrong!