(07-15-2011, 07:17 AM)kizwan Wrote: I believe only _PSV is a valid object. PSV0 & PSVA naming does not follow ACPI specification. Try double-click the PSV0 & PSVA object. Convert the PSV0 & PSVA values (for example; if 3000, it equal to 300Kelvin) to Celsius.
Oh bugger... I've checked them and they don't look good
. All zeroes.
I started to dissect the UPDATE0.ROM files, and found that the only difference between the UPDATE0.ROM of PBE and the _C00.PEI of Phoenix tool is that UPDATE0.ROM already has the first 18 bytes cut from the beginning, so it starts right with a microcode section.
Comparing the two UPDATE0.ROMs of the Travelmate and Amilo, I found that only 3-3 2048 byte long sections actually look like microcodes, after that something else is stored in there (AGESA module?).
So I've got 01.bin, 02.bin and 03.bin from each BIOS. 01.bin are completely identical in both BIOSes, 02.bin differ, and 03.bin files are almost identical. 03.bin seems to be shifted two bytes to the right in Sa3650. That's rather odd.
OK, I've got some new findings!
I was playing around with the microcodes, and I decided to replace the Travelmate's 3 2048 byte long microcodes with that of the Sa3650's.
Once done, I built a new ROM with PBE with this hybrid UPDATE0.ROM inserted. This was for calculating a correct checksum only. Then, I opened this new ROM file with Phoenix tool, and took the _C00.PEI file with the correct checksum out. After that I opened the original BIOS in Phoenix tool, and inserted the new hybrid microcode module in there. This is what I flashed, and guess what? The laptop booted
! No apparent anomalies either.
I only booted into Linux, because I don't want my legal Win7 to reactivate itself (can do that only 3 times with one license, which I got via MSDNAA).
The exciting thing is that my processor's p-states are altered: instead of 2.4, 1.2 and 0.6 GHz, the middle one is 900 MHz with a maximum 1.2 V. Pretty wierd, so I'll surely revert to the original eventually. I attached the output of a python script (hw_pstate_ctrl.py) that I use for checking the p-states.
Sadly, the thermal throttling is still there, and does its thing at the same place too
.
I guess that rules out the microcode update as a solution? Maybe it's the AGESA module that has to be updated?