Fujitsu P8010: est: CPU supports Enhanced Speedstep, but is not recognized

Yousif Hassan yousif at
Mon Mar 3 19:40:08 UTC 2008

Jan-Olof Lindqvist" wrote:
> Even if it does attach the est-driver, I don't think it receives the
> correct voltage to the processor. For example on my laptop I have been
> running FreeBSD i386 and now amd64 with the Core 2 duo T7700, the fan
> runs constantly and it feels hot where the processor is located. This is
> not the case when running for ex Linux.

There are probably two issues we're talking about here.

The first issue is the one you mentioned above, which is that the voltage 
information is not accurate for Core 2 processors.  This is probably true. 
I looked in the datasheets, it looks like Core 2s have more than one VID 
with a different setting in each.  I suspect this means, as Nate Lawson has 
commented in the source, that the frequency/voltage table method won't work. 
So unfortunately I doubt it's as simple as adding some new tables.  I don't 
know how Linux deals with this, but I downloaded the Linux kernel and will 
have a look.  This probably explains why the frequencies available to my 
Core 2 (T7500) are different on FreeBSD.  In this case it must be using the 
acpi_perf settings.  Those do work pretty well in terms of keeping my 
temperature low, so I wonder what is happening in your case.  Did you 
experience the heat issues even with the i386 kernel, or just amd64?

The second issue is why est won't attach at all on amd64, like Anish's issue 
(and mine).

Looks like the logic is something like this:
if (acpi_perf is actively managing things)
  use it;
else  //try to enable est
  if (there's a match in est tables)
    use it;
  else //try to use acpi_perf "read-only" settings
    if (acpi_perf is attached)
      good, read frequencies from it;
      refuse to attach est;

It would seem that on both i386 and amd64, the table method will fail, since 
the info is not there.  So that can't be the reason for a difference.  This 
means est will resort to querying acpi_perf.  acpi_perf, if it attaches in 
"silent" mode, will provide the frequency info to the est driver, which est 
then uses.  So the question is - why does this fallback method not work for 
amd64?  I need to play around with it and use some printfs / debugger to 
verify the logic.  I might be missing something.

> Maybe we should PR this?

Probably, but more info would be helpful first.


More information about the freebsd-acpi mailing list