mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-10-27 12:48:22 +00:00
apic: add option to mask or not legacy irqs
This commit is contained in:
@@ -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);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user