Author: stepan Date: 2009-07-22 03:11:37 +0200 (Wed, 22 Jul 2009) New Revision: 4461
Modified: trunk/coreboot-v2/src/arch/i386/boot/acpi.c trunk/coreboot-v2/src/arch/i386/include/arch/acpi.h trunk/coreboot-v2/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c trunk/coreboot-v2/src/mainboard/gigabyte/m57sli/Config.lb trunk/coreboot-v2/src/mainboard/gigabyte/m57sli/acpi_tables.c trunk/coreboot-v2/src/mainboard/intel/eagleheights/acpi_tables.c trunk/coreboot-v2/src/mainboard/via/epia-m700/acpi_tables.c trunk/coreboot-v2/src/mainboard/via/epia-n/acpi_tables.c trunk/coreboot-v2/src/northbridge/amd/amdfam10/amdfam10_acpi.c Log: Fix up the tree again...
* acpi_add_table requires a pointer to the RSDP, not the RSDT anymore, in order to properly support XSDT generation. * fix compilation the DSDT on gigabyte/m57sli * drop a remaining, forgotten HPET_NAME for "HPET"
Signed-off-by: Stefan Reinauer stepan@coresystems.de Acked-by: Stefan Reinauer stepan@coresystems.de
Modified: trunk/coreboot-v2/src/arch/i386/boot/acpi.c =================================================================== --- trunk/coreboot-v2/src/arch/i386/boot/acpi.c 2009-07-21 22:15:43 UTC (rev 4460) +++ trunk/coreboot-v2/src/arch/i386/boot/acpi.c 2009-07-22 01:11:37 UTC (rev 4461) @@ -341,7 +341,7 @@ memset((void *)hpet, 0, sizeof(acpi_hpet_t)); /* fill out header fields */ - memcpy(header->signature, HPET_NAME, 4); + memcpy(header->signature, "HPET", 4); memcpy(header->oem_id, OEM_ID, 6); memcpy(header->oem_table_id, ACPI_TABLE_CREATOR, 8); memcpy(header->asl_compiler_id, ASLC, 4);
Modified: trunk/coreboot-v2/src/arch/i386/include/arch/acpi.h =================================================================== --- trunk/coreboot-v2/src/arch/i386/include/arch/acpi.h 2009-07-21 22:15:43 UTC (rev 4460) +++ trunk/coreboot-v2/src/arch/i386/include/arch/acpi.h 2009-07-22 01:11:37 UTC (rev 4461) @@ -389,7 +389,7 @@
#endif
-unsigned long acpi_add_ssdt_pstates(acpi_rsdt_t *rsdt, unsigned long current); +unsigned long acpi_add_ssdt_pstates(acpi_rsdp_t *rsdp, unsigned long current);
#define ACPI_WRITE_MADT_IOAPIC(dev,id) \ do { \
Modified: trunk/coreboot-v2/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c =================================================================== --- trunk/coreboot-v2/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c 2009-07-21 22:15:43 UTC (rev 4460) +++ trunk/coreboot-v2/src/mainboard/amd/serengeti_cheetah_fam10/acpi_tables.c 2009-07-22 01:11:37 UTC (rev 4461) @@ -274,7 +274,7 @@ acpi_add_table(rsdp,ssdt);
printk_debug("ACPI: * SSDT for PState at %lx\n", current); - current = acpi_add_ssdt_pstates(rsdt, current); + current = acpi_add_ssdt_pstates(rsdp, current);
#if CONFIG_ACPI_SSDTX_NUM >= 1
Modified: trunk/coreboot-v2/src/mainboard/gigabyte/m57sli/Config.lb =================================================================== --- trunk/coreboot-v2/src/mainboard/gigabyte/m57sli/Config.lb 2009-07-21 22:15:43 UTC (rev 4460) +++ trunk/coreboot-v2/src/mainboard/gigabyte/m57sli/Config.lb 2009-07-22 01:11:37 UTC (rev 4461) @@ -170,8 +170,8 @@ object acpi_tables.o makerule dsdt.c depends "$(CONFIG_MAINBOARD)/dsdt.asl" - action "iasl -p $(PWD)/dsdt -tc $(CONFIG_MAINBOARD)/dsdt.asl" - action "mv dsdt.hex dsdt.c" + action "iasl -p dsdt -tc $(CONFIG_MAINBOARD)/dsdt.asl" + action "mv $(CURDIR)/dsdt.hex dsdt.c" end object ./dsdt.o end
Modified: trunk/coreboot-v2/src/mainboard/gigabyte/m57sli/acpi_tables.c =================================================================== --- trunk/coreboot-v2/src/mainboard/gigabyte/m57sli/acpi_tables.c 2009-07-21 22:15:43 UTC (rev 4460) +++ trunk/coreboot-v2/src/mainboard/gigabyte/m57sli/acpi_tables.c 2009-07-22 01:11:37 UTC (rev 4461) @@ -130,7 +130,7 @@ /* Clear all table memory. */ memset((void *) start, 0, current - start);
- acpi_write_rsdp(rsdp, rsdt); + acpi_write_rsdp(rsdp, rsdt, NULL); acpi_write_rsdt(rsdt);
/* We explicitly add these tables later on: */ @@ -156,39 +156,39 @@ current += sizeof(acpi_fadt_t);
acpi_create_fadt(fadt, facs, dsdt); - acpi_add_table(rsdt, fadt); + acpi_add_table(rsdp, fadt);
printk_debug("ACPI: * HPET\n"); hpet = (acpi_hpet_t *) current; current += sizeof(acpi_hpet_t); acpi_create_hpet(hpet); - acpi_add_table(rsdt, hpet); + acpi_add_table(rsdp, hpet);
/* If we want to use HPET timers Linux wants an MADT. */ printk_debug("ACPI: * MADT\n"); madt = (acpi_madt_t *) current; acpi_create_madt(madt); current += madt->header.length; - acpi_add_table(rsdt, madt); + acpi_add_table(rsdp, madt);
printk_debug("ACPI: * MCFG\n"); mcfg = (acpi_mcfg_t *) current; acpi_create_mcfg(mcfg); current += mcfg->header.length; - acpi_add_table(rsdt, mcfg); + acpi_add_table(rsdp, mcfg);
printk_debug("ACPI: * SRAT\n"); srat = (acpi_srat_t *) current; acpi_create_srat(srat); current += srat->header.length; - acpi_add_table(rsdt, srat); + acpi_add_table(rsdp, srat);
/* SLIT */ printk_debug("ACPI: * SLIT\n"); slit = (acpi_slit_t *) current; acpi_create_slit(slit); current+=slit->header.length; - acpi_add_table(rsdt,slit); + acpi_add_table(rsdp, slit);
/* SSDT */ printk_debug("ACPI: * SSDT\n"); @@ -196,7 +196,7 @@
acpi_create_ssdt_generator(ssdt, "DYNADATA"); current += ssdt->length; - acpi_add_table(rsdt, ssdt); + acpi_add_table(rsdp, ssdt);
printk_info("ACPI: done.\n"); return current;
Modified: trunk/coreboot-v2/src/mainboard/intel/eagleheights/acpi_tables.c =================================================================== --- trunk/coreboot-v2/src/mainboard/intel/eagleheights/acpi_tables.c 2009-07-21 22:15:43 UTC (rev 4460) +++ trunk/coreboot-v2/src/mainboard/intel/eagleheights/acpi_tables.c 2009-07-22 01:11:37 UTC (rev 4461) @@ -169,7 +169,7 @@ /* clear all table memory */ memset((void *) start, 0, current - start);
- acpi_write_rsdp(rsdp, rsdt); + acpi_write_rsdp(rsdp, rsdt, NULL); acpi_write_rsdt(rsdt);
/* @@ -181,7 +181,7 @@ current += sizeof(acpi_hpet_t); ALIGN_CURRENT; acpi_create_intel_hpet(hpet); - acpi_add_table(rsdt, hpet); + acpi_add_table(rsdp, hpet);
/* If we want to use HPET Timers Linux wants an MADT */ printk_debug("ACPI: * MADT\n"); @@ -190,14 +190,14 @@ acpi_create_madt(madt); current += madt->header.length; ALIGN_CURRENT; - acpi_add_table(rsdt, madt); + acpi_add_table(rsdp, madt);
printk_debug("ACPI: * MCFG\n"); mcfg = (acpi_mcfg_t *) current; acpi_create_mcfg(mcfg); current += mcfg->header.length; ALIGN_CURRENT; - acpi_add_table(rsdt, mcfg); + acpi_add_table(rsdp, mcfg);
printk_debug("ACPI: * FACS\n"); facs = (acpi_facs_t *) current; @@ -220,7 +220,7 @@ ALIGN_CURRENT;
acpi_create_fadt(fadt, facs, dsdt); - acpi_add_table(rsdt, fadt); + acpi_add_table(rsdp, fadt);
printk_info("ACPI: done.\n"); return current;
Modified: trunk/coreboot-v2/src/mainboard/via/epia-m700/acpi_tables.c =================================================================== --- trunk/coreboot-v2/src/mainboard/via/epia-m700/acpi_tables.c 2009-07-21 22:15:43 UTC (rev 4460) +++ trunk/coreboot-v2/src/mainboard/via/epia-m700/acpi_tables.c 2009-07-22 01:11:37 UTC (rev 4461) @@ -147,7 +147,7 @@ /* Clear all table memory. */ memset((void *)start, 0, current - start);
- acpi_write_rsdp(rsdp, rsdt); + acpi_write_rsdp(rsdp, rsdt, NULL); acpi_write_rsdt(rsdt);
/* We explicitly add these tables later on: */ @@ -171,14 +171,14 @@ current += sizeof(acpi_fadt_t);
acpi_create_fadt(fadt, facs, dsdt); - acpi_add_table(rsdt, fadt); + acpi_add_table(rsdp, fadt);
/* If we want to use HPET timers Linux wants it in MADT. */ printk_debug("ACPI: * MADT\n"); madt = (acpi_madt_t *) current; acpi_create_madt(madt); current += madt->header.length; - acpi_add_table(rsdt, madt); + acpi_add_table(rsdp, madt);
/* NO MCFG in VX855, no PCI-E. */
@@ -186,7 +186,7 @@ hpet = (acpi_mcfg_t *) current; acpi_create_hpet(hpet); current += hpet->header.length; - acpi_add_table(rsdt, hpet); + acpi_add_table(rsdp, hpet);
#if 0 printk_debug("ACPI: * SSDT\n"); @@ -195,7 +195,7 @@ memcpy((void *)ssdt,(void *)AmlCode_ssdt, ((acpi_header_t *)AmlCode_ssdt)->length); ssdt->checksum = 0; /* Don't trust iasl to get this right. */ ssdt->checksum = acpi_checksum(ssdt, ssdt->length); - acpi_add_table(rsdt, ssdt); + acpi_add_table(rsdp, ssdt); printk_debug("ACPI: * SSDT @ %08x Length %x\n", ssdt, ssdt->length); #endif
Modified: trunk/coreboot-v2/src/mainboard/via/epia-n/acpi_tables.c =================================================================== --- trunk/coreboot-v2/src/mainboard/via/epia-n/acpi_tables.c 2009-07-21 22:15:43 UTC (rev 4460) +++ trunk/coreboot-v2/src/mainboard/via/epia-n/acpi_tables.c 2009-07-22 01:11:37 UTC (rev 4461) @@ -63,7 +63,7 @@ /* clear all table memory */ memset((void *)start, 0, current - start); - acpi_write_rsdp(rsdp, rsdt); + acpi_write_rsdp(rsdp, rsdt, NULL); acpi_write_rsdt(rsdt); /* @@ -86,7 +86,7 @@ current += sizeof(acpi_fadt_t);
acpi_create_fadt(fadt,facs,dsdt); - acpi_add_table(rsdt,fadt); + acpi_add_table(rsdp,fadt);
printk_info("ACPI: done.\n"); return current;
Modified: trunk/coreboot-v2/src/northbridge/amd/amdfam10/amdfam10_acpi.c =================================================================== --- trunk/coreboot-v2/src/northbridge/amd/amdfam10/amdfam10_acpi.c 2009-07-21 22:15:43 UTC (rev 4460) +++ trunk/coreboot-v2/src/northbridge/amd/amdfam10/amdfam10_acpi.c 2009-07-22 01:11:37 UTC (rev 4461) @@ -312,7 +312,7 @@ extern unsigned char AmlCode_sspr1[];
/* fixme: find one good way for different p_state_num */ -unsigned long acpi_add_ssdt_pstates(acpi_rsdt_t *rsdt, unsigned long current) +unsigned long acpi_add_ssdt_pstates(acpi_rsdp_t *rsdp, unsigned long current) { device_t cpu; int cpu_index = 0; @@ -348,7 +348,7 @@ /* recalculate checksum */ ssdt->checksum = 0; ssdt->checksum = acpi_checksum((unsigned char *)ssdt,ssdt->length); - acpi_add_table(rsdt,ssdt); + acpi_add_table(rsdp, ssdt);
cpu_index++; }