Changeset View
Changeset View
Standalone View
Standalone View
sys/i386/include/segments.h
Show First 20 Lines • Show All 78 Lines • ▼ Show 20 Lines | |||||
#define SEGEX_EXT 0x01 /* recursive or externally induced */ | #define SEGEX_EXT 0x01 /* recursive or externally induced */ | ||||
#define SEGEX_IDT 0x02 /* interrupt descriptor table */ | #define SEGEX_IDT 0x02 /* interrupt descriptor table */ | ||||
#define SEGEX_TI 0x04 /* local descriptor table */ | #define SEGEX_TI 0x04 /* local descriptor table */ | ||||
/* other bits are affected descriptor index */ | /* other bits are affected descriptor index */ | ||||
#define SEGEX_IDX(s) (((s)>>3)&0x1fff) | #define SEGEX_IDX(s) (((s)>>3)&0x1fff) | ||||
#ifdef _KERNEL | #ifdef _KERNEL | ||||
extern int _default_ldt; | extern int _default_ldt; | ||||
extern union descriptor gdt[]; | extern union descriptor *gdt; | ||||
extern union descriptor ldt[NLDT]; | extern union descriptor *ldt; | ||||
extern struct soft_segment_descriptor gdt_segs[]; | extern struct soft_segment_descriptor gdt_segs[]; | ||||
extern struct gate_descriptor *idt; | extern struct gate_descriptor *idt; | ||||
extern struct region_descriptor r_gdt, r_idt; | |||||
void lgdt(struct region_descriptor *rdp); | void lgdt(struct region_descriptor *rdp); | ||||
void sdtossd(struct segment_descriptor *sdp, | void sdtossd(struct segment_descriptor *sdp, | ||||
struct soft_segment_descriptor *ssdp); | struct soft_segment_descriptor *ssdp); | ||||
void ssdtosd(struct soft_segment_descriptor *ssdp, | void ssdtosd(struct soft_segment_descriptor *ssdp, | ||||
struct segment_descriptor *sdp); | struct segment_descriptor *sdp); | ||||
#endif /* _KERNEL */ | #endif /* _KERNEL */ | ||||
#endif /* !_MACHINE_SEGMENTS_H_ */ | #endif /* !_MACHINE_SEGMENTS_H_ */ |