|
miniOS
x86_64 hobby kernel with SMP, VFS, and POSIX process model
|
#include <miniOS/arch/x86_64/smp.h>#include <miniOS/arch/x86_64/apic.h>#include <miniOS/mm/vmm.h>#include <miniOS/io.h>
Classes | |
| struct | acpi_rsdp |
| struct | acpi_rsdp_v2 |
| struct | acpi_sdt_header |
| struct | acpi_madt |
| struct | madt_entry_hdr |
| struct | madt_lapic_entry |
Macros | |
| #define | MADT_TYPE_LAPIC 0 |
| #define | MADT_LAPIC_FLAG_ENABLED (1 << 0) |
| #define | MADT_LAPIC_FLAG_ONLINE_CAPABLE (1 << 1) |
Functions | |
| struct acpi_rsdp | __attribute__ ((packed)) |
| static int | sig8_match (const char *a, const char *b) |
| static int | sig4_match (const char *a, const char *b) |
| static void | parse_madt (struct acpi_madt *madt) |
| static struct acpi_madt * | find_madt_in_rsdt (uint32_t rsdt_phys) |
| static struct acpi_madt * | find_madt_in_xsdt (uint64_t xsdt_phys) |
| static struct acpi_madt * | madt_from_rsdp (struct acpi_rsdp *rsdp) |
| void | acpi_find_madt (uint64_t mb_info_phys) |
| Parse ACPI MADT and populate smp_lapic_ids[]/smp_cpu_count. | |
Variables | |
| uint32_t | smp_cpu_count = 0 |
| uint8_t | smp_lapic_ids [MAX_CPUS] = {0} |
| char | signature [8] |
| uint8_t | checksum |
| char | oem_id [6] |
| uint8_t | revision |
| uint32_t | rsdt_phys |
| struct acpi_rsdp | v1 |
| uint32_t | length |
| uint64_t | xsdt_phys |
| uint8_t | ext_checksum |
| uint8_t | reserved [3] |
| char | oem_table_id [8] |
| uint32_t | oem_revision |
| uint32_t | creator_id |
| uint32_t | creator_revision |
| struct acpi_sdt_header | hdr |
| uint32_t | lapic_phys |
| uint32_t | flags |
| uint8_t | type |
| uint8_t | acpi_proc_id |
| uint8_t | apic_id |
| #define MADT_LAPIC_FLAG_ENABLED (1 << 0) |
| #define MADT_LAPIC_FLAG_ONLINE_CAPABLE (1 << 1) |
| #define MADT_TYPE_LAPIC 0 |
| struct acpi_rsdp __attribute__ | ( | (packed) | ) |






|
static |

|
static |

|
static |

| uint8_t acpi_proc_id |
| uint8_t apic_id |
| uint8_t checksum |
| uint32_t creator_id |
| uint32_t creator_revision |
| uint8_t ext_checksum |
| uint32_t flags |
| struct madt_entry_hdr hdr |
| uint32_t lapic_phys |
| uint8_t length |
| char oem_id |
| uint32_t oem_revision |
| char oem_table_id[8] |
| uint8_t reserved[3] |
| uint8_t revision |
| uint32_t rsdt_phys |
| char signature |
| uint8_t type |
| struct acpi_rsdp v1 |
| uint64_t xsdt_phys |