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

3. The IDE driver will call the _STM control method passing in transfer timing settings for the<br />

channel, as well as the ATA drive ID block for each drive on the channel. The _STM control<br />

method will configure the IDE channel based on this information.<br />

4. For each drive on the IDE channel, the IDE driver will run the _GTF to determine the ATA<br />

comm<strong>and</strong>s required to reinitialize each drive to boot up defaults.<br />

5. The IDE driver will finish initializing the drives by sending these ATA comm<strong>and</strong>s to the drives,<br />

possibly modifying or adding comm<strong>and</strong>s to suit the features supported by the operating system.<br />

The following shows the namespace for these objects:<br />

\_SB<br />

// System bus<br />

PCI0<br />

// PCI bus<br />

IDE1<br />

// First IDE channel<br />

_ADR<br />

// Indicates address of the channel on the PCI bus<br />

_GTM<br />

// Control method to get current IDE channel settings<br />

_STM<br />

// Control method to set current IDE channel settings<br />

_PR0<br />

// <strong>Power</strong> resources needed for D0 power state<br />

DRV1 // Drive 0<br />

_ADR<br />

// Indicates address of master IDE device<br />

_GTF<br />

// Control method to get task file<br />

DRV2 // Drive 1<br />

_ _ADR // Indicates address of slave IDE device<br />

_ _GTF // Control method to get task file<br />

IDE2<br />

// Second IDE channel<br />

_ADR<br />

// Indicates address of the channel on the PCI bus<br />

_GTM<br />

// Control method to get current IDE channel settings<br />

_STM<br />

// Control method to set current IDE channel settings<br />

_PR0<br />

// <strong>Power</strong> resources needed for D0 power state<br />

DRV1 // Drive 0<br />

_ADR<br />

// Indicates address of master IDE device<br />

_GTF<br />

// Control method to get task file<br />

DRV2 // Drive 1<br />

_ADR<br />

// Indicates address of slave IDE device<br />

_GTF<br />

// Control method to get task file<br />

The sequential order of operations is as follows:<br />

<strong>Power</strong>ing down:<br />

• Call _GTM.<br />

• <strong>Power</strong> down drive (calls _PS3 method <strong>and</strong> turns off power planes).<br />

<strong>Power</strong>ing up:<br />

• <strong>Power</strong> up drive (calls _PS0 method if present <strong>and</strong> turns on power planes).<br />

• Call _STM passing info from _GTM (possibly modified), with ID data from<br />

• each drive.<br />

• Initialize the channel.<br />

• May modify the results of _GTF.<br />

• For each drive:<br />

— Call _GTF.<br />

— Execute task file (possibly modified).<br />

510 April, 2015 Version 6.0

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

Saved successfully!

Ooh no, something went wrong!