1 #define GDTTYPE(x) ((uvlong)(x)<<40)
3 GDTR = GDTTYPE(0x10), /* read-only */
4 GDTRW = GDTTYPE(0x12), /* read-write *
5 GDTX = GDTTYPE(0x18), /* execute-only */
6 GDTRX = GDTTYPE(0x1A), /* read-execute */
8 GDTTSS = GDTTYPE(0x09),
10 GDTA = 1ULL<<40, /* accessed */
11 GDTE = 1ULL<<42, /* expand down (data only) */
12 GDTC = GDTE, /* conforming (code only) */
13 GDTP = 1ULL<<47, /* present */
14 GDT64 = 1ULL<<53, /* 64-bit code segment */
15 GDT32 = 1ULL<<54, /* 32-bit segment */
16 GDTG = 1ULL<<55, /* granularity */
18 #define GDTLIM(l) ((l) & 0xffff | (uvlong)((l) & 0xf0000)<<32)
19 #define GDTBASE(l) (((uvlong)(l) & 0xffffff)<<16 | (uvlong)((l) & 0xff000000)<<32)
20 #define GDTDPL(l) ((uvlong)(l)<<45)
31 extern char *x86reg[16];
32 extern char *x86segreg[8];