Implementing ZPODD power control methods in the BIOS

This topic discusses how to implement Zero Power Optical Disk Drive (ZPODD) power control methods in the BIOS

This information applies to the following operating systems:

  • Windows 8
  • Windows Server 2012

The platform designer and BIOS engineer must decide how to represent the power controls to the operating system. The BIOS can expose either the _PSx methods, the _PRx objects, or both. The _PSx methods say, in effect “I want to manage reference counting for power rails in the BIOS. Please tell me when the individual devices turn on and off.” The _PRx objects say “I want the OS to manage reference counting and just call the _ON or _OFF methods of the power resource objects when appropriate.” Unfortunately, the specific requirements of SATA mandate that the _DSM object be used as described above, and that requires the BIOS to do at least some direct management of power rails even if it exposes _PRx object. On the other hand, the _PRx objects allow a BIOS to more easily distinguish between D3hot and D3cold. The operating system will ensure that a device is never in D3cold when it shouldn’t be, and signal that by keeping the power resources pointed to by _PR3 turned on.

If the BIOS chooses to implement _PS0 and _PS3, without _PR0 and _PR3, then the BIOS is responsible for following these rules:

  • The device must be fully on after _PS0 has been invoked.
  • The device must be in D3hot (detectable on the bus by the SATA host controller) after _DIS has been invoked and _PS3 has been invoked.
  • The device must be in D3hot after _DSW has been invoked with Arg2 set to 3 and _PS3 is invoked.
  • The device can be in D3cold after _DSW has been invoked with Arg2 set to 4 and _PS3 is invoked.

ZPODD platform and driver design guidelines for Windows 8

 

 

Send comments about this topic to Microsoft