|
My Project
|
#include <manux/config.h>#include <manux/memoire.h>#include <manux/io.h>#include <manux/types.h>#include <manux/errno.h>#include <manux/intel-8259a.h>
Aller au code source de ce fichier.
Classes | |
| struct | i8259aClient |
| Structure permettant de définir un matériel "client". Plus de détails... | |
Macros | |
| #define | PIC_EOI 0x20 |
| #define | ICW1_INIT 0x10 |
| #define | ICW1_ICW4 0x01 |
| #define | ICW3_ESCLAVE2 0x02 |
| #define | ICW3_MAITRE2 0x04 |
| #define | ICW4_8086 0x01 |
| #define | delaiOutB {for(int __x = 0; __x<20; __x++){asm("");}} |
Fonctions | |
| void | i8259aInit (uint8_t intBase) |
| int | i8259aAjouterHandler (int numIRQ, void(*handler)(void *), void *private) |
| Ajout d'un handler. | |
| void | i8259aInterdireIRQ (uint8_t numIRQ) |
| void | i8259aAutoriserIRQ (uint8_t numIRQ) |
| Masquage d'une IRQ. | |
| void | i8259aAckIRQ (uint8_t numIRQ) |
| Accusé de réception d'une IRQ. | |
| void | i8259aGestionIRQ (TousRegistres registres, uint32_t numIRQ, uint32_t eip, uint32_t cs, uint32_t eFlags) |
| Le handler de gestion effective des IRQ. | |
Variables | |
| i8259aClient | handlerClients [I8259A_NB_IRQ][MANUX_NB_HANDLER_PAR_IRQ] |
| int | nbHandlerClients [I8259A_NB_IRQ] |
| #define delaiOutB {for(int __x = 0; __x<20; __x++){asm("");}} |
Définition à la ligne 54 du fichier intel-8259a.c.
| #define ICW1_ICW4 0x01 |
Définition à la ligne 44 du fichier intel-8259a.c.
| #define ICW1_INIT 0x10 |
Définition à la ligne 43 du fichier intel-8259a.c.
| #define ICW3_ESCLAVE2 0x02 |
Définition à la ligne 47 du fichier intel-8259a.c.
| #define ICW3_MAITRE2 0x04 |
Définition à la ligne 48 du fichier intel-8259a.c.
| #define ICW4_8086 0x01 |
Définition à la ligne 51 du fichier intel-8259a.c.
| #define PIC_EOI 0x20 |
Définition à la ligne 40 du fichier intel-8259a.c.
Accusé de réception d'une IRQ.
Note : on envoie ici un EOI non spécifique (cf [5] p 15) alors que Linux semble faire du specifique.
Définition à la ligne 181 du fichier intel-8259a.c.
Ajout d'un handler.
Définition à la ligne 118 du fichier intel-8259a.c.
Masquage d'une IRQ.
Définition à la ligne 157 du fichier intel-8259a.c.
| void i8259aGestionIRQ | ( | TousRegistres | registres, |
| uint32_t | numIRQ, | ||
| uint32_t | eip, | ||
| uint32_t | cs, | ||
| uint32_t | eFlags | ||
| ) |
Le handler de gestion effective des IRQ.
C'est cette fonction qui est invoquée lors d'une interruption matérielle.
Définition à la ligne 196 du fichier intel-8259a.c.
Définition à la ligne 61 du fichier intel-8259a.c.
Masquage d'une IRQ
Définition à la ligne 136 du fichier intel-8259a.c.
| i8259aClient handlerClients[I8259A_NB_IRQ][MANUX_NB_HANDLER_PAR_IRQ] |
Tableau des handlers et data
Définition à la ligne 30 du fichier intel-8259a.c.
| int nbHandlerClients[I8259A_NB_IRQ] |
Nombre de handlers enregistrés par IRQ
Définition à la ligne 35 du fichier intel-8259a.c.