1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 12:57:35 +00:00

Kernel: Add x2APIC support

This allows addressing all cores on more modern processors. For now,
we still have a hardcoded limit of 64 due to s_processors being a
static array.
This commit is contained in:
Tom 2021-09-03 21:27:57 -06:00 committed by Andreas Kling
parent 123087e235
commit 8a258edfd6
5 changed files with 108 additions and 48 deletions

View file

@ -277,6 +277,15 @@ struct [[gnu::packed]] ProcessorLocalAPIC {
u32 flags;
};
// https://uefi.org/specs/ACPI/6.4/05_ACPI_Software_Programming_Model/ACPI_Software_Programming_Model.html#processor-local-x2apic-structure
struct [[gnu::packed]] ProcessorLocalX2APIC {
MADTEntryHeader h;
u16 reserved;
u32 apic_id;
u32 flags;
u32 acpi_processor_id;
};
// https://uefi.org/specs/ACPI/6.4/05_ACPI_Software_Programming_Model/ACPI_Software_Programming_Model.html#interrupt-source-override-structure
struct [[gnu::packed]] InterruptSourceOverride {
MADTEntryHeader h;