Adding more structures for MADT APIC structures. Correct some missed documentation.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39060 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Fredrik Holmqvist
2010-10-23 09:48:17 +00:00
parent d7a03e967e
commit a808dd7283
+43 -3
View File
@@ -74,7 +74,7 @@ typedef struct acpi_io_apic {
uint8 length; /* 12 bytes */
uint8 io_apic_id; /* the id of this APIC */
uint8 reserved;
uint32 io_apic_address; /* phyisical address of I/O APIC */
uint32 io_apic_address; /* physical address of I/O APIC */
uint32 interrupt_base; /* global system interrupt base */
} _PACKED acpi_io_apic;
@@ -99,8 +99,8 @@ typedef struct acpi_nmi_source {
} _PACKED acpi_nmi_source;
typedef struct acpi_local_apic_nmi {
uint8 type; /* 0 = processor local APIC */
uint8 length; /* 8 bytes */
uint8 type; /* 4 = local APIC NMI */
uint8 length; /* 6 bytes */
uint8 acpi_processor_id; /* Processor ID corresponding to processor
ID in acpi_local_apic. 0xFF signals
it applies to all processors */
@@ -110,4 +110,44 @@ typedef struct acpi_local_apic_nmi {
NMI is connected */
} _PACKED acpi_local_apic_nmi;
typedef struct acpi_local_apic_address_override {
uint8 type; /* 5 = local APIC address override */
uint8 length; /* 12 bytes */
uint16 reserved; /* reserved (must be set to zero) */
uint64 local_apic_address; /* Physical address of local APIC. See table
5-28 in ACPI Spec 4.0a for more */
} _PACKED acpi_local_apic_address_override;
typedef struct acpi_io_sapic {
uint8 type; /* 6 = I/0 SAPIC (should be used if it
exists instead of I/O APIC if both exists
for a APIC ID.*/
uint8 length; /* 16 bytes */
uint8 io_apic_id; /* the id of this SAPIC */
uint8 reserved; /* reserved (must be set to zero) */
uint32 interrupt_base; /* global system interrupt base */
uint64 sapic_address; /* The physical address to access this I/0
SAPIC. Each SAPIC resides at a unique
address */
} _PACKED acpi_io_sapic;
typedef struct acpi_local_sapic {
uint8 type; /* 7 = processor local SAPIC */
uint8 length; /* x bytes */
uint8 acpi_processor_id;
uint8 local_sapic_id;
uint8 local_sapic_eid;
uint8 reserved1; /* reserved (must be set to zero) */
uint8 reserved2; /* reserved (must be set to zero) */
uint8 reserved3; /* reserved (must be set to zero) */
uint32 flags; /* Local SAPIC flags, see table 5-22 in
ACPI Spec 4.0a */
uint32 processor_uid_nr; /* Matches _UID of a processor when it is a
number */
char[] processor_uid_str; /* Matches _UID of a processor when it is a
string. Null-terminated */
} _PACKED acpi_local_sapic;
#endif /* _KERNEL_ARCH_x86_ARCH_ACPI_H */