18 |
#ifndef __i386_segments_h |
#ifndef __i386_segments_h |
19 |
#define __i386_segments_h 1 |
#define __i386_segments_h 1 |
20 |
|
|
21 |
#define SZGDT 9 |
#define SZGDT (8 + NCPUS) |
22 |
#define SZIDT 256 |
#define SZIDT 256 |
23 |
#define SZLDT 3 |
#define SZLDT 3 |
24 |
|
|
25 |
#define KERNEL_CS 0x08 |
#define KERNEL_CS 0x08 |
26 |
#define KERNEL_DS 0x10 |
#define KERNEL_DS 0x10 |
27 |
|
#define KERNEL_LDT 0x28 |
28 |
|
#define USER_LDT 0x30 |
29 |
|
#define KERNEL_TSS 0x38 |
30 |
|
|
31 |
#define USER_CS 0x07 |
#define USER_CS 0x07 |
32 |
#define USER_DS 0x0F |
#define USER_DS 0x0F |
|
#define KERNEL_TSS 0x28 |
|
|
#define USER_TSS 0x30 |
|
|
#define KERNEL_LDT 0x38 |
|
|
#define USER_LDT 0x40 |
|
|
#define USER_SYSCALL 0x4B |
|
33 |
|
|
34 |
#if !defined(ASSEMBLER) |
#if !defined(ASSEMBLER) |
35 |
|
|
53 |
unsigned long ldt, tracetrap, bmoffset; |
unsigned long ldt, tracetrap, bmoffset; |
54 |
}; |
}; |
55 |
|
|
56 |
extern struct tss_segment ktss; |
extern struct tss_segment ktss [NCPUS]; |
57 |
|
|
58 |
struct segment_pointer |
struct segment_pointer |
59 |
{ |
{ |