miniOS
x86_64 hobby kernel with SMP, VFS, and POSIX process model
Loading...
Searching...
No Matches
ioapic.c File Reference
Include dependency graph for ioapic.c:

Functions

void irq_set_handler (uint8_t irq, idt_handler_func *fn)
void irq_dispatch (uint8_t irq, void *frame)
static uint32_t ioapic_read (uint8_t reg)
static void ioapic_write (uint8_t reg, uint32_t val)
void ioapic_mask_irq (uint8_t irq)
 Mask (disable) an I/O APIC redirection entry.
void ioapic_unmask_irq (uint8_t irq)
 Unmask (enable) an I/O APIC redirection entry.
void ioapic_init (void)
 Map and initialise the I/O APIC.

Variables

addr_t irq_wrapper_array [NR_IRQS]
static idt_handler_funcirq_handlers [NR_IRQS] = {0}
static volatile uint32_tioapic = (volatile uint32_t *)IOAPIC_BASE

Function Documentation

◆ ioapic_read()

uint32_t ioapic_read ( uint8_t reg)
static
Here is the caller graph for this function:

◆ ioapic_write()

void ioapic_write ( uint8_t reg,
uint32_t val )
static
Here is the caller graph for this function:

◆ irq_dispatch()

void irq_dispatch ( uint8_t irq,
void * frame )

◆ irq_set_handler()

void irq_set_handler ( uint8_t irq,
idt_handler_func * fn )
Here is the caller graph for this function:

Variable Documentation

◆ ioapic

volatile uint32_t* ioapic = (volatile uint32_t *)IOAPIC_BASE
static

◆ irq_handlers

idt_handler_func* irq_handlers[NR_IRQS] = {0}
static

◆ irq_wrapper_array

addr_t irq_wrapper_array[NR_IRQS]
extern