[coreboot] [v2] r4461 - in trunk/coreboot-v2/src: arch/i386/boot arch/i386/include/arch mainboard/amd/serengeti_cheetah_fam10 mainboard/gigabyte/m57sli mainboard/intel/eagleheights mainboard/via/epia-m700 mainboard/via/epia-n northbridge/amd/amdfam10

svn at coreboot.org svn at coreboot.org
Wed Jul 22 03:11:37 CEST 2009


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 at coresystems.de>
Acked-by: Stefan Reinauer <stepan at 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++;
 	}





More information about the coreboot mailing list