summaryrefslogtreecommitdiff
path: root/src/arch/i386/include
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@openbios.org>2004-02-03 16:11:35 +0000
committerStefan Reinauer <stepan@openbios.org>2004-02-03 16:11:35 +0000
commit06feb88cc60f78c2b3c7036208da68c4c1dc05e1 (patch)
treee635ec683d74d49767135d4c5c2a5a691d738379 /src/arch/i386/include
parenta7648c2942448bdbb2813868ac305df24a69fcd0 (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.h56
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);