MentOS
0.8.0
The Mentoring Operating System
|
pic8259 definitions. More...
Macros | |
#define | __DEBUG_HEADER__ "[PIC ]" |
Change header. | |
#define | __DEBUG_LEVEL__ LOGLEVEL_NOTICE |
Set log level. | |
#define | EOI 0x20 |
End-of-interrupt command code. | |
#define | MASTER_PORT_COMMAND 0x20 |
IO base address for master PIC. | |
#define | MASTER_PORT_DATA (MASTER_PORT_COMMAND + 1) |
I/O address for data to master. | |
#define | SLAVE_PORT_COMMAND 0xA0 |
IO base address for slave PIC. | |
#define | SLAVE_PORT_DATA (SLAVE_PORT_COMMAND + 1) |
I/O address for data to slave. | |
#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. | |
Functions | |
void | pic8259_init_irq (void) |
Function that initializes the processor pic 8259 that will manage the interruptions. | |
int | pic8259_irq_enable (uint32_t irq) |
This function, enable irqs on the pic. More... | |
int | pic8259_irq_disable (uint32_t irq) |
This function, disable irqs on the pic. More... | |
void | pic8259_send_eoi (uint32_t irq) |
This is issued to the PIC chips at the end of an IRQ-based interrupt routine. More... | |
Variables | |
static byte_t | master_cur_mask |
The current mask of the master. | |
static byte_t | slave_cur_mask |
The current mask of the slave. | |
pic8259 definitions.
int pic8259_irq_disable | ( | uint32_t | irq | ) |
This function, disable irqs on the pic.
This function provide a tool for enabling irq from the pic processor.
irq | Number of irq to enable. |
int pic8259_irq_enable | ( | uint32_t | irq | ) |
This function, enable irqs on the pic.
This function provide a tool for enabling irq from the pic processor.
irq | Number of irq to enable. |
void pic8259_send_eoi | ( | uint32_t | irq | ) |
This is issued to the PIC chips at the end of an IRQ-based interrupt routine.
irq | The interrupt number. |