aboutsummaryrefslogtreecommitdiff
path: root/resources/utilities
diff options
context:
space:
mode:
authorFrancis Rowe <info@gluglug.org.uk>2014-12-22 11:26:10 +0000
committerFrancis Rowe <info@gluglug.org.uk>2014-12-22 11:28:24 +0000
commit884174a4fd76dbd69f8c7ce85762dad78ea8bf2e (patch)
tree57ad7f795f3a767577a8551ac244f56b5079e84b /resources/utilities
parentdf462c2336dd90af9b55b61cbac8c75efc98e07a (diff)
downloadlibrebootfr-884174a4fd76dbd69f8c7ce85762dad78ea8bf2e.tar.gz
librebootfr-884174a4fd76dbd69f8c7ce85762dad78ea8bf2e.zip
ich9deblob (ich9gbe.c): make Gbe struct two parts: main and backup
Diffstat (limited to 'resources/utilities')
-rw-r--r--resources/utilities/ich9deblob/ich9gbe.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/resources/utilities/ich9deblob/ich9gbe.c b/resources/utilities/ich9deblob/ich9gbe.c
index b6d279b4..02908e01 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 <info@gluglug.org.uk>
*
@@ -16,18 +17,27 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+
+// 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];
};