#pragma once

#include <efi.h>

// 8259 PIC ports
#define PIC1_CMD    0x20
#define PIC1_DATA   0x21
#define PIC2_CMD    0xA0
#define PIC2_DATA   0xA1

// PIC vectors
#define PIC_IRQ_BASE 0x20  // IRQ 0 mapped to vector 0x20 (32)

// EOI signal
#define PIC_EOI     0x20

void pic_init(void);
void pic_send_eoi(UINT8 irq);
void pic_mask_irq(UINT8 irq);
void pic_unmask_irq(UINT8 irq);
