Dave Frodin (dave.frodin@se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/1161
-gerrit
commit d2dcdb021028d090187d55132cf9f6da9ff9e21d Author: Dave Frodin dave.frodin@se-eng.com Date: Mon Jul 2 14:31:53 2012 -0600
AMD/Mahogany_Fam10: Allow 64 bit version of Windows to boot.
This removes the HPET from the ACPI tables and fixes the legacy VGA entry.
Change-Id: I632356945ff7886078c87eb179730cc6d569ff0f Signed-off-by: Dave Frodin dave.frodin@se-eng.com --- src/mainboard/amd/mahogany_fam10/acpi_tables.c | 5 ++++- src/mainboard/amd/mahogany_fam10/dsdt.asl | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/mainboard/amd/mahogany_fam10/acpi_tables.c b/src/mainboard/amd/mahogany_fam10/acpi_tables.c index 5e48bbe..503493c 100644 --- a/src/mainboard/amd/mahogany_fam10/acpi_tables.c +++ b/src/mainboard/amd/mahogany_fam10/acpi_tables.c @@ -114,7 +114,7 @@ unsigned long write_acpi_tables(unsigned long start) unsigned long current; acpi_rsdp_t *rsdp; acpi_rsdt_t *rsdt; - acpi_hpet_t *hpet; +/* acpi_hpet_t *hpet; */ acpi_madt_t *madt; acpi_srat_t *srat; acpi_slit_t *slit; @@ -168,6 +168,8 @@ unsigned long write_acpi_tables(unsigned long start) acpi_create_fadt(fadt, facs, dsdt); acpi_add_table(rsdp, fadt);
+#if 0 + having the HPET table present will cause a BSOD in 64 bit version of windows /* * We explicitly add these tables later on: */ @@ -177,6 +179,7 @@ unsigned long write_acpi_tables(unsigned long start) current += sizeof(acpi_hpet_t); acpi_create_hpet(hpet); acpi_add_table(rsdp, hpet); +#endif
/* If we want to use HPET Timers Linux wants an MADT */ current = ALIGN(current, 8); diff --git a/src/mainboard/amd/mahogany_fam10/dsdt.asl b/src/mainboard/amd/mahogany_fam10/dsdt.asl index b7e2a4a..bc67ea3 100644 --- a/src/mainboard/amd/mahogany_fam10/dsdt.asl +++ b/src/mainboard/amd/mahogany_fam10/dsdt.asl @@ -37,7 +37,7 @@ DefinitionBlock ( Name(PBLN, 0x0) /* Length of BIOS area */
Name(PCBA, CONFIG_MMCONF_BASE_ADDRESS) /* Base address of PCIe config space */ - Name(HPBA, 0xFED00000) /* Base address of HPET table */ + /* Name(HPBA, 0xFED00000) causes a BSOD in 64 bit version of windows */ /* Base address of HPET table */
Name(SSFG, 0x0D) /* S1 support: bit 0, S2 Support: bit 1, etc. S0 & S5 assumed */
@@ -933,7 +933,7 @@ DefinitionBlock ( /* DBGO(" to S0\n") */
/* Re-enable HPET */ - Store(1,HPDE) + /* Store(1,HPDE) this will cause a BSOD in 64 bit version of Windows */
/* Restore PCIRST# so it resets USB */ if (LEqual(Arg0,3)){ @@ -1545,9 +1545,9 @@ DefinitionBlock ( 0xF300 /* length */ )
- Memory32Fixed(READWRITE, 0, 0xA0000, BSMM) Memory32Fixed(READONLY, 0x000A0000, 0x00020000, VGAM) /* VGA memory space */ #if 0 + Memory32Fixed(READWRITE, 0, 0xA0000, BSMM) Memory32Fixed(READONLY, 0x000C0000, 0x00020000, EMM1) /* Assume C0000-E0000 empty */ Memory32Fixed(READONLY, 0x000E0000, 0x00020000, RDBS) /* BIOS ROM area */