diff options
author | Stefan Reinauer <stepan@openbios.org> | 2004-02-03 16:11:35 +0000 |
---|---|---|
committer | Stefan Reinauer <stepan@openbios.org> | 2004-02-03 16:11:35 +0000 |
commit | 06feb88cc60f78c2b3c7036208da68c4c1dc05e1 (patch) | |
tree | e635ec683d74d49767135d4c5c2a5a691d738379 /src/arch/i386/include | |
parent | a7648c2942448bdbb2813868ac305df24a69fcd0 (diff) |
create MADT tables, too.
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1366 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/arch/i386/include')
-rw-r--r-- | src/arch/i386/include/arch/acpi.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/arch/i386/include/arch/acpi.h b/src/arch/i386/include/arch/acpi.h index 6b6965684c..e840d42195 100644 --- a/src/arch/i386/include/arch/acpi.h +++ b/src/arch/i386/include/arch/acpi.h @@ -80,6 +80,62 @@ typedef struct acpi_hpet { u8 attributes; } __attribute__ ((packed)) acpi_hpet_t; +typedef struct acpi_madt { + struct acpi_table_header header; + u32 lapic_addr; + u32 flags; +} __attribute__ ((packed)) acpi_madt_t; + +enum acpi_apic_types { + LocalApic = 0, + IOApic = 1, + IRQSourceOverride = 2, + NMI = 3, + LocalApicNMI = 4, + LApicAddressOverride = 5, + IOSApic = 6, + LocalSApic = 7, + PlatformIRQSources = 8 +}; + +typedef struct acpi_madt_lapic { + u8 type; + u8 length; + u8 processor_id; + u8 apic_id; + u32 flags; +} __attribute__ ((packed)) acpi_madt_lapic_t; + +typedef struct acpi_madt_lapic_nmi { + u8 type; + u8 length; + u8 processor_id; + u16 flags; + u8 lint; +} __attribute__ ((packed)) acpi_madt_lapic_nmi_t; + + +typedef struct acpi_madt_ioapic { + u8 type; + u8 length; + u8 ioapic_id; + u8 reserved; + u32 ioapic_addr; + u32 gsi_base; +} __attribute__ ((packed)) acpi_madt_ioapic_t; + +typedef struct acpi_madt_irqoverride { + u8 type; + u8 length; + u8 bus; + u8 source; + u32 gsirq; + u16 flags; +} __attribute__ ((packed)) acpi_madt_irqoverride_t; + + + + unsigned long write_acpi_tables(unsigned long addr); |