diff --git a/include/irq.h b/include/irq.h new file mode 100644 index 0000000..c11ba7a --- /dev/null +++ b/include/irq.h @@ -0,0 +1,19 @@ +#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 idtdesc { + u16 offset0_15; + u16 select; + u16 type; + u16 offset16_31; +} idtdesc __attribute__ ((packed)); + +/* registre IDTR */ +struct idtr { + u16 limite; + u32 base; +} __attribute__ ((packed));