selectors, descriptors, more interrupt init
[3sys] / sys1 / kern / src / desc.h
1 #ifndef DESC_H_
2 #define DESC_H_
3
4 #include <stdint.h>
5
6 struct desc {
7         uint32_t d[2];
8 };
9
10 enum { SEG_NULL, SEG_CODE, SEG_DATA, SEG_TSS };
11 enum { GATE_INTR, GATE_TRAP };
12
13 void desc_seg(struct desc *desc, int type, uint32_t base, uint32_t limit, int dpl);
14 void desc_intr(struct desc *desc, int type, uint16_t sel, uint32_t offs, int dpl);
15
16 #endif  /* DESC_H_ */