home *** CD-ROM | disk | FTP | other *** search
- /*
- * @(#) reg.h 2.1 88/05/18
- *
- * Copyright (C) The Santa Cruz Operation, 1984, 1985, 1986, 1987.
- * Copyright (C) Microsoft Corporation, 1984, 1985, 1986, 1987.
- * This Module contains Proprietary Information of
- * The Santa Cruz Operation, Microsoft Corporation
- * and AT&T, and should be treated as Confidential.
- */
-
- /*
- * offsets of user registers on kernel stack
- *
- * The values here depend largely on the hardware, and on
- * the code for system call, trap, and interrupt entry.
- */
-
-
- #ifdef M_I386
- #define RSS 18
- #define RESP 17
- #define REFL 16
- #define RCS 15
- #define REIP 14
- #define RCODE 13
- #define RTYPE 12
- #define REAX 11
- #define RECX 10
- #define REDX 9
- #define REBX 8
- #define KESP 7 /* kernel stack pointer, not user's! */
- #define REBP 6
- #define RESI 5
- #define REDI 4
- #define RDS 3
- #define RES 2
- #define RFS 1
- #define RGS 0
- #endif
-
- /*
- * users regs on kernel stack i80286 kernel.
- */
-
- #ifdef M_I286
- #define RSS 7 /* user ss */
- #define RSP 6 /* user sp */
- #define USP 6
- #define RFL 5
- #define RCS 4
- #define RIP 3
- #define Rviol 2
- #define RES 1
- #define RAX 0
- #define RCX -1
- #define RDX -2
- #define RBX -3
- #define RKSP -4 /* NOT sp to user's stack */
- #define RBP -5
- #define RSI -6
- #define RDI -7
- #define RDS -8
- #endif
-
-
- /* These values are for the i8086 kernel */
-
- #ifdef M_I8086
- #define URFLAG 12 /* these guys are in the user data space, */
- #define URCS 10 /* and are read by fuword(u.u_aAX[RSP] + URxx) */
- #define URIP 8
- #define URVEC 6
- #define URBP 4
- #define URES 2
- #define URDX 0
-
- #define RSP86 8 /* these guys are on system stack */
- #define USP86 8
- #define RSS86 7
- #define RDS86 5
- #define RDI86 4
- #define RSI86 3
- #define RCX86 2
- #define RBX86 1
- #define RAX86 0
- #define Rstate -1 /* user/system mode, trap # */
- #define Rilev -2 /* interrupted procedure level */
- #endif
-