8#define PIC1_COMMAND PIC1
9#define PIC1_DATA (PIC1+1)
10#define PIC2_COMMAND PIC2
11#define PIC2_DATA (PIC2+1)
23#define ICW1_SINGLE 0x02
24#define ICW1_INTERVAL4 0x04
25#define ICW1_LEVEL 0x08
30#define ICW4_BUF_SLAVE 0x08
31#define ICW4_BUF_MASTER 0x0C
34#define PIC_MASTER_IRQ_OFFSET 0x20
35#define PIC_SLAVE_IRQ_OFFSET 0x28
39static inline void PIC_sendEOI(uint8_t irq) {
41 outb(PIC2_COMMAND,PIC_EOI);
42 outb(PIC1_COMMAND,PIC_EOI);
46void PIC_remap(
int offset1,
int offset2);
50void PIC_set_mask(uint8_t IRQline);
51void PIC_clear_mask(uint8_t IRQline);
c wrappers for asm port operations
static void outb(uint16_t port, uint8_t val)
write byte to low level port
Definition port_io.h:29