XenevaOS
Loading...
Searching...
No Matches
Macros | Functions
apic.cpp File Reference
#include <Hal/apic.h>
#include <Hal/ioapic.h>
#include <Hal/x86_64_cpu.h>
#include <Hal/x86_64_idt.h>
#include <Hal/x86_64_lowlevel.h>
#include <Hal/serial.h>
#include <Mm/vmmngr.h>
#include <aucon.h>
#include <Hal/x86_64_pic.h>
Include dependency graph for apic.cpp:

Macros

#define PIC1   0x20
 
#define PIC2   0xA0
 
#define PIC1_COMMAND   PIC1
 
#define PIC1_DATA   (PIC1+1)
 
#define PIC2_COMMAND   PIC2
 
#define PIC2_DATA   (PIC2+1)
 
#define ICW1_ICW4   0x01
 
#define ICW1_SINGLE   0x02
 
#define ICW1_INTERVAL4   0x04
 
#define ICW1_LEVEL   0x08
 
#define ICW1_INIT   0x10
 
#define ICW4_8086   0x01
 
#define ICW4_AUTO   0x02
 
#define ICW4_BUF_SLAVE   0x08
 
#define ICW4_BUF_MASTER   0x0C
 
#define ICW4_SFNM   0x10
 
#define APIC_DISABLE   0x10000
 

Functions

uint64_t ReadAPICRegister (uint16_t reg)
 
void WriteAPICRegister (uint16_t reg, uint64_t value)
 
void APICLocalEOI ()
 
bool X2APICSupported ()
 
void IOWait ()
 
void APICSpuriousInterrupt (size_t p, void *param)
 
void ApicTimerInterrupt (size_t p, void *param)
 
void AuAPICInitialise (bool bsp)
 
void APICTimerSleep (uint32_t ms)
 
uint64_t AuAPICGetInterruptPeriod ()
 

Macro Definition Documentation

◆ APIC_DISABLE

#define APIC_DISABLE   0x10000

◆ ICW1_ICW4

#define ICW1_ICW4   0x01

◆ ICW1_INIT

#define ICW1_INIT   0x10

◆ ICW1_INTERVAL4

#define ICW1_INTERVAL4   0x04

◆ ICW1_LEVEL

#define ICW1_LEVEL   0x08

◆ ICW1_SINGLE

#define ICW1_SINGLE   0x02

◆ ICW4_8086

#define ICW4_8086   0x01

◆ ICW4_AUTO

#define ICW4_AUTO   0x02

◆ ICW4_BUF_MASTER

#define ICW4_BUF_MASTER   0x0C

◆ ICW4_BUF_SLAVE

#define ICW4_BUF_SLAVE   0x08

◆ ICW4_SFNM

#define ICW4_SFNM   0x10

◆ PIC1

#define PIC1   0x20

◆ PIC1_COMMAND

#define PIC1_COMMAND   PIC1

◆ PIC1_DATA

#define PIC1_DATA   (PIC1+1)

◆ PIC2

#define PIC2   0xA0

◆ PIC2_COMMAND

#define PIC2_COMMAND   PIC2

◆ PIC2_DATA

#define PIC2_DATA   (PIC2+1)

Function Documentation

◆ APICLocalEOI()

void APICLocalEOI ( )

◆ APICSpuriousInterrupt()

void APICSpuriousInterrupt ( size_t  p,
void *  param 
)

◆ ApicTimerInterrupt()

void ApicTimerInterrupt ( size_t  p,
void *  param 
)

◆ APICTimerSleep()

void APICTimerSleep ( uint32_t  ms)

◆ AuAPICGetInterruptPeriod()

uint64_t AuAPICGetInterruptPeriod ( )

◆ AuAPICInitialise()

void AuAPICInitialise ( bool  bsp)

◆ IOWait()

void IOWait ( )

◆ ReadAPICRegister()

uint64_t ReadAPICRegister ( uint16_t  reg)

◆ WriteAPICRegister()

void WriteAPICRegister ( uint16_t  reg,
uint64_t  value 
)

◆ X2APICSupported()

bool X2APICSupported ( )