home *** CD-ROM | disk | FTP | other *** search
/ STraTOS 1997 April & May / STraTOS 1 - 1997 April & May.iso / CD01 / LINUX / MATH_EMU.ZIP / MATH_EMU / REG.H < prev    next >
Encoding:
C/C++ Source or Header  |  1979-12-31  |  3.1 KB  |  103 lines

  1. /*    $NetBSD: reg.h,v 1.11 1995/03/26 17:08:38 briggs Exp $    */
  2.  
  3. /*
  4.  * Copyright (c) 1988 University of Utah.
  5.  * Copyright (c) 1982, 1986, 1990 The Regents of the University of California.
  6.  * All rights reserved.
  7.  *
  8.  * This code is derived from software contributed to Berkeley by
  9.  * the Systems Programming Group of the University of Utah Computer
  10.  * Science Department.
  11.  *
  12.  * Redistribution and use in source and binary forms, with or without
  13.  * modification, are permitted provided that the following conditions
  14.  * are met:
  15.  * 1. Redistributions of source code must retain the above copyright
  16.  *    notice, this list of conditions and the following disclaimer.
  17.  * 2. Redistributions in binary form must reproduce the above copyright
  18.  *    notice, this list of conditions and the following disclaimer in the
  19.  *    documentation and/or other materials provided with the distribution.
  20.  * 3. All advertising materials mentioning features or use of this software
  21.  *    must display the following acknowledgement:
  22.  *    This product includes software developed by the University of
  23.  *    California, Berkeley and its contributors.
  24.  * 4. Neither the name of the University nor the names of its contributors
  25.  *    may be used to endorse or promote products derived from this software
  26.  *    without specific prior written permission.
  27.  *
  28.  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  29.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  30.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  31.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  32.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  33.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  34.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  35.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  36.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  37.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  38.  * SUCH DAMAGE.
  39.  *
  40.  * from: Utah Hdr: reg.h 1.1 90/07/09
  41.  *
  42.  *    @(#)reg.h    7.2 (Berkeley) 11/3/90
  43.  */
  44.  
  45. #ifndef _M68K_REG_H_
  46. #define _M68K_REG_H_
  47.  
  48. /*
  49.  * Register set accessible via /proc/$pid/reg and ptrace()
  50.  */
  51. struct reg {
  52.     int    r_regs[16];    /* D0-D7/A0-A7 */
  53.     int    r_sr;
  54.     int    r_pc;
  55. };
  56.  
  57. struct fpreg {
  58.     int    r_regs[8*3];    /* FP0-FP7 */
  59.     int    r_fpcr;
  60.     int    r_fpsr;
  61.     int    r_fpiar;
  62. };
  63.  
  64. /* XXXX this is historical (but it can't be deprecated quite yet) */
  65.  
  66. /*
  67.  * Location of the users' stored
  68.  * registers relative to D0.
  69.  * Usage is u.u_ar0[XX].
  70.  */
  71. #define    D0    (0)
  72. #define    D1    (1)
  73. #define    D2    (2)
  74. #define    D3    (3)
  75. #define    D4    (4)
  76. #define    D5    (5)
  77. #define    D6    (6)
  78. #define    D7    (7)
  79. #define    A0    (8)
  80. #define    A1    (9)
  81. #define    A2    (10)
  82. #define    A3    (11)
  83. #define    A4    (12)
  84. #define    A5    (13)
  85. #define    A6    (14)
  86. #define    A7    (15)
  87.  
  88. #define    SP    A7
  89. #define    PS    (16)
  90. #define    PC    (17)
  91.  
  92. #ifdef _KERNEL
  93. /*
  94.  * Due to a mental lapse somewhere down the line, wait returns its values
  95.  * in strange registers.  Kludge it up here so we don't have to in the
  96.  * machine-independent code.
  97.  */
  98. #define    R0    D1
  99. #define    R1    A0
  100. #endif
  101.  
  102. #endif /* !_M68K_REG_H_ */
  103.