141059Swilliam /*- 241059Swilliam * Copyright (c) 1990 The Regents of the University of California. 341059Swilliam * All rights reserved. 441059Swilliam * 541059Swilliam * This code is derived from software contributed to Berkeley by 641059Swilliam * William Jolitz. 741059Swilliam * 841059Swilliam * %sccs.include.noredist.c% 941059Swilliam * 10*45642Sbill * @(#)reg.h 5.2 (Berkeley) 11/25/90 1141059Swilliam */ 1241059Swilliam 1340466Sbill /* 1440466Sbill * Location of the users' stored 1541059Swilliam * registers within appropriate frame of 'trap' and 'syscall', relative to 1641059Swilliam * base of stack frame. 1741059Swilliam * Normal usage is u.u_ar0[XX] in kernel. 1840466Sbill */ 1940466Sbill 2041059Swilliam /* When referenced during a trap/exception, registers are at these offsets */ 2140466Sbill 2241059Swilliam #define tES (0) 2341059Swilliam #define tDS (1) 2441059Swilliam #define tEDI (2) 2541059Swilliam #define tESI (3) 2641059Swilliam #define tEBP (4) 2741059Swilliam 2841059Swilliam #define tEBX (6) 2941059Swilliam #define tEDX (7) 3041059Swilliam #define tECX (8) 3141059Swilliam #define tEAX (9) 3241059Swilliam 3341059Swilliam #define tEIP (12) 3441059Swilliam #define tCS (13) 3541059Swilliam #define tEFLAGS (14) 3641059Swilliam #define tESP (15) 3741059Swilliam #define tSS (16) 3841059Swilliam 3941059Swilliam /* During a system call, registers are at these offsets instead of above. */ 4041059Swilliam 4141059Swilliam #define sEDI (0) 4241059Swilliam #define sESI (1) 4341059Swilliam #define sEBP (2) 4441059Swilliam 4541059Swilliam #define sEBX (4) 4641059Swilliam #define sEDX (5) 4741059Swilliam #define sECX (6) 4841059Swilliam #define sEAX (7) 4941059Swilliam #define sEFLAGS (8) 5041059Swilliam #define sEIP (9) 5141059Swilliam #define sCS (10) 5241059Swilliam #define sESP (11) 5341059Swilliam #define sSS (12) 5441059Swilliam 55*45642Sbill #define SP sESP 56*45642Sbill #define PS sEFLAGS 57*45642Sbill #define R0 sEDX 58*45642Sbill #define R1 sECX 5941059Swilliam /* 6041059Swilliam * Registers accessible to ptrace(2) syscall for debugger 6141059Swilliam */ 6240466Sbill #ifdef IPCREG 6341059Swilliam #define NIPCREG 14 6440466Sbill int ipcreg[NIPCREG] = 6541059Swilliam { tES,tDS,tEDI,tESI,tEBP,tEBX,tEDX,tECX,tEAX,tEIP,tCS,tEFLAGS,tESP,tSS }; 6640466Sbill #endif 67