Forum RSS Feed Follow @ Twitter Follow On Facebook

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[-]
Welcome
You have to register before you can post on our site.

Username:


Password:





[-]
Latest Threads
Toshiba Tecra M11 looking to pay to add ...
Last Post: gryri
Today 04:32 AM
» Replies: 6
» Views: 59
[REQUEST] Bios Unlock Asus ROG GL552VW
Last Post: mrmitrich
Today 01:26 AM
» Replies: 117
» Views: 69084
MSI PRO B650-S Wifi Board
Last Post: Maxinator500
Yesterday 10:46 PM
» Replies: 1
» Views: 47
Lenovo P500 bios modding for xeon v4 pos...
Last Post: drewdavis
Yesterday 09:12 PM
» Replies: 3
» Views: 302
Bios ram table mod
Last Post: Mortazaa
Yesterday 11:35 AM
» Replies: 30
» Views: 10179
[REQUEST] Thinkpad W550s - unhide the CF...
Last Post: Dudu2002
Yesterday 09:34 AM
» Replies: 2
» Views: 160
[REQUEST] Lenovo B590 (H9ETxxWW) Whiteli...
Last Post: Dudu2002
Yesterday 08:29 AM
» Replies: 672
» Views: 197633
HP Pro 3400 (Foxconn 2ABF): New GPU Supp...
Last Post: DeathBringer
Yesterday 08:14 AM
» Replies: 24
» Views: 9613
[REQUEST] Lenovo B590 (H5ETxxWW) Whiteli...
Last Post: haidersa
Yesterday 04:41 AM
» Replies: 274
» Views: 77671
Unable to enable TPM on ASUS laptop afte...
Last Post: averagePedestrian
Yesterday 04:38 AM
» Replies: 0
» Views: 65
About Dudu2002
Last Post: Golima
Yesterday 01:48 AM
» Replies: 0
» Views: 62
[REQUEST] HP Pavilion dv7-3000 (Intel) B...
Last Post: sienkol69
09-15-2024 01:26 PM
» Replies: 75
» Views: 30930
[REQUEST] ASUS FX506HC BIOS Unlock
Last Post: alesha69
09-15-2024 07:10 AM
» Replies: 1
» Views: 398
[REQUEST] Lenovo Y50-70 (9ECNxxWW) White...
Last Post: Dudu2002
09-14-2024 05:28 PM
» Replies: 1773
» Views: 516051
[SOLVED] Toshiba Satellite C660 and T7x0...
Last Post: oggy997
09-14-2024 03:04 PM
» Replies: 47
» Views: 20537
Help with bios update
Last Post: ciruiostar
09-14-2024 12:50 PM
» Replies: 0
» Views: 116
[REQUEST] Asus ROG G35CG Bios Unlock
Last Post: Rinat
09-14-2024 08:08 AM
» Replies: 1
» Views: 375
[QUESTION] Can an ASRock 775V88+ BIOS wo...
Last Post: XPUser2600
09-13-2024 01:06 PM
» Replies: 0
» Views: 117
ECS/MEDION Z170H4-EA add kabylake suppor...
Last Post: DeathBringer
09-13-2024 07:50 AM
» Replies: 1
» Views: 171
HP H-IG41-uATX 45nm microcode update LGA...
Last Post: goldenhill
09-13-2024 01:15 AM
» Replies: 61
» Views: 66671

AWARD BIOS - extracting and rebuilding ACPI tables from module BIN
#1
Hi, first time posting, I hope someone here can help.

BLUF: Please can anyone advise me on how to extract the "ACPITBL.BIN" from a Phoenix/AWARD v6.00PG BIOS into the various AML and ACPI data tables that it contains, and how to reverse the process to compile the ACPI tables into a BIN module that can then be inserted into a BIOS?


Long version:

I have an Intel GM45/ICH9M-E based Jetway NF93R-LF motherboard salvaged from an old network appliance, which I have abused greatly beyond the intent of its designers and which is now running various services on my home network.  It's quite a neat little board, it fits nicely in a very small case and I intend to push it as long as I can rather than replace it if possible.

This board originally came with some anaemic Celeron CPU which I have since upgraded to a slightly less anaemic core 2 extreme (quad) QX9300, which sort of half works so long as I disable the speedstep / cpufreq driver in linux.

Looking at the ACPI SSDT configuration, the BIOS was clearly never intended to run with speedstep active as the _PSS list is gibberish (eg. frequencies at 17.6GHz, nonsense register values etc.).  As a result, with speedstep active the CPU sits locked to 1600MHz and won't scale over this as there are no valid speedstep profiles in the _PSS list.  With cpufreq disabled the cpu runs at spec of 2533MHz when unloaded, but cores drop to 1600MHz when loaded which is a bit counterproductive from a performance standpoint.

I have reverse engineered the DSDT and the 6 SSDTs, and with some detective work, educated guessing and experimentation I have built a valid table of frequency/voltage modes that the CPU will correctly run at.  I can now enable and control speedstep manually by writing the magic values to the relevant CPU model specific registers.  I can also override the BIOS ACPI tables by manually overwriting the DSDT and SSDTs from the OS kernel at boot time, which then works perfectly, though this is a bit clunky to do in linux.

Now that I know for a fact that the board itself is fully capable of running C2D/C2Q CPUs with speedstep, I want to roll my corrected ACPI tables back into the BIOS (which is otherwise fine) and have a fully speedstep-enabled (and properly performing) board with no need for boot-time overrides.

It seems that the ACPI tables live in a BIOS module called "ACPITBL.BIN".  I can extract the file from the BIOS image using CBROM, and I can see that it seems to contain the relevant tables, but I can also see that it seems to be some sort of compressed archive with a header that I don't recognise.  I can't figure out what sort of archive they are compressed into and therefore how to decompress or recompress them.  It doesn't seem to be a simple concatenation (as it has a ~50% compression ratio), nor LHA / LZH which I believe is commonly used for BIOS modules, as it's missing the correct header.  I'm sure the answer must be quite simple, but several evenings of reading have not yielded the answer so can anyone here point me in the right direction?

The first few lines of "ACPITBL.BIN" are shown in the attached image.

Any help much appreciated, thanks.


Attached Files Thumbnail(s)
   
find
quote


Forum Jump:


Users browsing this thread: 4 Guest(s)