View Single Post
Old 5th May 2009
BSDfan666 BSDfan666 is offline
Real Name: N/A, this is the interweb.
Helpful companion
Join Date: Apr 2008
Location: Ontario, Canada
Posts: 2,223

The userland APM utilities communicate with the kernel via the apm(4) kernel API using 2 character devices, /dev/apm and /dev/apmctl.. historically this was only used only by APM, but now ACPI utilizes the interface as well.

The main purpose of this kernel interface is control the systems power states, like going into suspend/standby.. it doesn't however, control processor speed scaling.

If you look at your dmesg, you'll see this line:
cpu0: PowerNow! K8 1801 MHz: speeds: 1800 1600 800 MHz

This indicates that you can toggle between 3 different speeds using hw.setperf in sysctl(8), if you're running apmd(8), it will monitor CPU utilization and toggle this value to conserve battery life.. this functionality most definitely should work regardless of the availability of ACPI or APM.

The following line indicates the temperature sensor on your processor..
kate0 at pci0 dev 24 function 3 "AMD AMD64 0Fh Misc Cfg" rev 0x00

You can monitor this sensor via hw.sensors.kate0 in sysctl(8).. you can also configure sensorsd(8) to monitor and act upon overly high temperatures.

Hopefully this clears some things up for you, as for what happens when neither APM or ACPI are enabled... apmd(8) will still work to scale speeds depending on processor utilization, but apm(8) requests to put the system to sleep will do nothing at all.
Reply With Quote