Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
ioapic.h File Reference
#include <type.h>

Go to the source code of this file.

Data Structures

struct  irq_gsi_map
 

Functions

struct irq_gsi_map __attribute__ ((aligned(8)))
 
void ioapic_setup (uintptr_t ioapic_base_addr)
 
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)
 
uint32_t ioapic_isr_get_vector (uint8_t irq)
 
uint8_t ioapic_isr_get_apic_id (uint8_t irq)
 

Variables

uint32_t gsi
 
uint16_t flags
 

Function Documentation

◆ __attribute__()

struct irq_gsi_map __attribute__ ( (aligned(8)) )

◆ ioapic_add_irq_gsi_map()

void ioapic_add_irq_gsi_map ( uint8_t irq,
uint32_t gsi,
uint16_t flags )

Definition at line 79 of file ioapic.c.

References flags, gsi, and irq_gsi_table.

Referenced by parsing_madt().

◆ ioapic_isr_get_apic_id()

uint8_t ioapic_isr_get_apic_id ( uint8_t irq)

◆ ioapic_isr_get_vector()

uint32_t ioapic_isr_get_vector ( uint8_t irq)

Definition at line 26 of file ioapic.c.

References ioapic_base_addr, IOAPICREDTBL, read_ioapic_register(), and reg.

◆ ioapic_setup()

void ioapic_setup ( uintptr_t ioapic_base_addr)

Definition at line 55 of file ioapic.c.

References ioapic_base_addr, IOAPICREDTBL, and write_ioapic_register().

Referenced by parsing_madt().

◆ vxIOAPICMapISR()

void vxIOAPICMapISR ( uint8_t irq,
uint8_t vector,
uint8_t apic_id )

Definition at line 36 of file ioapic.c.

References ioapic_base_addr, IOAPICREDTBL, vector, and write_ioapic_register().

Referenced by __attribute__().

Variable Documentation

◆ flags

uint16_t flags

Definition at line 1 of file ioapic.h.

◆ gsi

uint32_t gsi

Definition at line 0 of file ioapic.h.

Referenced by ioapic_add_irq_gsi_map(), and parsing_madt().