15b81b6b3SRodney W. Grimes /*- 25b81b6b3SRodney W. Grimes * Copyright (c) 1990 The Regents of the University of California. 35b81b6b3SRodney W. Grimes * All rights reserved. 45b81b6b3SRodney W. Grimes * 55b81b6b3SRodney W. Grimes * This code is derived from software contributed to Berkeley by 65b81b6b3SRodney W. Grimes * William Jolitz. 75b81b6b3SRodney W. Grimes * 85b81b6b3SRodney W. Grimes * Redistribution and use in source and binary forms, with or without 95b81b6b3SRodney W. Grimes * modification, are permitted provided that the following conditions 105b81b6b3SRodney W. Grimes * are met: 115b81b6b3SRodney W. Grimes * 1. Redistributions of source code must retain the above copyright 125b81b6b3SRodney W. Grimes * notice, this list of conditions and the following disclaimer. 135b81b6b3SRodney W. Grimes * 2. Redistributions in binary form must reproduce the above copyright 145b81b6b3SRodney W. Grimes * notice, this list of conditions and the following disclaimer in the 155b81b6b3SRodney W. Grimes * documentation and/or other materials provided with the distribution. 165b81b6b3SRodney W. Grimes * 3. All advertising materials mentioning features or use of this software 175b81b6b3SRodney W. Grimes * must display the following acknowledgement: 185b81b6b3SRodney W. Grimes * This product includes software developed by the University of 195b81b6b3SRodney W. Grimes * California, Berkeley and its contributors. 205b81b6b3SRodney W. Grimes * 4. Neither the name of the University nor the names of its contributors 215b81b6b3SRodney W. Grimes * may be used to endorse or promote products derived from this software 225b81b6b3SRodney W. Grimes * without specific prior written permission. 235b81b6b3SRodney W. Grimes * 245b81b6b3SRodney W. Grimes * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 255b81b6b3SRodney W. Grimes * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 265b81b6b3SRodney W. Grimes * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 275b81b6b3SRodney W. Grimes * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 285b81b6b3SRodney W. Grimes * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 295b81b6b3SRodney W. Grimes * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 305b81b6b3SRodney W. Grimes * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 315b81b6b3SRodney W. Grimes * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 325b81b6b3SRodney W. Grimes * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 335b81b6b3SRodney W. Grimes * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 345b81b6b3SRodney W. Grimes * SUCH DAMAGE. 355b81b6b3SRodney W. Grimes * 365b81b6b3SRodney W. Grimes * @(#)reg.h 5.5 (Berkeley) 1/18/91 375b81b6b3SRodney W. Grimes */ 385b81b6b3SRodney W. Grimes 395b81b6b3SRodney W. Grimes /* 405b81b6b3SRodney W. Grimes * Location of the users' stored 415b81b6b3SRodney W. Grimes * registers within appropriate frame of 'trap' and 'syscall', relative to 425b81b6b3SRodney W. Grimes * base of stack frame. 435b81b6b3SRodney W. Grimes * Normal usage is u.u_ar0[XX] in kernel. 445b81b6b3SRodney W. Grimes */ 455b81b6b3SRodney W. Grimes 465b81b6b3SRodney W. Grimes /* When referenced during a trap/exception, registers are at these offsets */ 475b81b6b3SRodney W. Grimes 485b81b6b3SRodney W. Grimes #define tES (0) 495b81b6b3SRodney W. Grimes #define tDS (1) 505b81b6b3SRodney W. Grimes #define tEDI (2) 515b81b6b3SRodney W. Grimes #define tESI (3) 525b81b6b3SRodney W. Grimes #define tEBP (4) 535b81b6b3SRodney W. Grimes 545b81b6b3SRodney W. Grimes #define tEBX (6) 555b81b6b3SRodney W. Grimes #define tEDX (7) 565b81b6b3SRodney W. Grimes #define tECX (8) 575b81b6b3SRodney W. Grimes #define tEAX (9) 585b81b6b3SRodney W. Grimes 595b81b6b3SRodney W. Grimes #define tEIP (12) 605b81b6b3SRodney W. Grimes #define tCS (13) 615b81b6b3SRodney W. Grimes #define tEFLAGS (14) 625b81b6b3SRodney W. Grimes #define tESP (15) 635b81b6b3SRodney W. Grimes #define tSS (16) 645b81b6b3SRodney W. Grimes 655b81b6b3SRodney W. Grimes /* During a system call, registers are at these offsets instead of above. */ 665b81b6b3SRodney W. Grimes 675b81b6b3SRodney W. Grimes #define sEDI (0) 685b81b6b3SRodney W. Grimes #define sESI (1) 695b81b6b3SRodney W. Grimes #define sEBP (2) 705b81b6b3SRodney W. Grimes 715b81b6b3SRodney W. Grimes #define sEBX (4) 725b81b6b3SRodney W. Grimes #define sEDX (5) 735b81b6b3SRodney W. Grimes #define sECX (6) 745b81b6b3SRodney W. Grimes #define sEAX (7) 755b81b6b3SRodney W. Grimes #define sEFLAGS (8) 765b81b6b3SRodney W. Grimes #define sEIP (9) 775b81b6b3SRodney W. Grimes #define sCS (10) 785b81b6b3SRodney W. Grimes #define sESP (11) 795b81b6b3SRodney W. Grimes #define sSS (12) 805b81b6b3SRodney W. Grimes 815b81b6b3SRodney W. Grimes #define PC sEIP 825b81b6b3SRodney W. Grimes #define SP sESP 835b81b6b3SRodney W. Grimes #define PS sEFLAGS 845b81b6b3SRodney W. Grimes #define R0 sEDX 855b81b6b3SRodney W. Grimes #define R1 sECX 865b81b6b3SRodney W. Grimes /* 875b81b6b3SRodney W. Grimes * Registers accessible to ptrace(2) syscall for debugger 885b81b6b3SRodney W. Grimes */ 895b81b6b3SRodney W. Grimes #ifdef IPCREG 905b81b6b3SRodney W. Grimes #define NIPCREG 14 915b81b6b3SRodney W. Grimes int ipcreg[NIPCREG] = 925b81b6b3SRodney W. Grimes { tES,tDS,tEDI,tESI,tEBP,tEBX,tEDX,tECX,tEAX,tEIP,tCS,tEFLAGS,tESP,tSS }; 935b81b6b3SRodney W. Grimes #endif 94