Ejemplo n.º 1
0
unsigned long northbridge_write_acpi_tables(struct device *const dev,
					    unsigned long current,
					    struct acpi_rsdp *const rsdp)
{
	const u32 capid0_a = pci_read_config32(dev, 0xe4);
	if (capid0_a & (1 << 23))
		return current;

	printk(BIOS_DEBUG, "ACPI:     * DMAR\n");
	acpi_dmar_t *const dmar = (acpi_dmar_t *)current;
	acpi_create_dmar(dmar, DMAR_INTR_REMAP, acpi_fill_dmar);
	current += dmar->header.length;
	current = acpi_align_current(current);
	acpi_add_table(rsdp, dmar);

	current = acpi_align_current(current);

	printk(BIOS_DEBUG, "current = %lx\n", current);

	return current;
}
Ejemplo n.º 2
0
unsigned long northbridge_write_acpi_tables(device_t device,
					    unsigned long start,
					    struct acpi_rsdp *rsdp)
{
	unsigned long current;
	acpi_dmar_t *dmar;

	current = start;

	printk(BIOS_DEBUG, "ACPI:     * DMAR\n");
	dmar = (acpi_dmar_t *) current;
	acpi_create_dmar(dmar, 0, acpi_fill_dmar);
	current += dmar->header.length;
	ALIGN_CURRENT;
	acpi_add_table(rsdp, dmar);

	ALIGN_CURRENT;

	printk(BIOS_DEBUG, "current = %lx\n", current);

	return current;
}