apic: add option to mask or not legacy irqs

This commit is contained in:
Matheus
2022-09-08 17:57:23 -03:00
parent a319c1ebcc
commit d63b9512e7
2 changed files with 4 additions and 3 deletions
+2 -2
View File
@@ -174,7 +174,7 @@ static void ioapic_writeiored(ioapic_descriptor* ioapic, uint8_t irq, uint8_t ve
}
void ioapic_setlegacyirq(uint8_t irq, uint8_t vector, uint8_t proc){
void ioapic_setlegacyirq(uint8_t irq, uint8_t vector, uint8_t proc, bool masked){
// default settings for ISA irqs
@@ -201,7 +201,7 @@ void ioapic_setlegacyirq(uint8_t irq, uint8_t vector, uint8_t proc){
irq = irq - ioapic->gsi;
ioapic_writeiored(ioapic, irq, vector, 0, 0, polarity, trigger, 1, proc);
ioapic_writeiored(ioapic, irq, vector, 0, 0, polarity, trigger, masked ? 1 : 0, proc);
}
+2 -1
View File
@@ -3,6 +3,7 @@
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>
void apic_sendipi(uint8_t cpu, uint8_t vec, uint8_t dest, uint8_t mode, uint8_t level);
void apic_eoi();
@@ -12,6 +13,6 @@ void apic_timerinterruptset(uint8_t vector);
size_t apic_timercalibrate(size_t us);
void apic_lapicinit();
void apic_init();
void ioapic_setlegacyirq(uint8_t irq, uint8_t vector, uint8_t proc);
void ioapic_setlegacyirq(uint8_t irq, uint8_t vector, uint8_t proc, bool masked);
#endif