diff options
author | Francis Rowe <info@gluglug.org.uk> | 2015-07-18 19:31:16 (EDT) |
---|---|---|
committer | Francis Rowe <info@gluglug.org.uk> | 2015-09-20 04:06:27 (EDT) |
commit | d1bb5d6fcc75f07ca6a58b5536906980aff9d253 (patch) | |
tree | 7821900fe16ece180a021957371a7c0b798922dd /resources/utilities/ich9deblob/src/ich9gen.c | |
parent | 919af0e6b7cbff2171d370a0b830f2b9d740410b (diff) | |
download | libreboot-d1bb5d6fcc75f07ca6a58b5536906980aff9d253.zip libreboot-d1bb5d6fcc75f07ca6a58b5536906980aff9d253.tar.gz libreboot-d1bb5d6fcc75f07ca6a58b5536906980aff9d253.tar.bz2 |
New board: ThinkPad 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.c | 23 |
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; } |