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@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);