6 #include "/386/include/ureg.h"
9 #define REGOFF(x) (ulong)(&((struct Ureg *) 0)->x)
15 #define REGSIZE sizeof(struct Ureg)
16 #define FP_CTL(x) (REGSIZE+4*(x))
17 #define FP_REG(x) (FP_CTL(7)+10*(x))
18 #define FPREGSIZE (7*4+8*10)
20 Reglist i386reglist[] = {
21 {"DI", REGOFF(di), RINT, 'X'},
22 {"SI", REGOFF(si), RINT, 'X'},
23 {"BP", REGOFF(bp), RINT, 'X'},
24 {"BX", REGOFF(bx), RINT, 'X'},
25 {"DX", REGOFF(dx), RINT, 'X'},
26 {"CX", REGOFF(cx), RINT, 'X'},
27 {"AX", REGOFF(ax), RINT, 'X'},
28 {"GS", REGOFF(gs), RINT, 'X'},
29 {"FS", REGOFF(fs), RINT, 'X'},
30 {"ES", REGOFF(es), RINT, 'X'},
31 {"DS", REGOFF(ds), RINT, 'X'},
32 {"TRAP", REGOFF(trap), RINT, 'X'},
33 {"ECODE", REGOFF(ecode), RINT, 'X'},
34 {"PC", PC, RINT, 'X'},
35 {"CS", REGOFF(cs), RINT, 'X'},
36 {"EFLAGS", REGOFF(flags), RINT, 'X'},
37 {"SP", SP, RINT, 'X'},
38 {"SS", REGOFF(ss), RINT, 'X'},
40 {"E0", FP_CTL(0), RFLT, 'X'},
41 {"E1", FP_CTL(1), RFLT, 'X'},
42 {"E2", FP_CTL(2), RFLT, 'X'},
43 {"E3", FP_CTL(3), RFLT, 'X'},
44 {"E4", FP_CTL(4), RFLT, 'X'},
45 {"E5", FP_CTL(5), RFLT, 'X'},
46 {"E6", FP_CTL(6), RFLT, 'X'},
47 {"F0", FP_REG(0), RFLT, '3'},
48 {"F1", FP_REG(1), RFLT, '3'},
49 {"F2", FP_REG(2), RFLT, '3'},
50 {"F3", FP_REG(3), RFLT, '3'},
51 {"F4", FP_REG(4), RFLT, '3'},
52 {"F5", FP_REG(5), RFLT, '3'},
53 {"F6", FP_REG(6), RFLT, '3'},
54 {"F7", FP_REG(7), RFLT, '3'},
61 MI386, /* machine type */
62 i386reglist, /* register list */
63 REGSIZE, /* size of registers in bytes */
64 FPREGSIZE, /* size of fp registers in bytes */
65 "PC", /* name of PC */
66 "SP", /* name of SP */
67 0, /* link register */
68 "setSB", /* static base register name (bogus anyways) */
69 0, /* static base register value */
70 0x1000, /* page size */
71 0xF0100000ULL, /* kernel base */
72 0xF0000000ULL, /* kernel text mask */
73 0x7FFFFFFFULL, /* user stack top */
74 1, /* quantization of pc */