aboutsummaryrefslogtreecommitdiff
path: root/i386/i386at/acpi_parse_apic.h
diff options
context:
space:
mode:
Diffstat (limited to 'i386/i386at/acpi_parse_apic.h')
-rw-r--r--i386/i386at/acpi_parse_apic.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/i386/i386at/acpi_parse_apic.h b/i386/i386at/acpi_parse_apic.h
index df36bb31..85e01170 100644
--- a/i386/i386at/acpi_parse_apic.h
+++ b/i386/i386at/acpi_parse_apic.h
@@ -91,6 +91,14 @@ struct acpi_xsdt {
uint64_t entry[0];
} __attribute__((__packed__));
+struct acpi_address {
+ uint8_t is_io;
+ uint8_t reg_width;
+ uint8_t reg_offset;
+ uint8_t reserved;
+ uint64_t addr64;
+} __attribute__((__packed__));
+
/* APIC table signature. */
#define ACPI_APIC_SIG "APIC"
@@ -170,6 +178,21 @@ struct acpi_apic_irq_override {
uint16_t flags;
} __attribute__((__packed__));
+
+#define ACPI_HPET_SIG "HPET"
+
+/*
+ * HPET High Precision Event Timer structure
+ */
+struct acpi_hpet {
+ struct acpi_dhdr header;
+ uint32_t id;
+ struct acpi_address address;
+ uint8_t sequence;
+ uint16_t minimum_tick;
+ uint8_t flags;
+} __attribute__((__packed__));
+
int acpi_apic_init(void);
void acpi_print_info(phys_addr_t rsdp, void *rsdt, int acpi_rsdt_n);