This looks like what we need to do to support the cpu_deep_idle
keyword in power.conf(4).

pmconfig(1M) is in  /ws/onnv-gate/usr/src/cmd/power.
We can add a conftab[] entry in parse.c for "cpu_deep_idle" like:
        "cpu_deep_idle",                cpu_deep_idle,   &pm_status,    
NULL,   2, 0, 1,

A cpu_deep_idle handler can be added in handlers.c similar to cpupm.
The handler invokes ioctl() on pm_fd with
PM_START_CPU_DEEP_IDLE or PM_STOP_CPU_DEEP_IDLE.

This will enter the pm device's pm_ioctl() function which can have
cases added for PM_START_CPU_DEEP_IDLE and
PM_STOP_CPU_DEEP_IDLE.

Ideally we want these pm_ioctl cases to perform something like
a layered ioctl to the cpudrv driver?


             power.conf
                   |
                  v
             pmconfig
                   |
                  v
             pm driver's pm_ioctl
                   |
                  v
                cpudrv ioctl ?

Does anyone have another idea how to enter the cpudrv in this case?

Regards,
Bill


Reply via email to