From d089778aef0620e11d6b09438c5bfa77f41ac48d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20Hord=C3=A9?= Date: Mon, 2 Apr 2007 13:35:56 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20d=C3=A9claration=20de=20fonctions=20aya?= =?UTF-8?q?nt=20rapport=20avec=20la=20gestion=20des=20IRQ=20et=20interrupt?= =?UTF-8?q?ions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/idt.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 include/idt.h diff --git a/include/idt.h b/include/idt.h new file mode 100644 index 0000000..65f4cb9 --- /dev/null +++ b/include/idt.h @@ -0,0 +1,31 @@ +#include "types.h" + + + +#define INTGATE 0x8E00 /* utilise pour gerer les interruptions */ +#define TRAPGATE 0x8F00 /* utilise pour faire des appels systemes */ +#define TASKGATE 0x8500 /* utilise pour commuter des taches */ +#define CALLGATE 0x8C00 /* utilise pour appeler du code */ +#define LDTDES 0x8200 /* utilise pour pointer une LDT */ + +/* descripteur de segment */ +typedef struct idtdes { + u16 offset0_15; + u16 select; + u16 type; + u16 offset16_31; +} idtdes __attribute__ ((packed)); + + + + void initidt(void); + void setidt(u32 offset, u16 select, u16 type,u16 index); + void makeidtdes(u32 offset, u16 select, u16 type, idtdes* desc); + void initpic(void); + void enableirq(u8 irq); + void disableirq(u8 irq); + + + + +