Home | History | Annotate | Line # | Download | only in sun3x
genassym.cf revision 1.13
      1  1.13   tsutsui #	$NetBSD: genassym.cf,v 1.13 2010/10/15 15:55:53 tsutsui Exp $
      2  1.10   tsutsui 
      3  1.10   tsutsui #
      4  1.10   tsutsui # Copyright (c) 1982, 1990, 1993
      5  1.10   tsutsui #	The Regents of the University of California.  All rights reserved.
      6  1.10   tsutsui #
      7  1.10   tsutsui # Redistribution and use in source and binary forms, with or without
      8  1.10   tsutsui # modification, are permitted provided that the following conditions
      9  1.10   tsutsui # are met:
     10  1.10   tsutsui # 1. Redistributions of source code must retain the above copyright
     11  1.10   tsutsui #    notice, this list of conditions and the following disclaimer.
     12  1.10   tsutsui # 2. Redistributions in binary form must reproduce the above copyright
     13  1.10   tsutsui #    notice, this list of conditions and the following disclaimer in the
     14  1.10   tsutsui #    documentation and/or other materials provided with the distribution.
     15  1.10   tsutsui # 3. Neither the name of the University nor the names of its contributors
     16  1.10   tsutsui #    may be used to endorse or promote products derived from this software
     17  1.10   tsutsui #    without specific prior written permission.
     18  1.10   tsutsui #
     19  1.10   tsutsui # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     20  1.10   tsutsui # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     21  1.10   tsutsui # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     22  1.10   tsutsui # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     23  1.10   tsutsui # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     24  1.10   tsutsui # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     25  1.10   tsutsui # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     26  1.10   tsutsui # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     27  1.10   tsutsui # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     28  1.10   tsutsui # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     29  1.10   tsutsui # SUCH DAMAGE.
     30  1.10   tsutsui #
     31  1.10   tsutsui #	from: @(#)genassym.c	8.3 (Berkeley) 1/4/94
     32  1.10   tsutsui #
     33   1.1  jdolecek 
     34   1.1  jdolecek #
     35   1.1  jdolecek # Copyright (c) 1994, 1995 Gordon W. Ross
     36   1.1  jdolecek # Copyright (c) 1993 Adam Glass
     37   1.1  jdolecek #
     38   1.1  jdolecek # Redistribution and use in source and binary forms, with or without
     39   1.1  jdolecek # modification, are permitted provided that the following conditions
     40   1.1  jdolecek # are met:
     41   1.1  jdolecek # 1. Redistributions of source code must retain the above copyright
     42   1.1  jdolecek #    notice, this list of conditions and the following disclaimer.
     43   1.1  jdolecek # 2. Redistributions in binary form must reproduce the above copyright
     44   1.1  jdolecek #    notice, this list of conditions and the following disclaimer in the
     45   1.1  jdolecek #    documentation and/or other materials provided with the distribution.
     46   1.1  jdolecek # 3. All advertising materials mentioning features or use of this software
     47   1.1  jdolecek #    must display the following acknowledgement:
     48   1.1  jdolecek #	This product includes software developed by the University of
     49   1.1  jdolecek #	California, Berkeley and its contributors.
     50   1.1  jdolecek # 4. Neither the name of the University nor the names of its contributors
     51   1.1  jdolecek #    may be used to endorse or promote products derived from this software
     52   1.1  jdolecek #    without specific prior written permission.
     53   1.1  jdolecek #
     54   1.1  jdolecek # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     55   1.1  jdolecek # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     56   1.1  jdolecek # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     57   1.1  jdolecek # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     58   1.1  jdolecek # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     59   1.1  jdolecek # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     60   1.1  jdolecek # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     61   1.1  jdolecek # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     62   1.1  jdolecek # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     63   1.1  jdolecek # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     64   1.1  jdolecek # SUCH DAMAGE.
     65   1.1  jdolecek #
     66   1.1  jdolecek #	from: @(#)genassym.c	8.3 (Berkeley) 1/4/94
     67   1.1  jdolecek #
     68   1.1  jdolecek 
     69   1.2  jdolecek if defined(_KERNEL_OPT)
     70   1.1  jdolecek include "opt_compat_svr4.h"
     71   1.1  jdolecek endif
     72   1.1  jdolecek 
     73   1.1  jdolecek include <sys/param.h>
     74   1.1  jdolecek include <sys/cdefs.h>
     75   1.1  jdolecek include <sys/errno.h>
     76   1.1  jdolecek include <sys/proc.h>
     77   1.1  jdolecek include <sys/syscall.h>
     78   1.1  jdolecek 
     79   1.1  jdolecek include <uvm/uvm_extern.h>
     80   1.1  jdolecek 
     81   1.1  jdolecek ifdef COMPAT_SVR4
     82   1.1  jdolecek include <compat/svr4/svr4_syscall.h>
     83   1.1  jdolecek include <compat/svr4/svr4_ucontext.h>
     84   1.1  jdolecek endif
     85   1.1  jdolecek 
     86   1.1  jdolecek include <machine/cpu.h>
     87   1.1  jdolecek include <machine/dvma.h>
     88   1.1  jdolecek include <machine/mon.h>
     89   1.1  jdolecek include <machine/pcb.h>
     90   1.1  jdolecek include <machine/pmap.h>
     91   1.1  jdolecek include <machine/psl.h>
     92   1.1  jdolecek include <machine/pte.h>
     93   1.1  jdolecek include <machine/vmparam.h>
     94   1.1  jdolecek 
     95   1.1  jdolecek include <sun3/sun3/buserr.h>
     96   1.1  jdolecek include <sun3/sun3/cache.h>
     97   1.1  jdolecek include <sun3/sun3/fc.h>
     98   1.1  jdolecek 
     99   1.1  jdolecek include <sun3/sun3x/enable.h>
    100   1.1  jdolecek 
    101   1.1  jdolecek # XXX: for copy.s
    102   1.1  jdolecek define	M68030			1
    103   1.1  jdolecek 
    104   1.1  jdolecek # bus error stuff XXX
    105   1.1  jdolecek # define	BUSERR_REG			BUSERR_REG
    106   1.1  jdolecek # define	BUSERR_MMU			BUSERR_MMU
    107   1.1  jdolecek 
    108   1.1  jdolecek # 68k isms
    109   1.1  jdolecek define	PSL_LOWIPL			PSL_LOWIPL
    110   1.1  jdolecek define	PSL_HIGHIPL			PSL_HIGHIPL
    111   1.1  jdolecek define	PSL_USER			PSL_USER
    112   1.1  jdolecek define	PSL_S				PSL_S
    113   1.1  jdolecek define	PSL_TS				PSL_T | PSL_S
    114   1.1  jdolecek define	FC_CONTROL			FC_CONTROL
    115   1.1  jdolecek define	FC_SUPERD			FC_SUPERD
    116   1.1  jdolecek define	FC_USERD			FC_USERD
    117   1.1  jdolecek define	IC_CLEAR			IC_CLEAR
    118   1.1  jdolecek define	DC_CLEAR			DC_CLEAR
    119   1.1  jdolecek define	CACHE_CLR			CACHE_CLR
    120   1.1  jdolecek 
    121   1.1  jdolecek # sun3 memory map
    122  1.13   tsutsui define	USRSTACK3X			USRSTACK3X
    123   1.1  jdolecek define	SUN3X_MONSTART			SUN3X_MONSTART
    124   1.1  jdolecek define	SUN3X_PROM_BASE			SUN3X_PROM_BASE
    125   1.1  jdolecek define	SUN3X_MONEND			SUN3X_MONEND
    126   1.1  jdolecek 
    127   1.1  jdolecek # kernel-isms
    128  1.13   tsutsui define	KERNBASE3X			KERNBASE3X
    129   1.1  jdolecek define	USPACE				USPACE
    130   1.4   nathanw define	PAGE_SIZE			PAGE_SIZE
    131   1.1  jdolecek 
    132   1.1  jdolecek # system calls
    133   1.1  jdolecek define	SYS_exit			SYS_exit
    134   1.5   tsutsui define	SYS_compat_16___sigreturn14	SYS_compat_16___sigreturn14
    135   1.1  jdolecek define	SYS_compat_13_sigreturn13	SYS_compat_13_sigreturn13
    136   1.1  jdolecek 
    137   1.1  jdolecek # errno-isms
    138   1.1  jdolecek define	EFAULT				EFAULT
    139   1.1  jdolecek define	ENAMETOOLONG			ENAMETOOLONG
    140   1.1  jdolecek 
    141   1.1  jdolecek # trap types: locore.s includes trap.h
    142   1.1  jdolecek 
    143   1.1  jdolecek #
    144   1.1  jdolecek # unix structure-isms
    145   1.1  jdolecek #
    146   1.1  jdolecek 
    147   1.3   thorpej # lwp & proc fields and values
    148  1.11     rmind define	L_PCB			offsetof(struct lwp, l_addr)
    149   1.3   thorpej define	L_PRIORITY		offsetof(struct lwp, l_priority)
    150   1.3   thorpej define	L_STAT			offsetof(struct lwp, l_stat)
    151   1.3   thorpej define	L_WCHAN			offsetof(struct lwp, l_wchan)
    152   1.3   thorpej define	L_PROC			offsetof(struct lwp, l_proc)
    153   1.3   thorpej define	L_MD_REGS		offsetof(struct lwp, l_md.md_regs)
    154   1.3   thorpej define	L_MD_FLAGS		offsetof(struct lwp, l_md.md_flags)
    155   1.3   thorpej define	P_FLAG			offsetof(struct proc, p_flag)
    156  1.12       chs define	P_RASLIST		offsetof(struct proc, p_raslist)
    157   1.1  jdolecek define	P_VMSPACE		offsetof(struct proc, p_vmspace)
    158   1.3   thorpej 
    159   1.3   thorpej # lwp fields and values
    160   1.3   thorpej 
    161   1.3   thorpej define	LSSLEEP			LSSLEEP
    162   1.3   thorpej define	LSRUN			LSRUN
    163   1.3   thorpej define	LSONPROC		LSONPROC
    164   1.1  jdolecek 
    165   1.1  jdolecek # XXX: HP-UX trace bit?
    166   1.1  jdolecek 
    167   1.1  jdolecek # VM/pmap structure fields
    168   1.1  jdolecek define	VM_PMAP			offsetof(struct vmspace, vm_map.pmap)
    169   1.1  jdolecek define	PM_A_PHYS		offsetof(struct pmap, pm_a_phys)
    170   1.1  jdolecek define	PM_A_TMGR		offsetof(struct pmap, pm_a_tmgr)
    171   1.1  jdolecek 
    172   1.1  jdolecek # pcb offsets
    173   1.1  jdolecek define	PCB_FLAGS		offsetof(struct pcb, pcb_flags)
    174   1.1  jdolecek define	PCB_PS			offsetof(struct pcb, pcb_ps)
    175   1.1  jdolecek define	PCB_USP			offsetof(struct pcb, pcb_usp)
    176   1.1  jdolecek define	PCB_REGS		offsetof(struct pcb, pcb_regs[0])
    177   1.1  jdolecek define	PCB_ONFAULT		offsetof(struct pcb, pcb_onfault)
    178   1.1  jdolecek define	PCB_FPCTX		offsetof(struct pcb, pcb_fpregs)
    179   1.1  jdolecek define	SIZEOF_PCB		sizeof(struct pcb)
    180   1.1  jdolecek 
    181  1.12       chs # frame offsets
    182  1.12       chs define 	TF_PC			offsetof(struct frame, f_pc)
    183  1.12       chs 
    184   1.1  jdolecek # exception frame offset/sizes
    185   1.1  jdolecek define	FR_SP			offsetof(struct trapframe, tf_regs[15])
    186   1.1  jdolecek define	FR_ADJ			offsetof(struct trapframe, tf_stackadj)
    187   1.1  jdolecek define	FR_HW			offsetof(struct trapframe, tf_sr)
    188   1.1  jdolecek define	FR_SIZE			sizeof(struct trapframe)
    189   1.1  jdolecek 
    190   1.1  jdolecek # FP frame offsets
    191   1.1  jdolecek define	FPF_REGS		offsetof(struct fpframe, fpf_regs[0])
    192   1.1  jdolecek define	FPF_FPCR		offsetof(struct fpframe, fpf_fpcr)
    193   1.1  jdolecek 
    194   1.1  jdolecek # SVR4 binary compatibility
    195   1.1  jdolecek ifdef COMPAT_SVR4
    196   1.1  jdolecek define	SVR4_SIGF_HANDLER	offsetof(struct svr4_sigframe, sf_handler)
    197   1.1  jdolecek define	SVR4_SIGF_UC		offsetof(struct svr4_sigframe, sf_uc)
    198   1.1  jdolecek define	SVR4_SYS_context	SVR4_SYS_context
    199   1.1  jdolecek define	SVR4_SYS_exit		SVR4_SYS_exit
    200   1.1  jdolecek define	SVR4_SETCONTEXT		SVR4_SETCONTEXT
    201   1.1  jdolecek endif
    202