From 884174a4fd76dbd69f8c7ce85762dad78ea8bf2e Mon Sep 17 00:00:00 2001 From: Francis Rowe Date: Mon, 22 Dec 2014 06:26:10 -0500 Subject: ich9deblob (ich9gbe.c): make Gbe struct two parts: main and backup --- (limited to 'resources/utilities/ich9deblob') diff --git a/resources/utilities/ich9deblob/ich9gbe.c b/resources/utilities/ich9deblob/ich9gbe.c index b6d279b..02908e0 100644 --- a/resources/utilities/ich9deblob/ich9gbe.c +++ b/resources/utilities/ich9deblob/ich9gbe.c @@ -1,5 +1,6 @@ /* * ich9gbe.c + * This file is part of the ich9deblob utility from the libreboot project * * Copyright (C) 2014 Francis Rowe * @@ -16,18 +17,27 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + +// Purpose: provide struct representing gbe region. +// Map actual buffers of this regions, directly to instances of these +// structs. This makes working with gbe really easy. + +// bit fields used, corresponding to datasheet. See links to datasheets +// and documentation in ich9deblob.c -struct GBEREGIONRECORD { +struct GBEREGIONRECORD_4K { unsigned char macAddress[6]; // 0x03 words, or 0x06 bytes unsigned char otherStuff[120]; // 0x3c words, or 0x7E bytes unsigned short checkSum; // when added to the sum of all words above, this should be 0xBABA unsigned char padding1[3968]; +} + +// main and backup region in gbe +struct GBEREGIONRECORD_8K { + GBEREGIONRECORD_4K main; + GBEREGIONRECORD_4K backup; // Backup region: // This is actually "main" on X200, since the real main has a bad checksum // and other errors. You should do what you need on this one (if modifying // lenovobios's gbe region) and then copy to main - unsigned char macAddress2[6]; // ditto - unsigned char otherStuff2[120]; // ditto - unsigned short checkSum2; // ditto - unsigned char padding2[3968]; }; -- cgit v0.9.1