Hierarchical power management
Methods, systems, apparatuses and program products are disclosed for providing power/energy control. HPM (Hierarchical Power Management) systems provide for and improve on the power management support beyond what is available in current PC notebooks and desktops.
1. A method of managing a computing platform comprising:
maintaining a plurality of virtualized FHF (fixed hardware feature(s)) codes responsive to a plurality of device interrupts and further responsive to a plurality of non-virtualized FHF codes;
providing the plurality of virtualized FHF codes responsive to a first request from a first operating system;
providing pass-through access to the plurality of non-virtualized FHF codes responsive to a second request from a second operating system; and
setting a power mode of hardware running the computing platform to be a more active state than that reported by the virtualized FHF codes to the first operating system, if the second request requests the more active state and the first request requests a less active state.
2. The method of claim 1 further comprising operating a hypervisor to control the first and second operating systems and wherein:
the first operating system runs in an unprivileged domain and the second operating system runs in a privileged domain.
3. The method of claim 1 wherein the virtualized FHF are FFH (Functional Fixed Hardware).
4. The method of claim 2 wherein the steps of the virtualized FHF are FFH (Functional Fixed Hardware).
5. The method of claim 1 further comprising:
operating an ACPI (Advanced Configuration and Power Interface) fixed hardware emulator to respond to ACPI events by deferring S-state (Sleep state) transitions and to maintain a virtualized ACPI timer for the first operating system.
6. The method of claim 1 wherein the first request is a power management request.
7. The method of claim 1 wherein
the first operating system is in an unprivileged domain and
the second operating system is in a privileged domain.
8. The method of claim 7 wherein
a requested or incipient change in ACPI (Advanced Configuration and Power Interface) S-state arising in the unprivileged domain causes an event in the privileged domain.
9. The method of claim 8 wherein the event is a GSI (global system interrupt).
10. The method of claim 5 , wherein the ACPI fixed hardware emulator is to respond to the ACPI events by deferring S-state (Sleep state) transitions.
11. The method of claim 1 , wherein the non-virtualized FHF codes report a state of the hardware to the second operating state that is same as an actual state of the hardware.
12. A tangible, non-transitory computer-readable storage medium storing instructions that, if executed by a processor to operate for interrupt handling, cause the processor to:
maintain a plurality of virtualized FHF (fixed hardware feature(s)) codes responsive to a plurality of device interrupts and further responsive to a plurality of non-virtualized FHF codes;
provide the plurality of virtualized FHF codes responsive to a first request from a first operating system;
provide pass-through access to the plurality of non-virtualized FHF codes responsive to a second request from a second operating system; and
set a power mode of hardware running the computing platform to be at a more active state than that reported by the virtualized FHF codes to the first operating system, if the second request requests the more active state and the first request requests a less active state.
13. The storage medium of claim 12 , wherein the non-virtualized FHF codes report a state of the hardware to the second operating state that is same as an actual power state of the hardware.
14. An electronic device comprising:
a controller; and
a memory having instructions encoded therein, the instructions when executed by the controller cause said controller to operate for power management by steps comprising the acts of:
maintaining a plurality of virtualized FHF (fixed hardware feature(s)) codes responsive to a plurality of device interrupts and further responsive to a plurality of non-virtualized FHF codes;
providing the plurality of virtualized FHF codes responsive to a first request from a first operating system;
providing pass-through access to the plurality of non-virtualized FHF codes responsive to a second request from a second operating system; and
setting a power mode of hardware running the computing platform to be at a more active state than that reported by the virtualized FHF codes to the first operating system, if the second request requests the more active state and the first request requests a less active state.
15. The electronic device of claim 14 , wherein the non-virtualized FHF codes report a state of the hardware to the second operating state that is same as an actual state of the hardware.