PatchworkOS  da8a090
A non-POSIX operating system.
Loading...
Searching...
No Matches
ioapic.h File Reference
#include <kernel/defs.h>
#include <stdint.h>
Include dependency graph for ioapic.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ioapic_version_t
 IO APIC Version Structure. More...
 
struct  ioapic_redirect_entry_t
 IO APIC Redirection Entry Structure. More...
 
struct  ioapic_redirect_entry_t::PACKED
 

Typedefs

typedef uint32_t ioapic_gsi_t
 IO APIC Global System Interrupt type.
 

Enumerations

enum  ioapic_mmio_register_t { IOAPIC_MMIO_REG_SELECT = 0x00 , IOAPIC_MMIO_REG_DATA = 0x10 }
 IO APIC Memory Mapped Registers. More...
 
enum  ioapic_register_t { IOAPIC_REG_IDENTIFICATION = 0x00 , IOAPIC_REG_VERSION = 0x01 , IOAPIC_REG_ARBITRATION = 0x02 , IOAPIC_REG_REDIRECTION_BASE = 0x10 }
 IO APIC Registers. More...
 
enum  ioapic_delivery_mode_t {
  IOAPIC_DELIVERY_NORMAL = 0 , IOAPIC_DELIVERY_LOW_PRIO = 1 , IOAPIC_DELIVERY_SMI = 2 , IOAPIC_DELIVERY_NMI = 4 ,
  IOAPIC_DELIVERY_INIT = 5 , IOAPIC_DELIVERY_EXTERNAL = 7
}
 IO APIC Delivery Modes. More...
 
enum  ioapic_destination_mode_t { IOAPIC_DESTINATION_PHYSICAL = 0 , IOAPIC_DESTINATION_LOGICAL = 1 }
 IO APIC Destination Modes. More...
 
enum  ioapic_trigger_mode_t { IOAPIC_TRIGGER_EDGE = 0 , IOAPIC_TRIGGER_LEVEL = 1 }
 IO APIC Trigger Modes. More...
 
enum  ioapic_polarity_t { IOAPIC_POLARITY_HIGH = 0 , IOAPIC_POLARITY_LOW = 1 }
 IO APIC Polarity Modes. More...
 

Functions

uint64_t ioapic_all_init (void)
 Initialize all IO APICs found in the MADT.