Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 1702 → Rev 1780

/kernel/trunk/genarch/include/acpi/madt.h
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;