mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-10-31 14:38:21 +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
|
// 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;
|
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 <stddef.h>
|
||||||
#include <stdint.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_sendipi(uint8_t cpu, uint8_t vec, uint8_t dest, uint8_t mode, uint8_t level);
|
||||||
void apic_eoi();
|
void apic_eoi();
|
||||||
@@ -12,6 +13,6 @@ void apic_timerinterruptset(uint8_t vector);
|
|||||||
size_t apic_timercalibrate(size_t us);
|
size_t apic_timercalibrate(size_t us);
|
||||||
void apic_lapicinit();
|
void apic_lapicinit();
|
||||||
void apic_init();
|
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
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user