18.12.2012 Views

Advanced Configuration and Power Interface Specification

Advanced Configuration and Power Interface Specification

Advanced Configuration and Power Interface Specification

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Device <strong>Configuration</strong><br />

Before OSPM ejects a device via the device’s _EJx methods, all dependent devices listed in the<br />

package returned by _EDL are prepared for removal. Notice that _EJx methods under the dependent<br />

devices are not executed.<br />

When describing a platform that includes a docking station, an _EDL object is declared under the<br />

docking station device. For example, if a mobile system can attach to two different types of docking<br />

stations, _EDL is declared under both docking station devices <strong>and</strong> evaluates to the packaged list of<br />

devices that must be ejected when the system is ejected from the docking station.<br />

An ACPI-compliant OS evaluates the _EDL method just prior to ejecting the device.<br />

6.3.2 _EJD (Ejection Dependent Device)<br />

This object is used to specify the name of a device on which the device, under which this object is<br />

declared, is dependent. This object is primarily used to support docking stations. Before the device<br />

indicated by _EJD is ejected, OSPM will prepare the dependent device (in other words, the device<br />

under which this object is declared) for removal.<br />

Arguments:<br />

None<br />

Return Value:<br />

A String containing the device name<br />

_EJD is evaluated once when the ACPI table loads. The EJx methods of the device indicated by<br />

_EJD will be used to eject all the dependent devices. A device’s dependents will be ejected when the<br />

device itself is ejected.<br />

Note: OSPM will not execute a dependent device’s _EJx methods when the device indicated by _EJD is<br />

ejected.<br />

When describing a platform that includes a docking station, usually more than one _EJD object will<br />

be needed. For example, if a dock attaches both a PCI device <strong>and</strong> an ACPI-configured device to a<br />

mobile system, then both the PCI device description package <strong>and</strong> the ACPI-configured device<br />

description package must include an _EJD object that evaluates to the name of the docking station<br />

(the name specified in an _ADR or _HID object in the docking station’s description package). Thus,<br />

when the docking connector signals an eject request, OSPM first attempts to disable <strong>and</strong> unload the<br />

drivers for both the PCI <strong>and</strong> ACPI configured devices.<br />

Note: An ACPI 1.0 OS evaluates the _EJD methods only once during the table load process. This<br />

greatly restricts a table designer’s freedom to describe dynamic dependencies such as those<br />

created in scenarios with multiple docking stations. This restriction is illustrated in the example<br />

below; the _EJD information supplied via <strong>and</strong> ACPI 1.0-compatible namespace omits the IDE2<br />

device from DOCK2’s list of ejection dependencies. Starting in ACPI 2.0, OSPM is presented with<br />

a more in-depth view of the ejection dependencies in a system by use of the _EDL methods.<br />

Example<br />

An example use of _EJD <strong>and</strong> _EDL is as follows:<br />

300 Hewlett-Packard/Intel/Microsoft/Phoenix/Toshiba

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

Saved successfully!

Ooh no, something went wrong!