152131Smckusick /* 252131Smckusick * Copyright (c) 1988 University of Utah. 363217Sbostic * Copyright (c) 1992, 1993 463217Sbostic * The Regents of the University of California. All rights reserved. 552131Smckusick * 652131Smckusick * This code is derived from software contributed to Berkeley by 752131Smckusick * the Systems Programming Group of the University of Utah Computer 852131Smckusick * Science Department and Ralph Campbell. 952131Smckusick * 1052131Smckusick * %sccs.include.redist.c% 1152131Smckusick * 1252131Smckusick * from: Utah $Hdr: reg.h 1.1 90/07/09$ 1352131Smckusick * 14*67483Smckusick * @(#)reg.h 8.3 (Berkeley) 07/03/94 1552131Smckusick */ 1652131Smckusick 1752131Smckusick /* 1852131Smckusick * Location of the users' stored 1952131Smckusick * registers relative to ZERO. 2052131Smckusick * Usage is p->p_regs[XX]. 2152131Smckusick */ 2252131Smckusick #define ZERO 0 2352131Smckusick #define AST 1 2452131Smckusick #define V0 2 2552131Smckusick #define V1 3 2652131Smckusick #define A0 4 2752131Smckusick #define A1 5 2852131Smckusick #define A2 6 2952131Smckusick #define A3 7 3052131Smckusick #define T0 8 3152131Smckusick #define T1 9 3252131Smckusick #define T2 10 3352131Smckusick #define T3 11 3452131Smckusick #define T4 12 3552131Smckusick #define T5 13 3652131Smckusick #define T6 14 3752131Smckusick #define T7 15 3852131Smckusick #define S0 16 3952131Smckusick #define S1 17 4052131Smckusick #define S2 18 4152131Smckusick #define S3 19 4252131Smckusick #define S4 20 4352131Smckusick #define S5 21 4452131Smckusick #define S6 22 4552131Smckusick #define S7 23 4652131Smckusick #define T8 24 4752131Smckusick #define T9 25 4852131Smckusick #define K0 26 4952131Smckusick #define K1 27 5052131Smckusick #define GP 28 5152131Smckusick #define SP 29 5252131Smckusick #define S8 30 5352131Smckusick #define RA 31 5452131Smckusick #define MULLO 32 5552131Smckusick #define MULHI 33 5652131Smckusick #define PC 34 5752131Smckusick #define SR 35 5852131Smckusick #define PS 35 /* alias for SR */ 5952131Smckusick #define F0 36 6052131Smckusick #define F1 37 6152131Smckusick #define F2 38 6252131Smckusick #define F3 39 6352131Smckusick #define F4 40 6452131Smckusick #define F5 41 6552131Smckusick #define F6 42 6652131Smckusick #define F7 43 6752131Smckusick #define F8 44 6852131Smckusick #define F9 45 6952131Smckusick #define F10 46 7052131Smckusick #define F11 47 7152131Smckusick #define F12 48 7252131Smckusick #define F13 49 7352131Smckusick #define F14 50 7452131Smckusick #define F15 51 7552131Smckusick #define F16 52 7652131Smckusick #define F17 53 7752131Smckusick #define F18 54 7852131Smckusick #define F19 55 7952131Smckusick #define F20 56 8052131Smckusick #define F21 57 8152131Smckusick #define F22 58 8252131Smckusick #define F23 59 8352131Smckusick #define F24 60 8452131Smckusick #define F25 61 8552131Smckusick #define F26 62 8652131Smckusick #define F27 63 8752131Smckusick #define F28 64 8852131Smckusick #define F29 65 8952131Smckusick #define F30 66 9052131Smckusick #define F31 67 9152131Smckusick #define FSR 68 9252131Smckusick 9352131Smckusick #ifdef IPCREG 9452131Smckusick #define NIPCREG 69 9552131Smckusick int ipcreg[NIPCREG] = { 9652131Smckusick ZERO, AST, V0, V1, A0, A1, A2, A3, T0, T1, T2, T3, T4, T5, T6, T7, 9752131Smckusick S0, S1, S2, S3, S4, S5, S6, S7, T8, T9, K0, K1, GP, SP, S8, RA, 9852131Smckusick MULLO, MULHI, PC, 9952131Smckusick F0, F1, F2, F3, F4, F5, F6, F7, 10052131Smckusick F8, F9, F10, F11, F12, F13, F14, F15, 10152131Smckusick F16, F17, F18, F19, F20, F21, F22, F23, 10252131Smckusick F24, F25, F26, F27, F28, F29, F30, F31, FSR, 10352131Smckusick }; 10452131Smckusick #endif 10565601Smckusick 10665601Smckusick #ifdef LANGUAGE_C 10765601Smckusick /* 10865601Smckusick * Register set accessible via /proc/$pid/reg 10965601Smckusick */ 11065601Smckusick struct reg { 11165601Smckusick int r_regs[69]; /* numbered as above */ 11265601Smckusick }; 113*67483Smckusick 114*67483Smckusick /* 115*67483Smckusick * Register set accessible via /proc/$pid/fpreg 116*67483Smckusick */ 117*67483Smckusick struct fpreg { 118*67483Smckusick int r_fpregs[33]; /* not implemented */ 119*67483Smckusick }; 12065601Smckusick #endif /* LANGUAGE_C */ 121