From 3435c2bffe5abfeec8ffd3ac779d1b97899c5f99 Mon Sep 17 00:00:00 2001 From: Max Wash Date: Sun, 7 May 2023 21:42:22 +0100 Subject: [PATCH] x86_64: acpi: add dest CPU parameter to io_apic::map_irq() --- arch/x86_64/acpi/io_apic.cpp | 4 ++-- arch/x86_64/include/arch/acpi/io_apic.hpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/x86_64/acpi/io_apic.cpp b/arch/x86_64/acpi/io_apic.cpp index 842e2fc..f61be00 100644 --- a/arch/x86_64/acpi/io_apic.cpp +++ b/arch/x86_64/acpi/io_apic.cpp @@ -49,16 +49,16 @@ void io_apic::write_irq(unsigned int index, const irq_entry &entry) write(IOAPICREDTBL(index) + 1, entry_data[1]); } -void io_apic::map_irq(unsigned int src, unsigned int dest) +void io_apic::map_irq(unsigned int src, unsigned int dest, unsigned int dest_cpu) { io_apic::irq_entry irq{}; irq.irq_vec = dest; + irq.irq_dest = dest_cpu; irq.irq_delivery = 0; irq.irq_destmode = 0; irq.irq_polarity = 0; irq.irq_triggermode = 0; irq.irq_mask = 0; - irq.irq_dest = 0; write_irq(src, irq); } diff --git a/arch/x86_64/include/arch/acpi/io_apic.hpp b/arch/x86_64/include/arch/acpi/io_apic.hpp index 056882b..cfbd4fc 100644 --- a/arch/x86_64/include/arch/acpi/io_apic.hpp +++ b/arch/x86_64/include/arch/acpi/io_apic.hpp @@ -32,7 +32,7 @@ namespace arch::acpi { kern_status_t read_irq(unsigned int index, irq_entry &entry); void write_irq(unsigned int index, const irq_entry &entry); - void map_irq(unsigned int src, unsigned int dest); + void map_irq(unsigned int src, unsigned int dest, unsigned int dest_cpu = 0); void mask_irq(unsigned int vec); void unmask_irq(unsigned int vec, unsigned int dest_cpu = (unsigned int)-1); };