summaryrefslogtreecommitdiffstats
path: root/resources/utilities/ich9deblob/src/ich9gen.c
diff options
context:
space:
mode:
authorLeah Woods <info@minifree.org>2015-07-18 19:31:16 (EDT)
committer Leah Woods <info@minifree.org>2016-05-18 10:15:26 (EDT)
commit12e695ec7b160b1cc62831838244454b7edd03d3 (patch)
tree7821900fe16ece180a021957371a7c0b798922dd /resources/utilities/ich9deblob/src/ich9gen.c
parent919af0e6b7cbff2171d370a0b830f2b9d740410b (diff)
downloadlibreboot-12e695ec7b160b1cc62831838244454b7edd03d3.zip
libreboot-12e695ec7b160b1cc62831838244454b7edd03d3.tar.gz
libreboot-12e695ec7b160b1cc62831838244454b7edd03d3.tar.bz2
New board: ThinkPad R500 (experimental)r500-experimental
The ich9deblob and ich9gen utilities were modified, so that they support reading and/or writing descriptor images where the GbE region is not defined. These utilities were also re-factored and tidied up a bit. A quick was noticed during the course of this work, in that Compenent 1 Density was being set to 8MiB constantly, even on systems with 4MiB flash chips. Component 2 Density was set statically to 2MiB. ich9gen now sets both to 4MiB or 8MiB, depending on whether building the descriptor for a 4MiB or 8MiB ROM image. There are still some ACPI bugs (see docs/hcl/r500.html), which will have to be fixed upstream. TODO: get hw reg dumps from a factory R500, and compare with the X200 or T400 dumps.
Diffstat (limited to 'resources/utilities/ich9deblob/src/ich9gen.c')
-rw-r--r--resources/utilities/ich9deblob/src/ich9gen.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/resources/utilities/ich9deblob/src/ich9gen.c b/resources/utilities/ich9deblob/src/ich9gen.c
index d07c550..df5da79 100644
--- a/resources/utilities/ich9deblob/src/ich9gen.c
+++ b/resources/utilities/ich9deblob/src/ich9gen.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014 Francis Rowe <info@gluglug.org.uk>
+ * Copyright (C) 2014, 2015 Francis Rowe <info@gluglug.org.uk>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -25,8 +25,10 @@ int main(int argc, char *argv[])
int i, j;
struct GBEREGIONRECORD_8K gbeStruct8k = generatedGbeStruct8k();
- struct DESCRIPTORREGIONRECORD descriptorStruct4M = generatedDescriptorStructRom4M();
- struct DESCRIPTORREGIONRECORD descriptorStruct8M = generatedDescriptorStructRom8M();
+ struct DESCRIPTORREGIONRECORD descriptorStruct4M = generatedDescriptorStruct(ROMSIZE_4MB, WITHGBE);
+ struct DESCRIPTORREGIONRECORD descriptorStruct8M = generatedDescriptorStruct(ROMSIZE_8MB, WITHGBE);
+ struct DESCRIPTORREGIONRECORD descriptorStructNoGbe4M = generatedDescriptorStruct(ROMSIZE_4MB, WITHOUTGBE);
+ struct DESCRIPTORREGIONRECORD descriptorStructNoGbe8M = generatedDescriptorStruct(ROMSIZE_8MB, WITHOUTGBE);
/* Only for the compatibility checks */
struct DESCRIPTORREGIONRECORD dummyDescriptorStruct;
@@ -120,5 +122,20 @@ int main(int argc, char *argv[])
return 1;
}
+ /*
+ * ------------------------------------------------------------------
+ * Generate the 4KiB files (descriptors without GbE), ready to be used in a libreboot image
+ * In these descriptors, the onboard Intel GbE NIC is disabled; a discrete one is used instead
+ * ------------------------------------------------------------------
+ */
+
+ if (notCreated4kDescriptorFile(descriptorStructNoGbe4M, "ich9fdnogbe_4m.bin")) {
+ return 1;
+ }
+
+ if (notCreated4kDescriptorFile(descriptorStructNoGbe8M, "ich9fdnogbe_8m.bin")) {
+ return 1;
+ }
+
return 0;
}