System Description Tables.
More...
System Description Tables.
This module defines the ACPI tables found in the ACPI specification, tables defined outside of the specification, for example, MCFG is defined in their own files.
◆ FADT_SIGNATURE
| #define FADT_SIGNATURE "FACP" |
FADT table signature.
Definition at line 103 of file tables.h.
◆ MADT_FLAG_PCAT_COMPAT
◆ INTERRUPT_CONTROLLER_PROCESSOR_LOCAL_APIC
◆ INTERRUPT_CONTROLLER_IO_APIC
◆ PROCESSOR_LOCAL_APIC_ENABLED
| #define PROCESSOR_LOCAL_APIC_ENABLED (1 << 0) |
◆ PROCESSOR_LOCAL_APIC_ONLINE_CAPABLE
| #define PROCESSOR_LOCAL_APIC_ONLINE_CAPABLE (1 << 1) |
◆ MADT_FOR_EACH
| #define MADT_FOR_EACH |
( |
|
madt, |
|
|
|
ic |
|
) |
| |
Value: for (ic = (typeof(ic))madt->interruptControllers; (
uint8_t*)ic < (
uint8_t*)madt + madt->header.length && \
(
uint8_t*)ic + ic->header.length <= (
uint8_t*)madt + madt->header.length; \
ic = (typeof(ic))((
uint8_t*)ic + ic->header.length))
Iterate over all MADT interrupt controllers.
- Parameters
-
| madt | The MADT table to iterate over. |
| ic | A pointer to a madt_interrupt_controller_header_t* that will be set to the current interrupt controller. |
Definition at line 193 of file tables.h.
◆ MADT_SIGNATURE
| #define MADT_SIGNATURE "APIC" |
MADT table signature.
Definition at line 202 of file tables.h.
◆ DSDT_SIGNATURE
| #define DSDT_SIGNATURE "DSDT" |
DSDT table signature.
Definition at line 219 of file tables.h.
◆ SSDT_SIGNATURE
| #define SSDT_SIGNATURE "SSDT" |
SSDT table signature.
Note that there might be multiple SSDT tables.
Definition at line 238 of file tables.h.
◆ madt_flags_t
Multiple APIC Description Table flags.
- See also
- Section 5.2.12 table 5.20 of the ACPI specification for more details.
Definition at line 110 of file tables.h.
◆ interrupt_controller_type_t
MADT Interrupt Controller Types.
- See also
- Section 5.2.12 table 5.21 of the ACPI specification for more details.
Definition at line 119 of file tables.h.
◆ processor_local_apic_flags_t
MADT Processor Local APIC flags.
- See also
- Section 5.2.12.2 table 5.23 of the ACPI specification for more details.
Definition at line 139 of file tables.h.
◆ fadt_boot_arch_flags_t
◆ acpi_tables_init()
Initialize ACPI tables and call their init handlers.
- Parameters
-
| rsdp | Pointer to the RSDP structure. |
- Returns
- On success,
0. On failure, ERR.
Definition at line 195 of file tables.c.
◆ acpi_tables_expose()
Expose ACPI tables to sysfs.
- Returns
- On success,
0. On failure, ERR.
Definition at line 221 of file tables.c.
◆ acpi_tables_lookup()
Lookup the n'th table matching the signature.
- Parameters
-
| signature | The signature of the table to look up. |
| minSize | The minimum size of the table to look up, should usually be sizeof() of the table struct. |
| n | The index of the table to look up (0 indexed). |
- Returns
- On success, a pointer to the table. On error,
NULL and errno is set to:
EINVAL: Invalid parameters.
ENOENT: No table matching the signature was found.
ERANGE: A table was found, but not enough matching tables to satisfy n.
EILSEQ: The table found was smaller than minSize.
Definition at line 260 of file tables.c.