KernOS
pic.h File Reference
#include <common.h>
Include dependency graph for pic.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 PIC
 8259 Progammable interrupt controller
 

Enumerations

enum  PIC::ICW1_0 : uint8_t { PIC::NO_ICW4 = 0b0, PIC::USE_ICW4 = 0b1 }
 
enum  PIC::ICW1_1 : uint8_t { PIC::CASCADE = 0b00, PIC::SINGLE = 0b10 }
 
enum  PIC::ICW1_2 : uint8_t { PIC::INTRP_8B = 0b000, PIC::INTRP_4B = 0b100 }
 
enum  PIC::ICW1_3 : uint8_t { PIC::EDGE_TRIGGERED = 0b0000, PIC::LEVEL_TRIGGERED = 0b1000 }
 
enum  PIC::ICW1_4 : uint8_t { PIC::INVALID = 0b00000, PIC::USE_ICW1 = 0b10000 }
 
enum  PIC::ICW4_0 : uint8_t { PIC::MODE_8085 = 0b0, PIC::MODE_8086 = 0b1 }
 
enum  PIC::ICW4_1 : uint8_t { PIC::EOI = 0b00, PIC::AUTO_EOI = 0b10 }
 
enum  PIC::ICW4_4 : uint8_t { PIC::SEQUENTIAL = 0b00000, PIC::SPECIAL_FULLY_NESTED = 0b10000 }
 
enum  PIC::OCW2 : uint8_t {
  PIC::NON_SPECIFIC_EOI = 0b0010'0000, PIC::NOP = 0b0100'0000, PIC::SPECIFIC_EOI = 0b0110'0000, PIC::ROTATE_AEOI = 0b1000'0000,
  PIC::ROTATE_NON_SPEC_EOI = 0b1010'0000, PIC::SET_PRIORITY_CMD = 0b1100'0000, PIC::ROTATE_SPEC_EOI = 0b1110'0000
}
 

Functions

void PIC::Remap ()
 Remap default 8259 PIC interrupt number to new range. More...