9#define IOAPICREDTBL(n) \
33 return (
reg >> 24) & 0xFF;
58 for (
int i = 0; i < 24; i++) {
static void mmio_outl(uintptr_t addr, uint32_t value)
static uint32_t mmio_inl(uintptr_t addr)
static void write_ioapic_register(const uintptr_t apic_base, const uint8_t offset, const uint32_t val)
void ioapic_setup(uintptr_t ioapic_addr)
static uintptr_t ioapic_base_addr
uint32_t ioapic_isr_get_vector(uint8_t irq)
static uint32_t read_ioapic_register(const uintptr_t apic_base, const uint8_t offset)
void ioapic_add_irq_gsi_map(uint8_t irq, uint32_t gsi, uint16_t flags)
void vxIOAPICMapISR(uint8_t irq, uint8_t vector, uint8_t apic_id)
static struct irq_gsi_map irq_gsi_table[32]
uint8_t ioapic_isr_get_apic_id(uint8_t irq)