|
TacOS
0.2
|
Initialisation de la table des descripteurs d'interruption (et exceptions) et association aux handlers. Plus de détails...
#include <types.h>

Aller au code source de ce fichier.
Macros | |
| #define | EXCEPTION_NUM 32 |
| #define | EXCEPTION_BASE 0 |
| #define | INTERRUPT_NUM 32 |
| #define | INTERRUPT_BASE 32 /* Juste après les exceptions */ |
| #define | IDT_TRAPGATE 0x7 |
| #define | IDT_INTGATE 0x6 |
| #define | IDT_TASKGATE 0x5 |
Fonctions | |
| void | idt_setup () |
| Initialisation de l'IDT. Plus de détails... | |
| int | idt_set_handler (uint8_t index, paddr_t handler_address, uint8_t priority) |
| Associe un handler à une interruption/exception. Plus de détails... | |
| void | idt_set_handler_type (uint8_t index, uint8_t trap_type) |
| Change le type d'une interruption (interrupt gate, trap gate, task gate). Plus de détails... | |
| void | idt_disable_handler (uint8_t index) |
| Désactive une interruption. Plus de détails... | |
Copyright (C) 2010, 2011, 2012 - TacOS developers.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details at http://www.gnu.org/copyleft/gpl.html
You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses.
Description de ce que fait le fichier
| #define EXCEPTION_BASE 0 |
On va définir une constante pour dire où on va mapper (pour l'idt)
| #define EXCEPTION_NUM 32 |
Nombre d'exceptions :
| #define INTERRUPT_BASE 32 /* Juste après les exceptions */ |
Définition de là où on mappe les interruptions.
| #define INTERRUPT_NUM 32 |
Nombre d'interruptions :
| void idt_disable_handler | ( | uint8_t | index | ) |
| index | L'index dans l'IDT. |


| index | L'index dans l'IDT. |
| handler_address | L'adresse du handler. |
| priority | Le niveau de privilège dans lequel va s'exécuter l'interruption. |

| index | L'index dans l'IDT. |
| trap_type | Le type de gate. |

| void idt_setup | ( | ) |
Initialisation de l'IDT avec des champs par défaut mais aucun handler. L'IDT est envoyée au CPU.

1.8.7