20 lines
556 B
C
20 lines
556 B
C
|
#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));
|