From 975059d4bfb66e534354462439891eafef97b78a Mon Sep 17 00:00:00 2001 From: Matheus Date: Fri, 21 Apr 2023 11:47:34 -0300 Subject: [PATCH] acpi: madt typedef and a few fixes --- kernel-src/include/x86-64/arch/acpi.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/kernel-src/include/x86-64/arch/acpi.h b/kernel-src/include/x86-64/arch/acpi.h index 018a270d..382f04eb 100644 --- a/kernel-src/include/x86-64/arch/acpi.h +++ b/kernel-src/include/x86-64/arch/acpi.h @@ -25,6 +25,7 @@ typedef struct { char oemid[6]; char oemtableid[8]; uint32_t oemrevision; + uint32_t creatorid; uint32_t creatorrevision; } __attribute__((packed)) sdtheader_t; @@ -38,6 +39,22 @@ typedef struct { uint32_t tables[]; } __attribute__((packed)) rsdt_t; +typedef struct { + sdtheader_t header; + uint32_t addr; + uint32_t flags; +} __attribute__((packed)) madt_t; + +#define ACPI_MADT_TYPE_LAPIC 0 +#define ACPI_MADT_TYPE_IOAPIC 1 +#define ACPI_MADT_TYPE_OVERRIDE 2 +#define ACPI_MADT_TYPE_IONMI 3 +#define ACPI_MADT_TYPE_LANMI 4 +#define ACPI_MADT_TYPE_64BITADDR 5 +#define ACPI_MADT_TYPE_X2APIC 9 + +bool acpi_checksumok(void *table); +void *acpi_findtable(char *sig, int n); void acpi_init(); #endif