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);
#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 { \
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
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
/* 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: */
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");
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;
/* 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);
/*
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");
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;
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;
/* 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: */
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. */
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");
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
/* 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);
/*
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;
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;
/* 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++;
}