[BACK]Return to genassym.cf CVS log [TXT][DIR] Up to [local] / sys / arch / m88k / m88k

Annotation of sys/arch/m88k/m88k/genassym.cf, Revision 1.1.1.1

1.1       nbrk        1: #      $OpenBSD: genassym.cf,v 1.8 2007/05/12 19:59:52 miod Exp $
                      2: #
                      3: # Copyright (c) 1982, 1990 The Regents of the University of California.
                      4: # All rights reserved.
                      5: #
                      6: # Redistribution and use in source and binary forms, with or without
                      7: # modification, are permitted provided that the following conditions
                      8: # are met:
                      9: # 1. Redistributions of source code must retain the above copyright
                     10: #    notice, this list of conditions and the following disclaimer.
                     11: # 2. Redistributions in binary form must reproduce the above copyright
                     12: #    notice, this list of conditions and the following disclaimer in the
                     13: #    documentation and/or other materials provided with the distribution.
                     14: # 3. Neither the name of the University nor the names of its contributors
                     15: #    may be used to endorse or promote products derived from this software
                     16: #    without specific prior written permission.
                     17: #
                     18: # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
                     19: # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     20: # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     21: # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     22: # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     23: # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     24: # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     25: # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     26: # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     27: # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     28: # SUCH DAMAGE.
                     29: #
                     30: #      @(#)genassym.c  7.8 (Berkeley) 5/7/91
                     31: #      $Id: genassym.cf,v 1.8 2007/05/12 19:59:52 miod Exp $
                     32: #
                     33:
                     34: include <sys/param.h>
                     35: include <sys/buf.h>
                     36: include <sys/time.h>
                     37: include <sys/proc.h>
                     38: include <sys/mbuf.h>
                     39: include <sys/msgbuf.h>
                     40:
                     41: include <machine/cpu.h>
                     42: include <machine/mutex.h>
                     43: include <machine/trap.h>
                     44: include <machine/psl.h>
                     45: include <machine/vmparam.h>
                     46:
                     47: include <sys/syscall.h>
                     48: include <sys/user.h>
                     49:
                     50: # proc fields and values
                     51: struct proc
                     52: member p_forw
                     53: member p_back
                     54: member p_addr
                     55: member p_stat
                     56: member p_wchan
                     57: member p_cpu
                     58: member P_ASTPENDING    p_md.md_astpending
                     59:
                     60: export SRUN
                     61: export SONPROC
                     62:
                     63: # cpu fields
                     64: struct cpu_info
                     65: member ci_curproc
                     66: member ci_curpcb
                     67: member ci_primary
                     68: member ci_pfsr_i0
                     69: member ci_pfsr_i1
                     70: member ci_pfsr_d0
                     71: member ci_pfsr_d1
                     72: member ci_idle_pcb
                     73: member ci_want_resched
                     74:
                     75: # general constants
                     76: export UPAGES
                     77: # We export USPACE under another name to allow C code to include "assym.h".
                     78: #export        USPACE
                     79: define USIZE                   USPACE
                     80:
                     81: # pcb fields
                     82: struct pcb
                     83: member pcb_onfault
                     84: member PCB_USER_STATE          user_state
                     85:
                     86: # system calls
                     87: export SYS_exit
                     88: export SYS_sigreturn
                     89:
                     90: # trapframe element indexes
                     91: define EF_R0           offsetof(struct trapframe, tf_r[0]) / sizeof(int)
                     92: define EF_FPSR         offsetof(struct trapframe, tf_fpsr) / sizeof(int)
                     93: define EF_FPCR         offsetof(struct trapframe, tf_fpcr) / sizeof(int)
                     94: define EF_EPSR         offsetof(struct trapframe, tf_epsr) / sizeof(int)
                     95: define EF_SXIP         offsetof(struct trapframe, tf_sxip) / sizeof(int)
                     96: define EF_SFIP         offsetof(struct trapframe, tf_sfip) / sizeof(int)
                     97: define EF_SNIP         offsetof(struct trapframe, tf_snip) / sizeof(int)
                     98: define EF_SSBR         offsetof(struct trapframe, tf_ssbr) / sizeof(int)
                     99: define EF_DMT0         offsetof(struct trapframe, tf_dmt0) / sizeof(int)
                    100: define EF_DMD0         offsetof(struct trapframe, tf_dmd0) / sizeof(int)
                    101: define EF_DMA0         offsetof(struct trapframe, tf_dma0) / sizeof(int)
                    102: define EF_DMT1         offsetof(struct trapframe, tf_dmt1) / sizeof(int)
                    103: define EF_DMD1         offsetof(struct trapframe, tf_dmd1) / sizeof(int)
                    104: define EF_DMA1         offsetof(struct trapframe, tf_dma1) / sizeof(int)
                    105: define EF_DMT2         offsetof(struct trapframe, tf_dmt2) / sizeof(int)
                    106: define EF_DMD2         offsetof(struct trapframe, tf_dmd2) / sizeof(int)
                    107: define EF_DMA2         offsetof(struct trapframe, tf_dma2) / sizeof(int)
                    108: define EF_FPECR        offsetof(struct trapframe, tf_fpecr) / sizeof(int)
                    109: define EF_FPHS1        offsetof(struct trapframe, tf_fphs1) / sizeof(int)
                    110: define EF_FPLS1        offsetof(struct trapframe, tf_fpls1) / sizeof(int)
                    111: define EF_FPHS2        offsetof(struct trapframe, tf_fphs2) / sizeof(int)
                    112: define EF_FPLS2        offsetof(struct trapframe, tf_fpls2) / sizeof(int)
                    113: define EF_FPPT         offsetof(struct trapframe, tf_fppt) / sizeof(int)
                    114: define EF_FPRH         offsetof(struct trapframe, tf_fprh) / sizeof(int)
                    115: define EF_FPRL         offsetof(struct trapframe, tf_fprl) / sizeof(int)
                    116: define EF_FPIT         offsetof(struct trapframe, tf_fpit) / sizeof(int)
                    117: define EF_VECTOR       offsetof(struct trapframe, tf_vector) / sizeof(int)
                    118: define EF_MASK         offsetof(struct trapframe, tf_mask) / sizeof(int)
                    119: define EF_MODE         offsetof(struct trapframe, tf_mode) / sizeof(int)
                    120: define EF_RET          offsetof(struct trapframe, tf_scratch1) / sizeof(int)
                    121: define EF_IPFSR        offsetof(struct trapframe, tf_ipfsr) / sizeof(int)
                    122: define EF_DPFSR        offsetof(struct trapframe, tf_dpfsr) / sizeof(int)
                    123: define EF_CPU          offsetof(struct trapframe, tf_cpu) / sizeof(int)
                    124:
                    125: # m88110 trapframe element indexes
                    126: define EF_EXIP         offsetof(struct trapframe, tf_exip) / sizeof(int)
                    127: define EF_ENIP         offsetof(struct trapframe, tf_enip) / sizeof(int)
                    128: define EF_DSR          offsetof(struct trapframe, tf_dsr) / sizeof(int)
                    129: define EF_DLAR         offsetof(struct trapframe, tf_dlar) / sizeof(int)
                    130: define EF_DPAR         offsetof(struct trapframe, tf_dpar) / sizeof(int)
                    131: define EF_ISR          offsetof(struct trapframe, tf_isr) / sizeof(int)
                    132: define EF_ILAR         offsetof(struct trapframe, tf_ilar) / sizeof(int)
                    133: define EF_IPAR         offsetof(struct trapframe, tf_ipar) / sizeof(int)
                    134: define EF_ISAP         offsetof(struct trapframe, tf_isap) / sizeof(int)
                    135: define EF_DSAP         offsetof(struct trapframe, tf_dsap) / sizeof(int)
                    136: define EF_IUAP         offsetof(struct trapframe, tf_iuap) / sizeof(int)
                    137: define EF_DUAP         offsetof(struct trapframe, tf_duap) / sizeof(int)
                    138:
                    139: define SIZEOF_EF       sizeof(struct trapframe)
                    140:
                    141: # more (machine-dependent) pcb fields
                    142: struct m88100_pcb
                    143: member pcb_pc
                    144: member pcb_r14
                    145: member pcb_r15
                    146: member pcb_r16
                    147: member pcb_r17
                    148: member pcb_r18
                    149: member pcb_r19
                    150: member pcb_r20
                    151: member pcb_r21
                    152: member pcb_r22
                    153: member pcb_r23
                    154: member pcb_r24
                    155: member pcb_r25
                    156: member pcb_r26
                    157: member pcb_r27
                    158: member pcb_r28
                    159: member pcb_r29
                    160: member pcb_r30
                    161: member pcb_sp
                    162: member pcb_fcr62
                    163: member pcb_fcr63
                    164:
                    165: # mutex fields
                    166: struct mutex
                    167: member mtx_lock
                    168: member mtx_wantipl
                    169: member mtx_oldipl
                    170: member mtx_cpu

CVSweb