ApertureOS
Macros | Functions
pic.c File Reference
#include "pic.h"
#include "idt.h"
#include "utils/native.h"
#include "utils/common.h"
Include dependency graph for pic.c:

Macros

#define ICW1_ICW4   0x01 /* ICW4 (not) needed */
 
#define ICW1_SINGLE   0x02 /* Single (cascade) mode */
 
#define ICW1_INTERVAL4   0x04 /* Call address interval 4 (8) */
 
#define ICW1_LEVEL   0x08 /* Level triggered (edge) mode */
 
#define ICW1_INIT   0x10 /* Initialization - required! */
 
#define ICW4_8086   0x01 /* 8086/88 (MCS-80/85) mode */
 
#define ICW4_AUTO   0x02 /* Auto (normal) EOI */
 
#define ICW4_BUF_SLAVE   0x08 /* Buffered mode/slave */
 
#define ICW4_BUF_MASTER   0x0C /* Buffered mode/master */
 
#define ICW4_SFNM   0x10 /* Special fully nested (not) */
 
#define PIC_READ_IRR   0x0a /* OCW3 irq ready next CMD read */
 
#define PIC_READ_ISR   0x0b /* OCW3 irq service next CMD read */
 
#define PIC_RESET   0x20 /*Reset signal*/
 

Functions

void PIC_FillHWInterruptHandler (char *idt_handler, uint8_t intNum, uint8_t irqNum)
 
void PIC_DefaultHandler ()
 
uint32_t PIC_Initialize ()
 
void PIC_MaskAll ()
 
void PIC_MaskIRQ (uint8_t irq)
 
void PIC_UnMaskIRQ (uint8_t irq)
 
void PIC_SetOffset (int offset1, int offset2)
 
uint16_t PIC_GetReg (int ocw3)
 
void PIC_SendEOI (uint8_t irq)
 
void PIC_MainHandler (Registers *regs)
 

Macro Definition Documentation

#define ICW1_ICW4   0x01 /* ICW4 (not) needed */
#define ICW1_INIT   0x10 /* Initialization - required! */
#define ICW1_INTERVAL4   0x04 /* Call address interval 4 (8) */
#define ICW1_LEVEL   0x08 /* Level triggered (edge) mode */
#define ICW1_SINGLE   0x02 /* Single (cascade) mode */
#define ICW4_8086   0x01 /* 8086/88 (MCS-80/85) mode */
#define ICW4_AUTO   0x02 /* Auto (normal) EOI */
#define ICW4_BUF_MASTER   0x0C /* Buffered mode/master */
#define ICW4_BUF_SLAVE   0x08 /* Buffered mode/slave */
#define ICW4_SFNM   0x10 /* Special fully nested (not) */
#define PIC_READ_IRR   0x0a /* OCW3 irq ready next CMD read */
#define PIC_READ_ISR   0x0b /* OCW3 irq service next CMD read */
#define PIC_RESET   0x20 /*Reset signal*/

Function Documentation

void PIC_DefaultHandler ( )
void PIC_FillHWInterruptHandler ( char *  idt_handler,
uint8_t  intNum,
uint8_t  irqNum 
)
uint16_t PIC_GetReg ( int  ocw3)
uint32_t PIC_Initialize ( )
void PIC_MainHandler ( Registers regs)
void PIC_MaskAll ( )
void PIC_MaskIRQ ( uint8_t  irq)
void PIC_SendEOI ( uint8_t  irq)
void PIC_SetOffset ( int  offset1,
int  offset2 
)
void PIC_UnMaskIRQ ( uint8_t  irq)