diff options
author | Danny Holman <dholman@gymli.xyz> | 2021-09-28 12:25:46 -0500 |
---|---|---|
committer | Danny Holman <dholman@gymli.xyz> | 2021-09-28 12:25:46 -0500 |
commit | c4845de1e4ba49ba066e5729814fdb5bcd7e46f8 (patch) | |
tree | 95fec0743270943ea316ebc4c2af970430c2ea33 /arch/i386/include/kernel | |
parent | c0019e9d0bd2059351dc7d0274ee0479a71192fc (diff) |
arch: i386: add PIC register support
Add functions that let the OS read the internal state registers of the
8259 PIC.
Signed-off-by: Danny Holman <dholman@gymli.xyz>
Diffstat (limited to 'arch/i386/include/kernel')
-rw-r--r-- | arch/i386/include/kernel/pic.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/i386/include/kernel/pic.h b/arch/i386/include/kernel/pic.h index c3ede4f..a9387db 100644 --- a/arch/i386/include/kernel/pic.h +++ b/arch/i386/include/kernel/pic.h @@ -22,6 +22,9 @@ #define ICW4_BUF_MASTER 0x0C #define ICW4_SFNM 0x10 +#define PIC_READ_IRR 0x0A +#define PIC_READ_ISR 0x0B + static inline void outb(uint16_t port, uint8_t value) { asm volatile("outb %0, %1" : : "a"(value), "Nd"(port)); } @@ -38,6 +41,8 @@ static inline void io_wait(void) { void pic_eoi(unsigned char irq); void pic_remap(void); +uint16_t pic_get_irr(void); +uint16_t pic_get_isr(void); void irq_set_mask(uint8_t irq); void irq_clear_mask(uint8_t irq); |