diff options
author | Francis Rowe <info@gluglug.org.uk> | 2014-12-22 06:38:48 (EST) |
---|---|---|
committer | Francis Rowe <info@gluglug.org.uk> | 2014-12-22 06:38:48 (EST) |
commit | 479940cf1b7b166dd6884a996f7ade7e2b216de9 (patch) | |
tree | 8aaf1d655330570c8b8012bb95b3bb9d8f3325be /resources/utilities/ich9deblob/ich9deblob.c | |
parent | c987b4792097c5dbd2e629456d2ee1bf559d14a2 (diff) | |
download | libreboot-479940cf1b7b166dd6884a996f7ade7e2b216de9.zip libreboot-479940cf1b7b166dd6884a996f7ade7e2b216de9.tar.gz libreboot-479940cf1b7b166dd6884a996f7ade7e2b216de9.tar.bz2 |
ich9deblob: correct error in comment (regarding main/backup gbe)
Diffstat (limited to 'resources/utilities/ich9deblob/ich9deblob.c')
-rw-r--r-- | resources/utilities/ich9deblob/ich9deblob.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/resources/utilities/ich9deblob/ich9deblob.c b/resources/utilities/ich9deblob/ich9deblob.c index ab347c6..05ba4e0 100644 --- a/resources/utilities/ich9deblob/ich9deblob.c +++ b/resources/utilities/ich9deblob/ich9deblob.c @@ -245,12 +245,10 @@ int main(int argc, char *argv[]) // ------------------------------------------------------------------------------------- // calculate the 0x3F'th 16-bit uint to make the desired final checksum for GBe - // observed values (from actual factory.rom dumps) 0xBABA 0x3ABA 0x34BA. spec defined as 0xBABA. - // theoretically, this could be any l33t speak variation of BABA, eg 3434 or BA34, and so on, but this is untested. so far. - // 40BA was also observed in another factory dump for another X200 - this is l33t speak for aoba, not baba.... - // maybe only the 8 least significant bits are checked? or something deeper than that - // it will need to be tested if those gbe regions that use something other than baba - // will also work with the checksum changed to match baba (per datasheets) + // observed checksum matches (from X200 factory.rom dumps) on main: 0x3ABA 0x34BA 0x40BA. spec defined as 0xBABA. + // X200 ships with a broken main gbe region by default (invalid checksum, and more) + // The "backup" gbe regions on these machines are correct, though, and is what the machines default to + // For libreboot's purpose, we can do much better than that by fixing the main one... unsigned short gbeCalculatedChecksum = GetChecksum(factoryGbeBuffer, 0xBABA, 0); // get the actual 0x3F'th 16-bit uint that was already in the supplied (pre-compiled) region data unsigned short gbeChecksum = GetRegionWord(0x3F, factoryGbeBuffer); // from the original factory.rom |