Subject: Re: AMD Power Now!
To: None <port-i386@netbsd.org>
From: Christian Hattemer <chris@heaven.riednet.wh.tu-darmstadt.de>
List: port-i386
Date: 12/13/2002 13:43:51
Hello Manuel,

On 09-Dez-02, you wrote:

>> I thought the only use of APM on a line-powered desktop machine is that it
>> makes shutdown -p work.
>> 
>> So it also makes the CPU run cooler while the system is idle?

>> From 1.6 locore.s:
> #if NAPM > 0
>        call    _C_LABEL(apm_cpu_idle)
> #endif
>        hlt
> #if NAPM > 0
>        call    _C_LABEL(apm_cpu_busy)
> #endif

> apm_cpu_idle() calls the APM_CPU_IDLE APM function.

A quick look over apm.c tells me that apm_cpu_idle() only switches to the
slow clock. I don't think this is supported by a desktop Athlon? (Sorry, was
too lazy to make a diagnostic kernel and look what it says.)

The hlt is executed regardless of APM being compiled in or not. But it
doesn't seem to make a difference. Is the CPU restarted to early by some
interrupt?
It also seems that it doesn't halt correctly. While searching for information
I found this: http://www.geocrawler.com/archives/3/171/2000/4/0/3659449/
There are a lot of instructions between the sti and the hlt here. Could this
be a problem?

On the download page of my boards manufacturer I found two versions of a CPU
monitor for Windows. Both claim to have a "soft cooler", but it works only
in the newer version. There it makes a big difference. When idle the CPU has
about 31°C compared to 47-52 °C without.

I'd like to have this low temperature also with NetBSD since the power
supply fan stays quiet all the time then and the UPS estimates a 10 minutes
longer runtime.

> But I just figured that these calls have dissapeared from the current locore.s

The CVS Log says it was removed when MP support was introduced.
APM doesn't work with MP.

Bye, Chris

-- 
          __
         /// Amiga 4000T 040/40                    /~\ The ASCII
    __  ///                                        \ / Ribbon Campaign
    \\\///   Team AMIGA                             X  against HTML
     \XX/                                          / \ E-Mail