acpi: calibrate local APIC timer on BSP

This commit is contained in:
2023-03-28 21:38:47 +01:00
parent 9828f35d36
commit e0e6f4a9ae
8 changed files with 133 additions and 9 deletions

View File

@@ -62,4 +62,30 @@ void io_apic::map_irq(unsigned int src, unsigned int dest)
write_irq(src, irq);
}
void io_apic::mask_irq(unsigned int vec)
{
irq_entry irq;
if (read_irq(vec, irq) != KERN_OK) {
return;
}
irq.irq_mask = 1;
write_irq(vec, irq);
}
void io_apic::unmask_irq(unsigned int vec, unsigned int dest_cpu)
{
irq_entry irq;
if (read_irq(vec, irq) != KERN_OK) {
return;
}
irq.irq_mask = 0;
if (dest_cpu != (unsigned int)-1) {
irq.irq_dest = dest_cpu;
}
write_irq(vec, irq);
}
}