Area for communication between the power manager and the power management kernel callout.

The pminfo area is an area reserved for communication between the power manager and the startup/power kernel callout (see Power management).

The pminfo area contains the following members. These members are customizable in the power manager structure, and are power-manager dependent:

A flag used by the power kernel callout to determine if the wakeup has already occurred, and by the power manager to keep track of all of the wakeup device interrupts that have occurred.
The power manager requires write access, so it can modify this entry.
Indicates to the power manager what caused the wakeup: a power-on reset, or an interrupt from peripherals or other devices. This value is set by the power kernel callout.
An area where the power manager can store any data it chooses. This storage is not persistent storage; it needs to be manually stored and restored by the startup and power kernel callout.
This area can be modified at startup. It is initialized by the init_pminfo() function, which takes a single argument: the size, in bytes, to set aside for the managed_storage array.