diff options
author | Damien Zammit <damien@zamaudio.com> | 2024-01-29 10:06:57 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2024-01-29 20:02:21 +0100 |
commit | 6bca5c2873ef4cfccd8d2ebeedad29c9d5a6ec7f (patch) | |
tree | 8ddfc5b93af6151d26df9aa63205bde37ee9f065 /i386/i386at/acpi_parse_apic.c | |
parent | f8d0f98e80b3d7d9b24fa077818113fb0f4b3970 (diff) | |
download | gnumach-6bca5c2873ef4cfccd8d2ebeedad29c9d5a6ec7f.tar.gz gnumach-6bca5c2873ef4cfccd8d2ebeedad29c9d5a6ec7f.tar.bz2 gnumach-6bca5c2873ef4cfccd8d2ebeedad29c9d5a6ec7f.zip |
Support up to two IOAPICs with up to 32 GSIs on each
Previously, only IOAPIC[0] was supported.
Now this supports up to two IOAPICs.
Message-ID: <20240129100652.1262126-1-damien@zamaudio.com>
Diffstat (limited to 'i386/i386at/acpi_parse_apic.c')
-rw-r--r-- | i386/i386at/acpi_parse_apic.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/i386/i386at/acpi_parse_apic.c b/i386/i386at/acpi_parse_apic.c index 9cd861ed..1aef53ed 100644 --- a/i386/i386at/acpi_parse_apic.c +++ b/i386/i386at/acpi_parse_apic.c @@ -331,6 +331,9 @@ acpi_apic_add_ioapic(struct acpi_apic_ioapic *ioapic_entry) io_apic.ioapic = (ApicIoUnit *)kmem_map_aligned_table(ioapic_entry->addr, sizeof(ApicIoUnit), VM_PROT_READ | VM_PROT_WRITE); + io_apic.ioapic->select.r = APIC_IO_VERSION; + io_apic.ngsis = ((io_apic.ioapic->window.r >> APIC_IO_ENTRIES_SHIFT) & 0xff) + 1; + /* Insert IOAPIC in the list. */ apic_add_ioapic(io_apic); } |