1*41059Swilliam /*- 2*41059Swilliam * Copyright (c) 1990 The Regents of the University of California. 3*41059Swilliam * All rights reserved. 4*41059Swilliam * 5*41059Swilliam * This code is derived from software contributed to Berkeley by 6*41059Swilliam * William Jolitz. 7*41059Swilliam * 8*41059Swilliam * %sccs.include.noredist.c% 9*41059Swilliam * 10*41059Swilliam * @(#)reg.h 1.2 (Berkeley) 04/24/90 11*41059Swilliam */ 12*41059Swilliam 1340466Sbill /* 1440466Sbill * Location of the users' stored 15*41059Swilliam * registers within appropriate frame of 'trap' and 'syscall', relative to 16*41059Swilliam * base of stack frame. 17*41059Swilliam * Normal usage is u.u_ar0[XX] in kernel. 1840466Sbill */ 1940466Sbill 20*41059Swilliam /* When referenced during a trap/exception, registers are at these offsets */ 2140466Sbill 22*41059Swilliam #define tES (0) 23*41059Swilliam #define tDS (1) 24*41059Swilliam #define tEDI (2) 25*41059Swilliam #define tESI (3) 26*41059Swilliam #define tEBP (4) 27*41059Swilliam 28*41059Swilliam #define tEBX (6) 29*41059Swilliam #define tEDX (7) 30*41059Swilliam #define tECX (8) 31*41059Swilliam #define tEAX (9) 32*41059Swilliam 33*41059Swilliam #define tEIP (12) 34*41059Swilliam #define tCS (13) 35*41059Swilliam #define tEFLAGS (14) 36*41059Swilliam #define tESP (15) 37*41059Swilliam #define tSS (16) 38*41059Swilliam 39*41059Swilliam /* During a system call, registers are at these offsets instead of above. */ 40*41059Swilliam 41*41059Swilliam #define sEDI (0) 42*41059Swilliam #define sESI (1) 43*41059Swilliam #define sEBP (2) 44*41059Swilliam 45*41059Swilliam #define sEBX (4) 46*41059Swilliam #define sEDX (5) 47*41059Swilliam #define sECX (6) 48*41059Swilliam #define sEAX (7) 49*41059Swilliam #define sEFLAGS (8) 50*41059Swilliam #define sEIP (9) 51*41059Swilliam #define sCS (10) 52*41059Swilliam #define sESP (11) 53*41059Swilliam #define sSS (12) 54*41059Swilliam 55*41059Swilliam /* 56*41059Swilliam * Registers accessible to ptrace(2) syscall for debugger 57*41059Swilliam */ 5840466Sbill #ifdef IPCREG 59*41059Swilliam #define NIPCREG 14 6040466Sbill int ipcreg[NIPCREG] = 61*41059Swilliam { tES,tDS,tEDI,tESI,tEBP,tEBX,tEDX,tECX,tEAX,tEIP,tCS,tEFLAGS,tESP,tSS }; 6240466Sbill #endif 63