|
My Kernel v0.1.0
|

Macros | |
| #define | PIC_IRQ_COUNT (IRQ_ATA_SECONDARY + 1) |
| The total number of IRQ. | |
Enumerations | |
| enum | pic_irq { IRQ_TIMER = 0 , IRQ_KEYBOARD , IRQ_CASCADE , IRQ_COM2 , IRQ_COM1 , IRQ_LPT2 , IRQ_FLOPPY , IRQ_LPT1 , IRQ_CMOS , IRQ_FREE1 , IRQ_FREE2 , IRQ_FREE3 , IRQ_PS2 , IRQ_FPU , IRQ_ATA_PRIMARY , IRQ_ATA_SECONDARY } |
| All available PIC irqs, by vector index. More... | |
Functions | |
| void | pic_reset () |
| Reset the PIC. More... | |
| void | pic_eoi (pic_irq) |
| Send an End Of Interrupt command to the PIC. More... | |
| void | pic_disable_irq (pic_irq) |
| Disable the given IRQ. | |
| void | pic_enable_irq (pic_irq) |
| Enable the given IRQ. | |
Any interaction done with the PIC should be done through the functions defined inside this header.
This also includes the definition of the interrupt handlers for the IRQs raised by the PIC.
| enum pic_irq |
| void pic_eoi | ( | pic_irq | irq | ) |
This is issued to the PIC chips at the end of an IRQ-based interrupt routine
| interrupt | The interrupt request we finished treating |
| void pic_reset | ( | ) |
Should be called when entering protected mode.