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