x86_64: acpi: add dest CPU parameter to io_apic::map_irq()

This commit is contained in:
2023-05-07 21:42:22 +01:00
parent aaad77aea5
commit 3435c2bffe
2 changed files with 3 additions and 3 deletions

View File

@@ -49,16 +49,16 @@ void io_apic::write_irq(unsigned int index, const irq_entry &entry)
write(IOAPICREDTBL(index) + 1, entry_data[1]); 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{}; io_apic::irq_entry irq{};
irq.irq_vec = dest; irq.irq_vec = dest;
irq.irq_dest = dest_cpu;
irq.irq_delivery = 0; irq.irq_delivery = 0;
irq.irq_destmode = 0; irq.irq_destmode = 0;
irq.irq_polarity = 0; irq.irq_polarity = 0;
irq.irq_triggermode = 0; irq.irq_triggermode = 0;
irq.irq_mask = 0; irq.irq_mask = 0;
irq.irq_dest = 0;
write_irq(src, irq); write_irq(src, irq);
} }

View File

@@ -32,7 +32,7 @@ namespace arch::acpi {
kern_status_t read_irq(unsigned int index, irq_entry &entry); kern_status_t read_irq(unsigned int index, irq_entry &entry);
void write_irq(unsigned int index, const 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 mask_irq(unsigned int vec);
void unmask_irq(unsigned int vec, unsigned int dest_cpu = (unsigned int)-1); void unmask_irq(unsigned int vec, unsigned int dest_cpu = (unsigned int)-1);
}; };