Move the ACPI FACP table to the front of the RSDT list. This is done to work around a Windows XP or Server 2003 setup failure where an error message such as: "An unexpected error (805262864) occurred at line 1768 of d:\xpclient\base\boot\setup\arcdisp.c" occurs. This change updates AMD reference board projects, but could applied to others as well.
Signed-off-by: Scott Duplichan <scott@notabs.org> Acked-by: Marc Jones <marcj303@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6600 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
6c44550df1
commit
20aad25e6e
|
@ -127,6 +127,31 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
acpi_write_rsdp(rsdp, rsdt, NULL);
|
acpi_write_rsdp(rsdp, rsdt, NULL);
|
||||||
acpi_write_rsdt(rsdt);
|
acpi_write_rsdt(rsdt);
|
||||||
|
|
||||||
|
/* DSDT */
|
||||||
|
current = ( current + 0x07) & -0x08;
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT at %lx\n", current);
|
||||||
|
dsdt = (acpi_header_t *)current; // it will used by fadt
|
||||||
|
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
||||||
|
current += dsdt->length;
|
||||||
|
memcpy(dsdt, &AmlCode, dsdt->length);
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n",dsdt,dsdt->length);
|
||||||
|
|
||||||
|
/* FACS */ // it needs 64 bit alignment
|
||||||
|
current = ( current + 0x07) & -0x08;
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FACS at %lx\n", current);
|
||||||
|
facs = (acpi_facs_t *) current; // it will be used by fadt
|
||||||
|
current += sizeof(acpi_facs_t);
|
||||||
|
acpi_create_facs(facs);
|
||||||
|
|
||||||
|
/* FADT */
|
||||||
|
current = ( current + 0x07) & -0x08;
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FADT at %lx\n", current);
|
||||||
|
fadt = (acpi_fadt_t *) current;
|
||||||
|
current += sizeof(acpi_fadt_t);
|
||||||
|
|
||||||
|
acpi_create_fadt(fadt, facs, dsdt);
|
||||||
|
acpi_add_table(rsdp, fadt);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We explicitly add these tables later on:
|
* We explicitly add these tables later on:
|
||||||
*/
|
*/
|
||||||
|
@ -219,31 +244,6 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* DSDT */
|
|
||||||
current = ( current + 0x07) & -0x08;
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT at %lx\n", current);
|
|
||||||
dsdt = (acpi_header_t *)current; // it will used by fadt
|
|
||||||
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
|
||||||
current += dsdt->length;
|
|
||||||
memcpy(dsdt, &AmlCode, dsdt->length);
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n",dsdt,dsdt->length);
|
|
||||||
|
|
||||||
/* FACS */ // it needs 64 bit alignment
|
|
||||||
current = ( current + 0x07) & -0x08;
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FACS at %lx\n", current);
|
|
||||||
facs = (acpi_facs_t *) current; // it will be used by fadt
|
|
||||||
current += sizeof(acpi_facs_t);
|
|
||||||
acpi_create_facs(facs);
|
|
||||||
|
|
||||||
/* FADT */
|
|
||||||
current = ( current + 0x07) & -0x08;
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FADT at %lx\n", current);
|
|
||||||
fadt = (acpi_fadt_t *) current;
|
|
||||||
current += sizeof(acpi_fadt_t);
|
|
||||||
|
|
||||||
acpi_create_fadt(fadt, facs, dsdt);
|
|
||||||
acpi_add_table(rsdp, fadt);
|
|
||||||
|
|
||||||
#if DUMP_ACPI_TABLES == 1
|
#if DUMP_ACPI_TABLES == 1
|
||||||
printk(BIOS_DEBUG, "rsdp\n");
|
printk(BIOS_DEBUG, "rsdp\n");
|
||||||
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
||||||
|
|
|
@ -129,6 +129,27 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
acpi_write_rsdp(rsdp, rsdt, NULL);
|
acpi_write_rsdp(rsdp, rsdt, NULL);
|
||||||
acpi_write_rsdt(rsdt);
|
acpi_write_rsdt(rsdt);
|
||||||
|
|
||||||
|
/* FACS */
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FACS\n");
|
||||||
|
facs = (acpi_facs_t *) current;
|
||||||
|
current += sizeof(acpi_facs_t);
|
||||||
|
acpi_create_facs(facs);
|
||||||
|
|
||||||
|
/* DSDT */
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT\n");
|
||||||
|
dsdt = (acpi_header_t *)current;
|
||||||
|
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
||||||
|
current += dsdt->length;
|
||||||
|
memcpy(dsdt, &AmlCode, dsdt->length);
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n", dsdt, dsdt->length);
|
||||||
|
/* FADT */
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FADT\n");
|
||||||
|
fadt = (acpi_fadt_t *) current;
|
||||||
|
current += sizeof(acpi_fadt_t);
|
||||||
|
|
||||||
|
acpi_create_fadt(fadt, facs, dsdt);
|
||||||
|
acpi_add_table(rsdp, fadt);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We explicitly add these tables later on:
|
* We explicitly add these tables later on:
|
||||||
*/
|
*/
|
||||||
|
@ -153,27 +174,6 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
current += ssdt->length;
|
current += ssdt->length;
|
||||||
acpi_add_table(rsdp, ssdt);
|
acpi_add_table(rsdp, ssdt);
|
||||||
|
|
||||||
/* FACS */
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FACS\n");
|
|
||||||
facs = (acpi_facs_t *) current;
|
|
||||||
current += sizeof(acpi_facs_t);
|
|
||||||
acpi_create_facs(facs);
|
|
||||||
|
|
||||||
/* DSDT */
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT\n");
|
|
||||||
dsdt = (acpi_header_t *)current;
|
|
||||||
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
|
||||||
current += dsdt->length;
|
|
||||||
memcpy(dsdt, &AmlCode, dsdt->length);
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n", dsdt, dsdt->length);
|
|
||||||
/* FADT */
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FADT\n");
|
|
||||||
fadt = (acpi_fadt_t *) current;
|
|
||||||
current += sizeof(acpi_fadt_t);
|
|
||||||
|
|
||||||
acpi_create_fadt(fadt, facs, dsdt);
|
|
||||||
acpi_add_table(rsdp, fadt);
|
|
||||||
|
|
||||||
#if DUMP_ACPI_TABLES == 1
|
#if DUMP_ACPI_TABLES == 1
|
||||||
printk(BIOS_DEBUG, "rsdp\n");
|
printk(BIOS_DEBUG, "rsdp\n");
|
||||||
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
||||||
|
|
|
@ -133,6 +133,31 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
acpi_write_rsdp(rsdp, rsdt, NULL);
|
acpi_write_rsdp(rsdp, rsdt, NULL);
|
||||||
acpi_write_rsdt(rsdt);
|
acpi_write_rsdt(rsdt);
|
||||||
|
|
||||||
|
/* DSDT */
|
||||||
|
current = ( current + 0x07) & -0x08;
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT at %lx\n", current);
|
||||||
|
dsdt = (acpi_header_t *)current; // it will used by fadt
|
||||||
|
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
||||||
|
current += dsdt->length;
|
||||||
|
memcpy(dsdt, &AmlCode, dsdt->length);
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n",dsdt,dsdt->length);
|
||||||
|
|
||||||
|
/* FACS */ // it needs 64 bit alignment
|
||||||
|
current = ( current + 0x07) & -0x08;
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FACS at %lx\n", current);
|
||||||
|
facs = (acpi_facs_t *) current; // it will be used by fadt
|
||||||
|
current += sizeof(acpi_facs_t);
|
||||||
|
acpi_create_facs(facs);
|
||||||
|
|
||||||
|
/* FADT */
|
||||||
|
current = ( current + 0x07) & -0x08;
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FADT at %lx\n", current);
|
||||||
|
fadt = (acpi_fadt_t *) current;
|
||||||
|
current += sizeof(acpi_fadt_t);
|
||||||
|
|
||||||
|
acpi_create_fadt(fadt, facs, dsdt);
|
||||||
|
acpi_add_table(rsdp, fadt);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We explicitly add these tables later on:
|
* We explicitly add these tables later on:
|
||||||
*/
|
*/
|
||||||
|
@ -199,31 +224,6 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * SSDT for PState at %lx\n", current);
|
printk(BIOS_DEBUG, "ACPI: * SSDT for PState at %lx\n", current);
|
||||||
|
|
||||||
/* DSDT */
|
|
||||||
current = ( current + 0x07) & -0x08;
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT at %lx\n", current);
|
|
||||||
dsdt = (acpi_header_t *)current; // it will used by fadt
|
|
||||||
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
|
||||||
current += dsdt->length;
|
|
||||||
memcpy(dsdt, &AmlCode, dsdt->length);
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n",dsdt,dsdt->length);
|
|
||||||
|
|
||||||
/* FACS */ // it needs 64 bit alignment
|
|
||||||
current = ( current + 0x07) & -0x08;
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FACS at %lx\n", current);
|
|
||||||
facs = (acpi_facs_t *) current; // it will be used by fadt
|
|
||||||
current += sizeof(acpi_facs_t);
|
|
||||||
acpi_create_facs(facs);
|
|
||||||
|
|
||||||
/* FADT */
|
|
||||||
current = ( current + 0x07) & -0x08;
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FADT at %lx\n", current);
|
|
||||||
fadt = (acpi_fadt_t *) current;
|
|
||||||
current += sizeof(acpi_fadt_t);
|
|
||||||
|
|
||||||
acpi_create_fadt(fadt, facs, dsdt);
|
|
||||||
acpi_add_table(rsdp, fadt);
|
|
||||||
|
|
||||||
#if DUMP_ACPI_TABLES == 1
|
#if DUMP_ACPI_TABLES == 1
|
||||||
printk(BIOS_DEBUG, "rsdp\n");
|
printk(BIOS_DEBUG, "rsdp\n");
|
||||||
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
||||||
|
|
|
@ -140,6 +140,27 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
acpi_write_rsdp(rsdp, rsdt, NULL);
|
acpi_write_rsdp(rsdp, rsdt, NULL);
|
||||||
acpi_write_rsdt(rsdt);
|
acpi_write_rsdt(rsdt);
|
||||||
|
|
||||||
|
/* FACS */
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FACS\n");
|
||||||
|
facs = (acpi_facs_t *) current;
|
||||||
|
current += sizeof(acpi_facs_t);
|
||||||
|
acpi_create_facs(facs);
|
||||||
|
|
||||||
|
/* DSDT */
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT\n");
|
||||||
|
dsdt = (acpi_header_t *)current;
|
||||||
|
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
||||||
|
current += dsdt->length;
|
||||||
|
memcpy(dsdt, &AmlCode, dsdt->length);
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n", dsdt, dsdt->length);
|
||||||
|
/* FADT */
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FADT\n");
|
||||||
|
fadt = (acpi_fadt_t *) current;
|
||||||
|
current += sizeof(acpi_fadt_t);
|
||||||
|
|
||||||
|
acpi_create_fadt(fadt, facs, dsdt);
|
||||||
|
acpi_add_table(rsdp, fadt);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We explicitly add these tables later on:
|
* We explicitly add these tables later on:
|
||||||
*/
|
*/
|
||||||
|
@ -205,27 +226,6 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* FACS */
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FACS\n");
|
|
||||||
facs = (acpi_facs_t *) current;
|
|
||||||
current += sizeof(acpi_facs_t);
|
|
||||||
acpi_create_facs(facs);
|
|
||||||
|
|
||||||
/* DSDT */
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT\n");
|
|
||||||
dsdt = (acpi_header_t *)current;
|
|
||||||
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
|
||||||
current += dsdt->length;
|
|
||||||
memcpy(dsdt, &AmlCode, dsdt->length);
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n", dsdt, dsdt->length);
|
|
||||||
/* FADT */
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FADT\n");
|
|
||||||
fadt = (acpi_fadt_t *) current;
|
|
||||||
current += sizeof(acpi_fadt_t);
|
|
||||||
|
|
||||||
acpi_create_fadt(fadt, facs, dsdt);
|
|
||||||
acpi_add_table(rsdp, fadt);
|
|
||||||
|
|
||||||
#if DUMP_ACPI_TABLES == 1
|
#if DUMP_ACPI_TABLES == 1
|
||||||
printk(BIOS_DEBUG, "rsdp\n");
|
printk(BIOS_DEBUG, "rsdp\n");
|
||||||
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
||||||
|
|
|
@ -126,6 +126,31 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
acpi_write_rsdp(rsdp, rsdt, NULL);
|
acpi_write_rsdp(rsdp, rsdt, NULL);
|
||||||
acpi_write_rsdt(rsdt);
|
acpi_write_rsdt(rsdt);
|
||||||
|
|
||||||
|
/* DSDT */
|
||||||
|
current = ( current + 0x07) & -0x08;
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT at %lx\n", current);
|
||||||
|
dsdt = (acpi_header_t *)current; // it will used by fadt
|
||||||
|
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
||||||
|
current += dsdt->length;
|
||||||
|
memcpy(dsdt, &AmlCode, dsdt->length);
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n",dsdt,dsdt->length);
|
||||||
|
|
||||||
|
/* FACS */ // it needs 64 bit alignment
|
||||||
|
current = ( current + 0x07) & -0x08;
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FACS at %lx\n", current);
|
||||||
|
facs = (acpi_facs_t *) current; // it will be used by fadt
|
||||||
|
current += sizeof(acpi_facs_t);
|
||||||
|
acpi_create_facs(facs);
|
||||||
|
|
||||||
|
/* FADT */
|
||||||
|
current = ( current + 0x07) & -0x08;
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FADT at %lx\n", current);
|
||||||
|
fadt = (acpi_fadt_t *) current;
|
||||||
|
current += sizeof(acpi_fadt_t);
|
||||||
|
|
||||||
|
acpi_create_fadt(fadt, facs, dsdt);
|
||||||
|
acpi_add_table(rsdp, fadt);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We explicitly add these tables later on:
|
* We explicitly add these tables later on:
|
||||||
*/
|
*/
|
||||||
|
@ -218,31 +243,6 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* DSDT */
|
|
||||||
current = ( current + 0x07) & -0x08;
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT at %lx\n", current);
|
|
||||||
dsdt = (acpi_header_t *)current; // it will used by fadt
|
|
||||||
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
|
||||||
current += dsdt->length;
|
|
||||||
memcpy(dsdt, &AmlCode, dsdt->length);
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n",dsdt,dsdt->length);
|
|
||||||
|
|
||||||
/* FACS */ // it needs 64 bit alignment
|
|
||||||
current = ( current + 0x07) & -0x08;
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FACS at %lx\n", current);
|
|
||||||
facs = (acpi_facs_t *) current; // it will be used by fadt
|
|
||||||
current += sizeof(acpi_facs_t);
|
|
||||||
acpi_create_facs(facs);
|
|
||||||
|
|
||||||
/* FADT */
|
|
||||||
current = ( current + 0x07) & -0x08;
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FADT at %lx\n", current);
|
|
||||||
fadt = (acpi_fadt_t *) current;
|
|
||||||
current += sizeof(acpi_fadt_t);
|
|
||||||
|
|
||||||
acpi_create_fadt(fadt, facs, dsdt);
|
|
||||||
acpi_add_table(rsdp, fadt);
|
|
||||||
|
|
||||||
#if DUMP_ACPI_TABLES == 1
|
#if DUMP_ACPI_TABLES == 1
|
||||||
printk(BIOS_DEBUG, "rsdp\n");
|
printk(BIOS_DEBUG, "rsdp\n");
|
||||||
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
||||||
|
|
|
@ -129,6 +129,31 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
acpi_write_rsdp(rsdp, rsdt, NULL);
|
acpi_write_rsdp(rsdp, rsdt, NULL);
|
||||||
acpi_write_rsdt(rsdt);
|
acpi_write_rsdt(rsdt);
|
||||||
|
|
||||||
|
/* DSDT */
|
||||||
|
current = ( current + 0x07) & -0x08;
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT at %lx\n", current);
|
||||||
|
dsdt = (acpi_header_t *)current; // it will used by fadt
|
||||||
|
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
||||||
|
current += dsdt->length;
|
||||||
|
memcpy(dsdt, &AmlCode, dsdt->length);
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n",dsdt,dsdt->length);
|
||||||
|
|
||||||
|
/* FACS */ // it needs 64 bit alignment
|
||||||
|
current = ( current + 0x07) & -0x08;
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FACS at %lx\n", current);
|
||||||
|
facs = (acpi_facs_t *) current; // it will be used by fadt
|
||||||
|
current += sizeof(acpi_facs_t);
|
||||||
|
acpi_create_facs(facs);
|
||||||
|
|
||||||
|
/* FDAT */
|
||||||
|
current = ( current + 0x07) & -0x08;
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FADT at %lx\n", current);
|
||||||
|
fadt = (acpi_fadt_t *) current;
|
||||||
|
current += sizeof(acpi_fadt_t);
|
||||||
|
|
||||||
|
acpi_create_fadt(fadt, facs, dsdt);
|
||||||
|
acpi_add_table(rsdp, fadt);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We explicitly add these tables later on:
|
* We explicitly add these tables later on:
|
||||||
*/
|
*/
|
||||||
|
@ -193,31 +218,6 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * SSDT for PState at %lx\n", current);
|
printk(BIOS_DEBUG, "ACPI: * SSDT for PState at %lx\n", current);
|
||||||
|
|
||||||
/* DSDT */
|
|
||||||
current = ( current + 0x07) & -0x08;
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT at %lx\n", current);
|
|
||||||
dsdt = (acpi_header_t *)current; // it will used by fadt
|
|
||||||
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
|
||||||
current += dsdt->length;
|
|
||||||
memcpy(dsdt, &AmlCode, dsdt->length);
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n",dsdt,dsdt->length);
|
|
||||||
|
|
||||||
/* FACS */ // it needs 64 bit alignment
|
|
||||||
current = ( current + 0x07) & -0x08;
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FACS at %lx\n", current);
|
|
||||||
facs = (acpi_facs_t *) current; // it will be used by fadt
|
|
||||||
current += sizeof(acpi_facs_t);
|
|
||||||
acpi_create_facs(facs);
|
|
||||||
|
|
||||||
/* FDAT */
|
|
||||||
current = ( current + 0x07) & -0x08;
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FADT at %lx\n", current);
|
|
||||||
fadt = (acpi_fadt_t *) current;
|
|
||||||
current += sizeof(acpi_fadt_t);
|
|
||||||
|
|
||||||
acpi_create_fadt(fadt, facs, dsdt);
|
|
||||||
acpi_add_table(rsdp, fadt);
|
|
||||||
|
|
||||||
#if DUMP_ACPI_TABLES == 1
|
#if DUMP_ACPI_TABLES == 1
|
||||||
printk(BIOS_DEBUG, "rsdp\n");
|
printk(BIOS_DEBUG, "rsdp\n");
|
||||||
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
||||||
|
|
|
@ -129,6 +129,28 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
acpi_write_rsdp(rsdp, rsdt, NULL);
|
acpi_write_rsdp(rsdp, rsdt, NULL);
|
||||||
acpi_write_rsdt(rsdt);
|
acpi_write_rsdt(rsdt);
|
||||||
|
|
||||||
|
/* FACS */
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FACS\n");
|
||||||
|
facs = (acpi_facs_t *) current;
|
||||||
|
current += sizeof(acpi_facs_t);
|
||||||
|
acpi_create_facs(facs);
|
||||||
|
|
||||||
|
/* DSDT */
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT\n");
|
||||||
|
dsdt = (acpi_header_t *) current;
|
||||||
|
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
||||||
|
current += dsdt->length;
|
||||||
|
memcpy(dsdt, &AmlCode, dsdt->length);
|
||||||
|
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n", dsdt, dsdt->length);
|
||||||
|
/* FADT */
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FADT\n");
|
||||||
|
fadt = (acpi_fadt_t *) current;
|
||||||
|
current += sizeof(acpi_fadt_t);
|
||||||
|
|
||||||
|
acpi_create_fadt(fadt, facs, dsdt);
|
||||||
|
acpi_add_table(rsdp, fadt);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We explicitly add these tables later on:
|
* We explicitly add these tables later on:
|
||||||
*/
|
*/
|
||||||
|
@ -153,28 +175,6 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
current += ssdt->length;
|
current += ssdt->length;
|
||||||
acpi_add_table(rsdp, ssdt);
|
acpi_add_table(rsdp, ssdt);
|
||||||
|
|
||||||
/* FACS */
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FACS\n");
|
|
||||||
facs = (acpi_facs_t *) current;
|
|
||||||
current += sizeof(acpi_facs_t);
|
|
||||||
acpi_create_facs(facs);
|
|
||||||
|
|
||||||
/* DSDT */
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT\n");
|
|
||||||
dsdt = (acpi_header_t *) current;
|
|
||||||
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
|
||||||
current += dsdt->length;
|
|
||||||
memcpy(dsdt, &AmlCode, dsdt->length);
|
|
||||||
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n", dsdt, dsdt->length);
|
|
||||||
/* FADT */
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FADT\n");
|
|
||||||
fadt = (acpi_fadt_t *) current;
|
|
||||||
current += sizeof(acpi_fadt_t);
|
|
||||||
|
|
||||||
acpi_create_fadt(fadt, facs, dsdt);
|
|
||||||
acpi_add_table(rsdp, fadt);
|
|
||||||
|
|
||||||
#if DUMP_ACPI_TABLES == 1
|
#if DUMP_ACPI_TABLES == 1
|
||||||
printk(BIOS_DEBUG, "rsdp\n");
|
printk(BIOS_DEBUG, "rsdp\n");
|
||||||
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
||||||
|
|
|
@ -191,6 +191,28 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
acpi_write_rsdp(rsdp, rsdt, NULL);
|
acpi_write_rsdp(rsdp, rsdt, NULL);
|
||||||
acpi_write_rsdt(rsdt);
|
acpi_write_rsdt(rsdt);
|
||||||
|
|
||||||
|
/* FACS */
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FACS\n");
|
||||||
|
facs = (acpi_facs_t *) current;
|
||||||
|
current += sizeof(acpi_facs_t);
|
||||||
|
acpi_create_facs(facs);
|
||||||
|
|
||||||
|
/* DSDT */
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT at %lx\n", current);
|
||||||
|
dsdt = (acpi_header_t *)current;
|
||||||
|
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
||||||
|
current += dsdt->length;
|
||||||
|
memcpy(dsdt, &AmlCode, dsdt->length);
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n", dsdt, dsdt->length);
|
||||||
|
|
||||||
|
/* FADT */
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FADT at %lx\n", current);
|
||||||
|
fadt = (acpi_fadt_t *) current;
|
||||||
|
current += sizeof(acpi_fadt_t);
|
||||||
|
|
||||||
|
acpi_create_fadt(fadt, facs, dsdt);
|
||||||
|
acpi_add_table(rsdp, fadt);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We explicitly add these tables later on:
|
* We explicitly add these tables later on:
|
||||||
*/
|
*/
|
||||||
|
@ -268,28 +290,6 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* FACS */
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FACS\n");
|
|
||||||
facs = (acpi_facs_t *) current;
|
|
||||||
current += sizeof(acpi_facs_t);
|
|
||||||
acpi_create_facs(facs);
|
|
||||||
|
|
||||||
/* DSDT */
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT at %lx\n", current);
|
|
||||||
dsdt = (acpi_header_t *)current;
|
|
||||||
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
|
||||||
current += dsdt->length;
|
|
||||||
memcpy(dsdt, &AmlCode, dsdt->length);
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n", dsdt, dsdt->length);
|
|
||||||
|
|
||||||
/* FADT */
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FADT at %lx\n", current);
|
|
||||||
fadt = (acpi_fadt_t *) current;
|
|
||||||
current += sizeof(acpi_fadt_t);
|
|
||||||
|
|
||||||
acpi_create_fadt(fadt, facs, dsdt);
|
|
||||||
acpi_add_table(rsdp, fadt);
|
|
||||||
|
|
||||||
#if DUMP_ACPI_TABLES == 1
|
#if DUMP_ACPI_TABLES == 1
|
||||||
printk(BIOS_DEBUG, "rsdp\n");
|
printk(BIOS_DEBUG, "rsdp\n");
|
||||||
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
||||||
|
|
|
@ -197,6 +197,31 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
acpi_write_rsdp(rsdp, rsdt, NULL);
|
acpi_write_rsdp(rsdp, rsdt, NULL);
|
||||||
acpi_write_rsdt(rsdt);
|
acpi_write_rsdt(rsdt);
|
||||||
|
|
||||||
|
/* DSDT */
|
||||||
|
current = ( current + 0x07) & -0x08;
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT at %lx\n", current);
|
||||||
|
dsdt = (acpi_header_t *)current;
|
||||||
|
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
||||||
|
current += dsdt->length;
|
||||||
|
memcpy(dsdt, &AmlCode, dsdt->length);
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n", dsdt, dsdt->length);
|
||||||
|
|
||||||
|
/* FACS */ // it needs 64 bit alignment
|
||||||
|
current = ( current + 0x07) & -0x08;
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FACS at %lx\n", current);
|
||||||
|
facs = (acpi_facs_t *) current;
|
||||||
|
current += sizeof(acpi_facs_t);
|
||||||
|
acpi_create_facs(facs);
|
||||||
|
|
||||||
|
/* FADT */
|
||||||
|
current = ( current + 0x07) & -0x08;
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FADT at %lx\n", current);
|
||||||
|
fadt = (acpi_fadt_t *) current;
|
||||||
|
current += sizeof(acpi_fadt_t);
|
||||||
|
|
||||||
|
acpi_create_fadt(fadt, facs, dsdt);
|
||||||
|
acpi_add_table(rsdp, fadt);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We explicitly add these tables later on:
|
* We explicitly add these tables later on:
|
||||||
*/
|
*/
|
||||||
|
@ -289,31 +314,6 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* DSDT */
|
|
||||||
current = ( current + 0x07) & -0x08;
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT at %lx\n", current);
|
|
||||||
dsdt = (acpi_header_t *)current;
|
|
||||||
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
|
||||||
current += dsdt->length;
|
|
||||||
memcpy(dsdt, &AmlCode, dsdt->length);
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n", dsdt, dsdt->length);
|
|
||||||
|
|
||||||
/* FACS */ // it needs 64 bit alignment
|
|
||||||
current = ( current + 0x07) & -0x08;
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FACS at %lx\n", current);
|
|
||||||
facs = (acpi_facs_t *) current;
|
|
||||||
current += sizeof(acpi_facs_t);
|
|
||||||
acpi_create_facs(facs);
|
|
||||||
|
|
||||||
/* FADT */
|
|
||||||
current = ( current + 0x07) & -0x08;
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FADT at %lx\n", current);
|
|
||||||
fadt = (acpi_fadt_t *) current;
|
|
||||||
current += sizeof(acpi_fadt_t);
|
|
||||||
|
|
||||||
acpi_create_fadt(fadt, facs, dsdt);
|
|
||||||
acpi_add_table(rsdp, fadt);
|
|
||||||
|
|
||||||
#if DUMP_ACPI_TABLES == 1
|
#if DUMP_ACPI_TABLES == 1
|
||||||
printk(BIOS_DEBUG, "rsdp\n");
|
printk(BIOS_DEBUG, "rsdp\n");
|
||||||
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
||||||
|
|
|
@ -127,6 +127,31 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
acpi_write_rsdp(rsdp, rsdt, NULL);
|
acpi_write_rsdp(rsdp, rsdt, NULL);
|
||||||
acpi_write_rsdt(rsdt);
|
acpi_write_rsdt(rsdt);
|
||||||
|
|
||||||
|
/* DSDT */
|
||||||
|
current = ( current + 0x07) & -0x08;
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT at %lx\n", current);
|
||||||
|
dsdt = (acpi_header_t *)current; // it will used by fadt
|
||||||
|
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
||||||
|
current += dsdt->length;
|
||||||
|
memcpy(dsdt, &AmlCode, dsdt->length);
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n",dsdt,dsdt->length);
|
||||||
|
|
||||||
|
/* FACS */ // it needs 64 bit alignment
|
||||||
|
current = ( current + 0x07) & -0x08;
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FACS at %lx\n", current);
|
||||||
|
facs = (acpi_facs_t *) current; // it will be used by fadt
|
||||||
|
current += sizeof(acpi_facs_t);
|
||||||
|
acpi_create_facs(facs);
|
||||||
|
|
||||||
|
/* FADT */
|
||||||
|
current = ( current + 0x07) & -0x08;
|
||||||
|
printk(BIOS_DEBUG, "ACPI: * FADT at %lx\n", current);
|
||||||
|
fadt = (acpi_fadt_t *) current;
|
||||||
|
current += sizeof(acpi_fadt_t);
|
||||||
|
|
||||||
|
acpi_create_fadt(fadt, facs, dsdt);
|
||||||
|
acpi_add_table(rsdp, fadt);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We explicitly add these tables later on:
|
* We explicitly add these tables later on:
|
||||||
*/
|
*/
|
||||||
|
@ -219,31 +244,6 @@ unsigned long write_acpi_tables(unsigned long start)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* DSDT */
|
|
||||||
current = ( current + 0x07) & -0x08;
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT at %lx\n", current);
|
|
||||||
dsdt = (acpi_header_t *)current; // it will used by fadt
|
|
||||||
memcpy(dsdt, &AmlCode, sizeof(acpi_header_t));
|
|
||||||
current += dsdt->length;
|
|
||||||
memcpy(dsdt, &AmlCode, dsdt->length);
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * DSDT @ %p Length %x\n",dsdt,dsdt->length);
|
|
||||||
|
|
||||||
/* FACS */ // it needs 64 bit alignment
|
|
||||||
current = ( current + 0x07) & -0x08;
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FACS at %lx\n", current);
|
|
||||||
facs = (acpi_facs_t *) current; // it will be used by fadt
|
|
||||||
current += sizeof(acpi_facs_t);
|
|
||||||
acpi_create_facs(facs);
|
|
||||||
|
|
||||||
/* FADT */
|
|
||||||
current = ( current + 0x07) & -0x08;
|
|
||||||
printk(BIOS_DEBUG, "ACPI: * FADT at %lx\n", current);
|
|
||||||
fadt = (acpi_fadt_t *) current;
|
|
||||||
current += sizeof(acpi_fadt_t);
|
|
||||||
|
|
||||||
acpi_create_fadt(fadt, facs, dsdt);
|
|
||||||
acpi_add_table(rsdp, fadt);
|
|
||||||
|
|
||||||
#if DUMP_ACPI_TABLES == 1
|
#if DUMP_ACPI_TABLES == 1
|
||||||
printk(BIOS_DEBUG, "rsdp\n");
|
printk(BIOS_DEBUG, "rsdp\n");
|
||||||
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
dump_mem(rsdp, ((void *)rsdp) + sizeof(acpi_rsdp_t));
|
||||||
|
|
Loading…
Reference in New Issue