reg.h revision 1.2
1/* 2 * Copyright (c) 1988 University of Utah. 3 * Copyright (c) 1992, 1993 4 * The Regents of the University of California. All rights reserved. 5 * 6 * This code is derived from software contributed to Berkeley by 7 * the Systems Programming Group of the University of Utah Computer 8 * Science Department and Ralph Campbell. 9 * 10 * Redistribution and use in source and binary forms, with or without 11 * modification, are permitted provided that the following conditions 12 * are met: 13 * 1. Redistributions of source code must retain the above copyright 14 * notice, this list of conditions and the following disclaimer. 15 * 2. Redistributions in binary form must reproduce the above copyright 16 * notice, this list of conditions and the following disclaimer in the 17 * documentation and/or other materials provided with the distribution. 18 * 3. All advertising materials mentioning features or use of this software 19 * must display the following acknowledgement: 20 * This product includes software developed by the University of 21 * California, Berkeley and its contributors. 22 * 4. Neither the name of the University nor the names of its contributors 23 * may be used to endorse or promote products derived from this software 24 * without specific prior written permission. 25 * 26 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 27 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 28 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 29 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 30 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * from: Utah Hdr: reg.h 1.1 90/07/09 39 * 40 * from: @(#)reg.h 8.2 (Berkeley) 1/11/94 41 * $Id: reg.h,v 1.2 1994/05/27 08:41:05 glass Exp $ 42 */ 43 44/* 45 * Location of the users' stored 46 * registers relative to ZERO. 47 * Usage is p->p_regs[XX]. 48 */ 49#define ZERO 0 50#define AST 1 51#define V0 2 52#define V1 3 53#define A0 4 54#define A1 5 55#define A2 6 56#define A3 7 57#define T0 8 58#define T1 9 59#define T2 10 60#define T3 11 61#define T4 12 62#define T5 13 63#define T6 14 64#define T7 15 65#define S0 16 66#define S1 17 67#define S2 18 68#define S3 19 69#define S4 20 70#define S5 21 71#define S6 22 72#define S7 23 73#define T8 24 74#define T9 25 75#define K0 26 76#define K1 27 77#define GP 28 78#define SP 29 79#define S8 30 80#define RA 31 81#define MULLO 32 82#define MULHI 33 83#define PC 34 84#define SR 35 85#define PS 35 /* alias for SR */ 86#define F0 36 87#define F1 37 88#define F2 38 89#define F3 39 90#define F4 40 91#define F5 41 92#define F6 42 93#define F7 43 94#define F8 44 95#define F9 45 96#define F10 46 97#define F11 47 98#define F12 48 99#define F13 49 100#define F14 50 101#define F15 51 102#define F16 52 103#define F17 53 104#define F18 54 105#define F19 55 106#define F20 56 107#define F21 57 108#define F22 58 109#define F23 59 110#define F24 60 111#define F25 61 112#define F26 62 113#define F27 63 114#define F28 64 115#define F29 65 116#define F30 66 117#define F31 67 118#define FSR 68 119 120#ifdef IPCREG 121#define NIPCREG 69 122int ipcreg[NIPCREG] = { 123 ZERO, AST, V0, V1, A0, A1, A2, A3, T0, T1, T2, T3, T4, T5, T6, T7, 124 S0, S1, S2, S3, S4, S5, S6, S7, T8, T9, K0, K1, GP, SP, S8, RA, 125 MULLO, MULHI, PC, 126 F0, F1, F2, F3, F4, F5, F6, F7, 127 F8, F9, F10, F11, F12, F13, F14, F15, 128 F16, F17, F18, F19, F20, F21, F22, F23, 129 F24, F25, F26, F27, F28, F29, F30, F31, FSR, 130}; 131#endif 132 133#ifdef LANGUAGE_C 134/* 135 * Register set accessible via /proc/$pid/reg 136 */ 137struct reg { 138 int r_regs[69]; /* numbered as above */ 139}; 140#endif /* LANGUAGE_C */ 141