32 lines
715 B
C
32 lines
715 B
C
#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);
|
|
|
|
|
|
|
|
|
|
|