Implementing ZPODD power control methods in the BIOS
Updated: October 19, 2012
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.