Hello,
I just fixed the generator. Now It generates right P-state tables for revF of k8 CPUs. I just implemented correct TDP estimations.
The program generates a ACPI ASL code which can be include in DSDT. It provides p-state info for powernow-k8 driver and windows driver.
Maybe we can move this slowly to runtime.
We need for future
1) execute cpuid on given CPU 2) execute rdmsr on given CPU 3) AML code generator for coreboot.
(multicore should not be an issue, issue will be multiprocessor).
Ad 3) see next email.
Rudolf
Hi Rudolf,
On 25.12.2008 22:08, Rudolf Marek wrote:
Hello,
I just fixed the generator. Now It generates right P-state tables for revF of k8 CPUs. I just implemented correct TDP estimations.
The generator didn't compile until I added a cpuid() function.
The program generates a ACPI ASL code which can be include in DSDT. It provides p-state info for powernow-k8 driver and windows driver.
I have attached the result of your code and what the proprietary BIOS does and the fixed^Whacked-up genpowernow.c file.
The 1600 MHz step seems to be missing completely with the proprietary BIOS. A few other differences exist as well. I'm not sure whether the proprietary BIOS is right.
Regards, Carl-Daniel
Carl-Daniel Hailfinger wrote:
Hi Rudolf,
On 25.12.2008 22:08, Rudolf Marek wrote:
Hello,
I just fixed the generator. Now It generates right P-state tables for revF of k8 CPUs. I just implemented correct TDP estimations.
The generator didn't compile until I added a cpuid() function.
Yes the cpuid.c was included in March ;) Sorry I forgot to add that.
The program generates a ACPI ASL code which can be include in DSDT. It provides p-state info for powernow-k8 driver and windows driver.
I have attached the result of your code and what the proprietary BIOS does and the fixed^Whacked-up genpowernow.c file.
The 1600 MHz step seems to be missing completely with the proprietary BIOS. A few other differences exist as well. I'm not sure whether the proprietary BIOS is right.
The differences are in PLL lock times etc. Check the the BKDG for details of that field. I think I used recommended.
Now we must investigate if the algorithm is correct. Please check the function and algorithm described in BKDG.
But I'm quite happy with the result, the power estimation works ;) and we have same start/stop FID/VID ;)
Rudolf
On 28.12.2008 09:29, Rudolf Marek wrote:
Carl-Daniel Hailfinger wrote:
Hi Rudolf,
On 25.12.2008 22:08, Rudolf Marek wrote:
Hello,
I just fixed the generator. Now It generates right P-state tables for revF of k8 CPUs. I just implemented correct TDP estimations.
The generator didn't compile until I added a cpuid() function.
Yes the cpuid.c was included in March ;) Sorry I forgot to add that.
No problem.
The program generates a ACPI ASL code which can be include in DSDT. It provides p-state info for powernow-k8 driver and windows driver.
I have attached the result of your code and what the proprietary BIOS does and the fixed^Whacked-up genpowernow.c file.
The 1600 MHz step seems to be missing completely with the proprietary BIOS. A few other differences exist as well. I'm not sure whether the proprietary BIOS is right.
The differences are in PLL lock times etc. Check the the BKDG for details of that field. I think I used recommended.
Now we must investigate if the algorithm is correct. Please check the function and algorithm described in BKDG.
But I'm quite happy with the result, the power estimation works ;) and we have same start/stop FID/VID ;)
The results definitely look correct. My factory BIOS seems to have incorrect values there.
I was unable to test this, though, because the AMD DBM690T target already has code to autogenerate the SSDT which conflicts with manual insertion of the results of genpowernow.c.
Regards, Carl-Daniel
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
The results definitely look correct. My factory BIOS seems to have incorrect values there.
OK
I was unable to test this, though, because the AMD DBM690T target already has code to autogenerate the SSDT which conflicts with manual insertion of the results of genpowernow.c.
Aha OK. I will have a look into this.
Rudolf