Running a checked build of Windows is needed for understanding
its various BIOS related BSODs. Win7 checked build complains
when running coreboot+seabios:
FADT revision inconsistent with length.
Revision: 0x1
Length: 0xf4
Expected Length: 0x74
The following patch solves the problem. Tested on Mahogany_fam10 only.
Signed-off-by: Scott Duplichan <scott(a)notabs.org>
Index: src/southbridge/nvidia/ck804/ck804_fadt.c
===================================================================
--- src/southbridge/nvidia/ck804/ck804_fadt.c (revision 5978)
+++ src/southbridge/nvidia/ck804/ck804_fadt.c (working copy)
@@ -20,10 +20,11 @@
memcpy(header->signature, "FACP", 4);
#ifdef LONG_FADT
header->length = 244;
+ header->revision = 3;
#else
header->length = 0x74;
+ header->revision = 1;
#endif
- header->revision = 1;
memcpy(header->oem_id, "CORE ", 6);
memcpy(header->oem_table_id, "CB-FADT ", 8);
memcpy(header->asl_compiler_id, "IASL", 4);
Index: src/mainboard/iwill/dk8_htx/fadt.c
===================================================================
--- src/mainboard/iwill/dk8_htx/fadt.c (revision 5978)
+++ src/mainboard/iwill/dk8_htx/fadt.c (working copy)
@@ -19,7 +19,7 @@
memset((void *)fadt,0,sizeof(acpi_fadt_t));
memcpy(header->signature,"FACP",4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id,OEM_ID,6);
memcpy(header->oem_table_id,"COREBOOT",8);
memcpy(header->asl_compiler_id,ASLC,4);
Index: src/mainboard/asrock/939a785gmh/fadt.c
===================================================================
--- src/mainboard/asrock/939a785gmh/fadt.c (revision 5978)
+++ src/mainboard/asrock/939a785gmh/fadt.c (working copy)
@@ -52,7 +52,7 @@
memset((void *)fadt, 0, sizeof(acpi_fadt_t));
memcpy(header->signature, "FACP", 4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id, OEM_ID, 6);
memcpy(header->oem_table_id, "COREBOOT", 8);
memcpy(header->asl_compiler_id, ASLC, 4);
Index: src/mainboard/kontron/kt690/fadt.c
===================================================================
--- src/mainboard/kontron/kt690/fadt.c (revision 5978)
+++ src/mainboard/kontron/kt690/fadt.c (working copy)
@@ -52,7 +52,7 @@
memset((void *)fadt, 0, sizeof(acpi_fadt_t));
memcpy(header->signature, "FACP", 4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id, OEM_ID, 6);
memcpy(header->oem_table_id, "COREBOOT", 8);
memcpy(header->asl_compiler_id, ASLC, 4);
Index: src/mainboard/gigabyte/ma78gm/fadt.c
===================================================================
--- src/mainboard/gigabyte/ma78gm/fadt.c (revision 5978)
+++ src/mainboard/gigabyte/ma78gm/fadt.c (working copy)
@@ -52,7 +52,7 @@
memset((void *)fadt, 0, sizeof(acpi_fadt_t));
memcpy(header->signature, "FACP", 4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id, OEM_ID, 6);
memcpy(header->oem_table_id, "COREBOOT", 8);
memcpy(header->asl_compiler_id, ASLC, 4);
Index: src/mainboard/gigabyte/ma785gmt/fadt.c
===================================================================
--- src/mainboard/gigabyte/ma785gmt/fadt.c (revision 5978)
+++ src/mainboard/gigabyte/ma785gmt/fadt.c (working copy)
@@ -52,7 +52,7 @@
memset((void *)fadt, 0, sizeof(acpi_fadt_t));
memcpy(header->signature, "FACP", 4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id, OEM_ID, 6);
memcpy(header->oem_table_id, "COREBOOT", 8);
memcpy(header->asl_compiler_id, ASLC, 4);
Index: src/mainboard/amd/mahogany/fadt.c
===================================================================
--- src/mainboard/amd/mahogany/fadt.c (revision 5978)
+++ src/mainboard/amd/mahogany/fadt.c (working copy)
@@ -52,7 +52,7 @@
memset((void *)fadt, 0, sizeof(acpi_fadt_t));
memcpy(header->signature, "FACP", 4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id, OEM_ID, 6);
memcpy(header->oem_table_id, "COREBOOT", 8);
memcpy(header->asl_compiler_id, ASLC, 4);
Index: src/mainboard/amd/pistachio/fadt.c
===================================================================
--- src/mainboard/amd/pistachio/fadt.c (revision 5978)
+++ src/mainboard/amd/pistachio/fadt.c (working copy)
@@ -52,7 +52,7 @@
memset((void *)fadt, 0, sizeof(acpi_fadt_t));
memcpy(header->signature, "FACP", 4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id, OEM_ID, 6);
memcpy(header->oem_table_id, "COREBOOT", 8);
memcpy(header->asl_compiler_id, ASLC, 4);
Index: src/mainboard/amd/dbm690t/fadt.c
===================================================================
--- src/mainboard/amd/dbm690t/fadt.c (revision 5978)
+++ src/mainboard/amd/dbm690t/fadt.c (working copy)
@@ -52,7 +52,7 @@
memset((void *)fadt, 0, sizeof(acpi_fadt_t));
memcpy(header->signature, "FACP", 4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id, OEM_ID, 6);
memcpy(header->oem_table_id, "COREBOOT", 8);
memcpy(header->asl_compiler_id, ASLC, 4);
Index: src/mainboard/amd/serengeti_cheetah/fadt.c
===================================================================
--- src/mainboard/amd/serengeti_cheetah/fadt.c (revision 5978)
+++ src/mainboard/amd/serengeti_cheetah/fadt.c (working copy)
@@ -19,7 +19,7 @@
memset((void *)fadt,0,sizeof(acpi_fadt_t));
memcpy(header->signature,"FACP",4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id,OEM_ID,6);
memcpy(header->oem_table_id,"COREBOOT",8);
memcpy(header->asl_compiler_id,ASLC,4);
Index: src/mainboard/amd/mahogany_fam10/fadt.c
===================================================================
--- src/mainboard/amd/mahogany_fam10/fadt.c (revision 5978)
+++ src/mainboard/amd/mahogany_fam10/fadt.c (working copy)
@@ -52,7 +52,7 @@
memset((void *)fadt, 0, sizeof(acpi_fadt_t));
memcpy(header->signature, "FACP", 4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id, OEM_ID, 6);
memcpy(header->oem_table_id, "COREBOOT", 8);
memcpy(header->asl_compiler_id, ASLC, 4);
Index: src/mainboard/amd/tilapia_fam10/fadt.c
===================================================================
--- src/mainboard/amd/tilapia_fam10/fadt.c (revision 5978)
+++ src/mainboard/amd/tilapia_fam10/fadt.c (working copy)
@@ -52,7 +52,7 @@
memset((void *)fadt, 0, sizeof(acpi_fadt_t));
memcpy(header->signature, "FACP", 4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id, OEM_ID, 6);
memcpy(header->oem_table_id, "COREBOOT", 8);
memcpy(header->asl_compiler_id, ASLC, 4);
Index: src/mainboard/amd/serengeti_cheetah_fam10/fadt.c
===================================================================
--- src/mainboard/amd/serengeti_cheetah_fam10/fadt.c (revision 5978)
+++ src/mainboard/amd/serengeti_cheetah_fam10/fadt.c (working copy)
@@ -40,7 +40,7 @@
memset((void *)fadt,0,sizeof(acpi_fadt_t));
memcpy(header->signature,"FACP",4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id,OEM_ID,6);
memcpy(header->oem_table_id,"COREBOOT",8);
memcpy(header->asl_compiler_id,ASLC,4);
Index: src/mainboard/iei/kino-780am2-fam10/fadt.c
===================================================================
--- src/mainboard/iei/kino-780am2-fam10/fadt.c (revision 5978)
+++ src/mainboard/iei/kino-780am2-fam10/fadt.c (working copy)
@@ -52,7 +52,7 @@
memset((void *)fadt, 0, sizeof(acpi_fadt_t));
memcpy(header->signature, "FACP", 4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id, OEM_ID, 6);
memcpy(header->oem_table_id, "COREBOOT", 8);
memcpy(header->asl_compiler_id, ASLC, 4);
Index: src/mainboard/via/epia-m700/fadt.c
===================================================================
--- src/mainboard/via/epia-m700/fadt.c (revision 5978)
+++ src/mainboard/via/epia-m700/fadt.c (working copy)
@@ -30,7 +30,7 @@
memset((void *)fadt, 0, sizeof(acpi_fadt_t));
memcpy(header->signature, "FACP", 4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id, "VX800 ", 6);
memcpy(header->oem_table_id, "LNXBACPI", 8);
memcpy(header->asl_compiler_id, "LXB", 8);
Index: src/mainboard/via/vt8454c/fadt.c
===================================================================
--- src/mainboard/via/vt8454c/fadt.c (revision 5978)
+++ src/mainboard/via/vt8454c/fadt.c (working copy)
@@ -29,7 +29,7 @@
memset((void *) fadt, 0, sizeof(acpi_fadt_t));
memcpy(header->signature, "FACP", 4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id, "CX700 ", 6);
memcpy(header->oem_table_id, "COREBOOT", 8);
memcpy(header->asl_compiler_id, "CORE", 4);
Index: src/mainboard/via/epia-m/fadt.c
===================================================================
--- src/mainboard/via/epia-m/fadt.c (revision 5978)
+++ src/mainboard/via/epia-m/fadt.c (working copy)
@@ -31,7 +31,7 @@
memset((void *)fadt,0,sizeof(acpi_fadt_t));
memcpy(header->signature,"FACP",4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id,OEM_ID,6);
memcpy(header->oem_table_id,"COREBOOT",8);
memcpy(header->asl_compiler_id,ASLC,4);
Index: src/mainboard/via/epia-n/fadt.c
===================================================================
--- src/mainboard/via/epia-n/fadt.c (revision 5978)
+++ src/mainboard/via/epia-n/fadt.c (working copy)
@@ -33,7 +33,7 @@
memset((void *)fadt,0,sizeof(acpi_fadt_t));
memcpy(header->signature,"FACP",4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id,OEM_ID,6);
memcpy(header->oem_table_id,"COREBOOT",8);
memcpy(header->asl_compiler_id,ASLC,4);
Index: src/mainboard/jetway/pa78vm5/fadt.c
===================================================================
--- src/mainboard/jetway/pa78vm5/fadt.c (revision 5978)
+++ src/mainboard/jetway/pa78vm5/fadt.c (working copy)
@@ -52,7 +52,7 @@
memset((void *)fadt, 0, sizeof(acpi_fadt_t));
memcpy(header->signature, "FACP", 4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id, OEM_ID, 6);
memcpy(header->oem_table_id, "COREBOOT", 8);
memcpy(header->asl_compiler_id, ASLC, 4);
Index: src/mainboard/technexion/tim8690/fadt.c
===================================================================
--- src/mainboard/technexion/tim8690/fadt.c (revision 5978)
+++ src/mainboard/technexion/tim8690/fadt.c (working copy)
@@ -52,7 +52,7 @@
memset((void *)fadt, 0, sizeof(acpi_fadt_t));
memcpy(header->signature, "FACP", 4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id, OEM_ID, 6);
memcpy(header->oem_table_id, "COREBOOT", 8);
memcpy(header->asl_compiler_id, ASLC, 4);
Index: src/mainboard/technexion/tim5690/fadt.c
===================================================================
--- src/mainboard/technexion/tim5690/fadt.c (revision 5978)
+++ src/mainboard/technexion/tim5690/fadt.c (working copy)
@@ -52,7 +52,7 @@
memset((void *)fadt, 0, sizeof(acpi_fadt_t));
memcpy(header->signature, "FACP", 4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id, OEM_ID, 6);
memcpy(header->oem_table_id, "COREBOOT", 8);
memcpy(header->asl_compiler_id, ASLC, 4);
Index: src/mainboard/intel/eagleheights/fadt.c
===================================================================
--- src/mainboard/intel/eagleheights/fadt.c (revision 5978)
+++ src/mainboard/intel/eagleheights/fadt.c (working copy)
@@ -56,7 +56,7 @@
memset((void *) fadt, 0, sizeof(acpi_fadt_t));
memcpy(header->signature, "FACP", 4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id, "CORE ", 6);
memcpy(header->oem_table_id, "COREBOOT", 8);
memcpy(header->asl_compiler_id, "CORE", 4);
Index: src/mainboard/asus/m4a785-m/fadt.c
===================================================================
--- src/mainboard/asus/m4a785-m/fadt.c (revision 5978)
+++ src/mainboard/asus/m4a785-m/fadt.c (working copy)
@@ -52,7 +52,7 @@
memset((void *)fadt, 0, sizeof(acpi_fadt_t));
memcpy(header->signature, "FACP", 4);
header->length = 244;
- header->revision = 1;
+ header->revision = 3;
memcpy(header->oem_id, OEM_ID, 6);
memcpy(header->oem_table_id, "COREBOOT", 8);
memcpy(header->asl_compiler_id, ASLC, 4);