[coreboot] What is the difference between fadt rev 3 and rev 1

Scott Duplichan scott at notabs.org
Fri Jan 21 17:48:31 CET 2011


]Hello!
]Scott I must say this is great work so far. But what is this "checked
]build of Windows 7" you are working with here? What does it do
]differently say then what this one year old laptop is running?
]
]-----
]Gregg C Levine gregg.drwho8 at gmail.com
]"This signature fought the Time Wars, time and again."

Hello Greg,

The Win7 checked build includes several features that trade performance
for debug capability, when compared to the normal release build. One
item the checked build includes is enabling of many ASSERT() calls. The
Win7 checked build FADT fail is from an ASSERT(). It finds the FADT header
rev field states 3.0, yet the FADT header length field matches 1.0. All
OS release versions accept this inconsistency. I wanted to resolve it
because the checked build is useful when debugging Win7 problems with
coreboot. That ASSERT fail makes it next to impossible to run the Win7
checked build with coreboot.

When thwe FADT rev and length are inconsistent in this way, what does 
the OS do? possibilities are:

1) Ignore the FADT
2) Treat it as FADT 1.0
3) Treat it as FADT 3.0

Apparently linux treats the FADT as 3.0 in this situation. I am not
sure how Windows handles it. A possible experiment is to change the
FADT rev and length so that they both match rev 1.0. Another is to
keep it as 3.0, and double check the values of the new items it the
3.0 table.

Thanks,
Scott








More information about the coreboot mailing list