53,8 → 53,8 |
#define MADT_RESERVED_OEM_BEGIN 128 |
|
struct madt_apic_header { |
__u8 type; |
__u8 length; |
uint8_t type; |
uint8_t length; |
} __attribute__ ((packed)); |
|
|
61,81 → 61,81 |
/* Multiple APIC Description Table */ |
struct acpi_madt { |
struct acpi_sdt_header header; |
__u32 l_apic_address; |
__u32 flags; |
uint32_t l_apic_address; |
uint32_t flags; |
struct madt_apic_header apic_header[]; |
} __attribute__ ((packed)); |
|
struct madt_l_apic { |
struct madt_apic_header header; |
__u8 acpi_id; |
__u8 apic_id; |
__u32 flags; |
uint8_t acpi_id; |
uint8_t apic_id; |
uint32_t flags; |
} __attribute__ ((packed)); |
|
struct madt_io_apic { |
struct madt_apic_header header; |
__u8 io_apic_id; |
__u8 reserved; |
__u32 io_apic_address; |
__u32 global_intr_base; |
uint8_t io_apic_id; |
uint8_t reserved; |
uint32_t io_apic_address; |
uint32_t global_intr_base; |
} __attribute__ ((packed)); |
|
struct madt_intr_src_ovrd { |
struct madt_apic_header header; |
__u8 bus; |
__u8 source; |
__u32 global_int; |
__u16 flags; |
uint8_t bus; |
uint8_t source; |
uint32_t global_int; |
uint16_t flags; |
} __attribute__ ((packed)); |
|
struct madt_nmi_src { |
struct madt_apic_header header; |
__u16 flags; |
__u32 global_intr; |
uint16_t flags; |
uint32_t global_intr; |
} __attribute__ ((packed)); |
|
struct madt_l_apic_nmi { |
struct madt_apic_header header; |
__u8 acpi_id; |
__u16 flags; |
__u8 l_apic_lint; |
uint8_t acpi_id; |
uint16_t flags; |
uint8_t l_apic_lint; |
} __attribute__ ((packed)); |
|
struct madt_l_apic_addr_ovrd { |
struct madt_apic_header header; |
__u16 reserved; |
__u64 l_apic_address; |
uint16_t reserved; |
uint64_t l_apic_address; |
} __attribute__ ((packed)); |
|
struct madt_io_sapic { |
struct madt_apic_header header; |
__u8 io_apic_id; |
__u8 reserved; |
__u32 global_intr_base; |
__u64 io_apic_address; |
uint8_t io_apic_id; |
uint8_t reserved; |
uint32_t global_intr_base; |
uint64_t io_apic_address; |
} __attribute__ ((packed)); |
|
struct madt_l_sapic { |
struct madt_apic_header header; |
__u8 acpi_id; |
__u8 sapic_id; |
__u8 sapic_eid; |
__u8 reserved[3]; |
__u32 flags; |
__u32 acpi_processor_uid_value; |
__u8 acpi_processor_uid_str[1]; |
uint8_t acpi_id; |
uint8_t sapic_id; |
uint8_t sapic_eid; |
uint8_t reserved[3]; |
uint32_t flags; |
uint32_t acpi_processor_uid_value; |
uint8_t acpi_processor_uid_str[1]; |
} __attribute__ ((packed)); |
|
struct madt_platform_intr_src { |
struct madt_apic_header header; |
__u16 flags; |
__u8 intr_type; |
__u8 processor_id; |
__u8 processor_eid; |
__u8 io_sapic_vector; |
__u32 global_intr; |
__u32 platform_intr_src_flags; |
uint16_t flags; |
uint8_t intr_type; |
uint8_t processor_id; |
uint8_t processor_eid; |
uint8_t io_sapic_vector; |
uint32_t global_intr; |
uint32_t platform_intr_src_flags; |
} __attribute__ ((packed)); |
|
extern struct acpi_madt *acpi_madt; |