]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/vmx/x86.h
grep: error if sbrk fails
[plan9front.git] / sys / src / cmd / vmx / x86.h
1 #define GDTTYPE(x) ((uvlong)(x)<<40)
2 enum {
3         GDTR    = GDTTYPE(0x10), /* read-only */
4         GDTRW   = GDTTYPE(0x12), /* read-write *
5         GDTX    = GDTTYPE(0x18), /* execute-only */
6         GDTRX   = GDTTYPE(0x1A), /* read-execute */
7         
8         GDTTSS  = GDTTYPE(0x09),
9         
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 */
17 };
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)
21
22 enum {
23         Cr0Pg   = 1<<31,
24         
25         Cr4Pse  = 1<<4,
26         Cr4Pae  = 1<<5,
27         
28         EferLme = 1<<8,
29 };
30
31 extern char *x86reg[16];
32 extern char *x86segreg[8];
33
34 enum {
35         CF      = 1<<0,
36         PF      = 1<<2,
37         AF      = 1<<4,
38         ZF      = 1<<6,
39         SF      = 1<<7,
40         OF      = 1<<11,
41 };