summaryrefslogtreecommitdiffstats
path: root/resources/utilities/ich9deblob/ich9deblob.c
diff options
context:
space:
mode:
authorFrancis Rowe <info@gluglug.org.uk>2014-12-25 15:20:54 (EST)
committer Francis Rowe <info@gluglug.org.uk>2014-12-25 15:20:54 (EST)
commit8141031b0bcb050ea57abc717ec0c5b14d95ee25 (patch)
tree2d55df4b2d3736cad8e9bae57a403520a59e5eee /resources/utilities/ich9deblob/ich9deblob.c
parentaa5ab59846cd8fce7e78f67244b962fcbd19f175 (diff)
downloadlibreboot-8141031b0bcb050ea57abc717ec0c5b14d95ee25.zip
libreboot-8141031b0bcb050ea57abc717ec0c5b14d95ee25.tar.gz
libreboot-8141031b0bcb050ea57abc717ec0c5b14d95ee25.tar.bz2
ich9deblob: move 12k descriptor gbe file creation to new file
Diffstat (limited to 'resources/utilities/ich9deblob/ich9deblob.c')
-rw-r--r--resources/utilities/ich9deblob/ich9deblob.c39
1 files changed, 3 insertions, 36 deletions
diff --git a/resources/utilities/ich9deblob/ich9deblob.c b/resources/utilities/ich9deblob/ich9deblob.c
index 7609bb4..fafa9a2 100644
--- a/resources/utilities/ich9deblob/ich9deblob.c
+++ b/resources/utilities/ich9deblob/ich9deblob.c
@@ -46,6 +46,7 @@
#include <stdio.h>
#include <string.h>
+#include "common/common.h" /* common functions used by ich9deblob */
#include "descriptor/descriptor.h" /* structs describing what's in the descriptor region */
#include "gbe/gbe.h" /* structs describing what's in the gbe region */
#include "x86compatibility.h" /* system/compiler compatibility checks. This code is not portable. */
@@ -58,7 +59,6 @@ int main(int argc, char *argv[])
*/
char factoryDescriptorBuffer[DESCRIPTORREGIONSIZE];
struct DESCRIPTORREGIONRECORD factoryDescriptorStruct;
- char deblobbedDescriptorBuffer[DESCRIPTORREGIONSIZE];
struct DESCRIPTORREGIONRECORD deblobbedDescriptorStruct;
/*
@@ -67,7 +67,6 @@ int main(int argc, char *argv[])
*/
char factoryGbeBuffer8k[GBEREGIONSIZE_8K];
struct GBEREGIONRECORD_8K factoryGbeStruct8k;
- char deblobbedGbeBuffer8k[GBEREGIONSIZE_8K];
struct GBEREGIONRECORD_8K deblobbedGbeStruct8k;
/*
@@ -220,42 +219,10 @@ int main(int argc, char *argv[])
* ------------------------------------------------------------------
*/
- /*
- * Convert the deblobbed descriptor and gbe back to byte arrays, so that they
- * can more easily be written to files:
- * deblobbed descriptor region
- */
- memcpy(&deblobbedDescriptorBuffer, &deblobbedDescriptorStruct, DESCRIPTORREGIONSIZE); /* descriptor */
- memcpy(&deblobbedGbeBuffer8k, &deblobbedGbeStruct8k, GBEREGIONSIZE_8K); /* gbe */
-
- /* delete old file before continuing */
- remove(deblobbedDescriptorFilename);
-
- /* open new file for writing the deblobbed descriptor+gbe */
- fileStream = fopen(deblobbedDescriptorFilename, "ab");
-
- /* write the descriptor region into the first part */
- if (DESCRIPTORREGIONSIZE != fwrite(deblobbedDescriptorBuffer, sizeof(char), DESCRIPTORREGIONSIZE, fileStream))
- {
- printf("\nerror: writing descriptor region failed\n");
- return 1;
- }
-
- /* add gbe to the end of the file */
- if (GBEREGIONSIZE_8K != fwrite(deblobbedGbeBuffer8k, sizeof(char), GBEREGIONSIZE_8K, fileStream))
- {
- printf("\nerror: writing GBe region failed\n");
+ printf("\n");
+ if (notCreatedDescriptorGbeFile(deblobbedDescriptorStruct, deblobbedGbeStruct8k, deblobbedDescriptorFilename)) {
return 1;
}
- fclose(fileStream);
-
- printf("\ndeblobbed descriptor plus gbe successfully created: deblobbed_descriptor.bin \n");
-
- // -------------------------------------------------------------------------------------
-
- printf("\nNow do: dd if=deblobbed_descriptor.bin of=libreboot.rom bs=1 count=12k conv=notrunc");
- printf("\n(in other words, add the modified descriptor+gbe to your ROM image)\n\n");
-
return 0;
}