summaryrefslogtreecommitdiffstats
path: root/resources/utilities/ich9deblob/src/descriptor/descriptor.h
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/descriptor/descriptor.h
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/descriptor/descriptor.h')
-rw-r--r--resources/utilities/ich9deblob/src/descriptor/descriptor.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/resources/utilities/ich9deblob/src/descriptor/descriptor.h b/resources/utilities/ich9deblob/src/descriptor/descriptor.h
index 47a619c..64e381c 100644
--- a/resources/utilities/ich9deblob/src/descriptor/descriptor.h
+++ b/resources/utilities/ich9deblob/src/descriptor/descriptor.h
@@ -46,6 +46,14 @@
/* size of the descriptor in bytes */
#define DESCRIPTORREGIONSIZE 0x1000
+/* ROM image sizes in bytes */
+#define ROMSIZE_512KB 0x80000
+#define ROMSIZE_1MB 0x100000
+#define ROMSIZE_2MB 0x200000
+#define ROMSIZE_4MB 0x400000
+#define ROMSIZE_8MB 0x800000
+#define ROMSIZE_16MB 0x1000000
+
/*
* Related to the flash descriptor
* bits 12(0xC)-24(0x18) are represented for words found in the flash descriptor
@@ -305,11 +313,19 @@ struct DESCRIPTORREGIONRECORD
struct DESCRIPTORREGIONRECORD descriptorHostRegionsUnlocked(struct DESCRIPTORREGIONRECORD descriptorStruct);
struct DESCRIPTORREGIONRECORD descriptorMeRegionsForbidden(struct DESCRIPTORREGIONRECORD descriptorStruct);
-struct DESCRIPTORREGIONRECORD descriptorMePlatformRegionsRemoved(struct DESCRIPTORREGIONRECORD descriptorStruct);
-struct DESCRIPTORREGIONRECORD descriptorDisableMeTpm(struct DESCRIPTORREGIONRECORD descriptorStruct);
+struct DESCRIPTORREGIONRECORD descriptorMeRegionRemoved(struct DESCRIPTORREGIONRECORD descriptorStruct);
+struct DESCRIPTORREGIONRECORD descriptorPlatformRegionRemoved(struct DESCRIPTORREGIONRECORD descriptorStruct);
+struct DESCRIPTORREGIONRECORD descriptorDisableMe(struct DESCRIPTORREGIONRECORD descriptorStruct);
+struct DESCRIPTORREGIONRECORD descriptorDisableTpm(struct DESCRIPTORREGIONRECORD descriptorStruct);
struct DESCRIPTORREGIONRECORD descriptorMoveGbeToStart(struct DESCRIPTORREGIONRECORD descriptorStruct);
+struct DESCRIPTORREGIONRECORD descriptorGbeRegionRemoved(struct DESCRIPTORREGIONRECORD descriptorStruct);
struct DESCRIPTORREGIONRECORD descriptorBiosRegionFillImageAfterGbe(struct DESCRIPTORREGIONRECORD descriptorStruct, unsigned int romSize);
-struct DESCRIPTORREGIONRECORD deblobbedDescriptorStructFromFactory(struct DESCRIPTORREGIONRECORD descriptorStruct, unsigned int romSize);
+struct DESCRIPTORREGIONRECORD descriptorBiosRegionFillImageAfterDescriptor(struct DESCRIPTORREGIONRECORD descriptorStruct, unsigned int romSize);
+struct DESCRIPTORREGIONRECORD descriptorOemString(struct DESCRIPTORREGIONRECORD descriptorStruct);
+int descriptorDefinesGbeRegion(struct DESCRIPTORREGIONRECORD descriptorStruct);
+struct DESCRIPTORREGIONRECORD librebootSetGbeBiosDescriptorRegions(struct DESCRIPTORREGIONRECORD descriptorStruct, unsigned int romSize);
+uint8_t componentDensity(unsigned int romSizeInBytes);
+struct DESCRIPTORREGIONRECORD librebootDescriptorStructFromFactory(struct DESCRIPTORREGIONRECORD descriptorStruct, unsigned int romSize);
int notCreatedHFileForDescriptorCFile(char* outFileName, char* cFileName);
int notCreatedCFileFromDescriptorStruct(struct DESCRIPTORREGIONRECORD descriptorStruct, char* outFileName, char* headerFileName);
void printDescriptorRegionLocations(struct DESCRIPTORREGIONRECORD descriptorStruct, char* romName);