Home | History | Annotate | Line # | Download | only in luna68k
genassym.cf revision 1.4
      1  1.4   tsutsui #	$NetBSD: genassym.cf,v 1.4 2000/11/21 13:54:14 tsutsui Exp $
      2  1.1  nisimura 
      3  1.1  nisimura #
      4  1.1  nisimura # Copyright (c) 1982, 1990, 1993
      5  1.1  nisimura #	The Regents of the University of California.  All rights reserved.
      6  1.1  nisimura #
      7  1.1  nisimura # Redistribution and use in source and binary forms, with or without
      8  1.1  nisimura # modification, are permitted provided that the following conditions
      9  1.1  nisimura # are met:
     10  1.1  nisimura # 1. Redistributions of source code must retain the above copyright
     11  1.1  nisimura #    notice, this list of conditions and the following disclaimer.
     12  1.1  nisimura # 2. Redistributions in binary form must reproduce the above copyright
     13  1.1  nisimura #    notice, this list of conditions and the following disclaimer in the
     14  1.1  nisimura #    documentation and/or other materials provided with the distribution.
     15  1.1  nisimura # 3. All advertising materials mentioning features or use of this software
     16  1.1  nisimura #    must display the following acknowledgement:
     17  1.1  nisimura #	This product includes software developed by the University of
     18  1.1  nisimura #	California, Berkeley and its contributors.
     19  1.1  nisimura # 4. Neither the name of the University nor the names of its contributors
     20  1.1  nisimura #    may be used to endorse or promote products derived from this software
     21  1.1  nisimura #    without specific prior written permission.
     22  1.1  nisimura #
     23  1.1  nisimura # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     24  1.1  nisimura # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     25  1.1  nisimura # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     26  1.1  nisimura # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     27  1.1  nisimura # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     28  1.1  nisimura # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     29  1.1  nisimura # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     30  1.1  nisimura # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     31  1.1  nisimura # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     32  1.1  nisimura # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     33  1.1  nisimura # SUCH DAMAGE.
     34  1.1  nisimura #
     35  1.1  nisimura #	@(#)genassym.c	8.3 (Berkeley) 1/4/94
     36  1.1  nisimura #
     37  1.1  nisimura 
     38  1.1  nisimura include "opt_compat_svr4.h"
     39  1.1  nisimura 
     40  1.1  nisimura include <sys/param.h>
     41  1.1  nisimura include <sys/buf.h>
     42  1.1  nisimura include <sys/map.h>
     43  1.1  nisimura include <sys/proc.h>
     44  1.1  nisimura include <sys/mbuf.h>
     45  1.1  nisimura include <sys/msgbuf.h>
     46  1.1  nisimura include <sys/syscall.h>
     47  1.1  nisimura include <sys/user.h>
     48  1.1  nisimura 
     49  1.1  nisimura include <uvm/uvm_extern.h>
     50  1.1  nisimura 
     51  1.1  nisimura ifdef COMPAT_SVR4
     52  1.1  nisimura include <compat/svr4/svr4_syscall.h>
     53  1.1  nisimura include <compat/svr4/svr4_ucontext.h>
     54  1.1  nisimura endif
     55  1.1  nisimura 
     56  1.1  nisimura include <machine/cpu.h>
     57  1.1  nisimura include <machine/psl.h>
     58  1.1  nisimura include <machine/reg.h>
     59  1.1  nisimura include <machine/pte.h>
     60  1.1  nisimura 
     61  1.1  nisimura # values for mmutype
     62  1.1  nisimura define	MMU_68030		MMU_68030
     63  1.1  nisimura define	MMU_68851		MMU_68851
     64  1.1  nisimura define	MMU_68040		MMU_68040
     65  1.1  nisimura 
     66  1.1  nisimura # values for cputype
     67  1.1  nisimura define	CPU_68020		CPU_68020
     68  1.1  nisimura define	CPU_68030		CPU_68030
     69  1.1  nisimura define	CPU_68040		CPU_68040
     70  1.1  nisimura 
     71  1.1  nisimura # CPU configuration options
     72  1.1  nisimura ifdef M68020
     73  1.1  nisimura define	M68020			1
     74  1.1  nisimura endif
     75  1.1  nisimura ifdef M68030
     76  1.1  nisimura define	M68030			1
     77  1.1  nisimura endif
     78  1.1  nisimura ifdef M68040
     79  1.1  nisimura define	M68040			1
     80  1.1  nisimura endif
     81  1.1  nisimura 
     82  1.1  nisimura # values for fputype
     83  1.1  nisimura define	FPU_NONE		FPU_NONE
     84  1.1  nisimura define	FPU_68881		FPU_68881
     85  1.1  nisimura define	FPU_68882		FPU_68882
     86  1.1  nisimura define	FPU_68040		FPU_68040
     87  1.1  nisimura 
     88  1.1  nisimura # values for ectype
     89  1.1  nisimura define	EC_PHYS			EC_PHYS
     90  1.1  nisimura define	EC_NONE			EC_NONE
     91  1.1  nisimura define	EC_VIRT			EC_VIRT
     92  1.1  nisimura 
     93  1.1  nisimura # general constants
     94  1.1  nisimura define	UPAGES			UPAGES
     95  1.1  nisimura define	USPACE			USPACE
     96  1.1  nisimura define	NBPG			NBPG
     97  1.1  nisimura define	PGSHIFT			PGSHIFT
     98  1.1  nisimura define	USRSTACK		USRSTACK
     99  1.1  nisimura 
    100  1.1  nisimura # proc fields and values
    101  1.1  nisimura define	P_FORW			offsetof(struct proc, p_forw)
    102  1.1  nisimura define	P_BACK			offsetof(struct proc, p_back)
    103  1.1  nisimura define	P_VMSPACE		offsetof(struct proc, p_vmspace)
    104  1.1  nisimura define	P_ADDR			offsetof(struct proc, p_addr)
    105  1.1  nisimura define	P_PRIORITY		offsetof(struct proc, p_priority)
    106  1.1  nisimura define	P_STAT			offsetof(struct proc, p_stat)
    107  1.1  nisimura define	P_WCHAN			offsetof(struct proc, p_wchan)
    108  1.1  nisimura define	P_MD_FLAGS		offsetof(struct proc, p_md.md_flags)
    109  1.1  nisimura define	P_MD_REGS		offsetof(struct proc, p_md.md_regs)
    110  1.1  nisimura define	SSLEEP			SSLEEP
    111  1.1  nisimura define	SRUN			SRUN
    112  1.2   thorpej define	SONPROC			SONPROC
    113  1.1  nisimura 
    114  1.1  nisimura # interrupt/fault metering
    115  1.1  nisimura define	UVMEXP_INTRS		offsetof(struct uvmexp, intrs)
    116  1.1  nisimura 
    117  1.1  nisimura define	T_BUSERR		T_BUSERR
    118  1.1  nisimura define	T_ADDRERR		T_ADDRERR
    119  1.1  nisimura define	T_ILLINST		T_ILLINST
    120  1.1  nisimura define	T_ZERODIV		T_ZERODIV
    121  1.1  nisimura define	T_CHKINST		T_CHKINST
    122  1.1  nisimura define	T_TRAPVINST		T_TRAPVINST
    123  1.1  nisimura define	T_PRIVINST		T_PRIVINST
    124  1.1  nisimura define	T_TRACE			T_TRACE
    125  1.1  nisimura define	T_MMUFLT		T_MMUFLT
    126  1.1  nisimura define	T_SSIR			T_SSIR
    127  1.1  nisimura define	T_FMTERR		T_FMTERR
    128  1.1  nisimura define	T_COPERR		T_COPERR
    129  1.1  nisimura define	T_FPERR			T_FPERR
    130  1.1  nisimura define	T_ASTFLT		T_ASTFLT
    131  1.1  nisimura define	T_TRAP15		T_TRAP15
    132  1.1  nisimura define	T_FPEMULI		T_FPEMULI
    133  1.1  nisimura define	T_FPEMULD		T_FPEMULD
    134  1.1  nisimura 
    135  1.1  nisimura # PSL values (should just include psl.h?)
    136  1.1  nisimura define	PSL_S			PSL_S
    137  1.1  nisimura define	PSL_IPL7		PSL_IPL7
    138  1.1  nisimura define	PSL_LOWIPL		PSL_LOWIPL
    139  1.1  nisimura define	PSL_HIGHIPL		PSL_HIGHIPL
    140  1.1  nisimura define	PSL_USER		PSL_USER
    141  1.1  nisimura define	PSL_TS			PSL_T | PSL_S
    142  1.1  nisimura define	SPL1			PSL_S | PSL_IPL1
    143  1.1  nisimura define	SPL2			PSL_S | PSL_IPL2
    144  1.1  nisimura define	SPL3			PSL_S | PSL_IPL3
    145  1.1  nisimura define	SPL4			PSL_S | PSL_IPL4
    146  1.1  nisimura define	SPL5			PSL_S | PSL_IPL5
    147  1.1  nisimura define	SPL6			PSL_S | PSL_IPL6
    148  1.1  nisimura 
    149  1.1  nisimura # magic
    150  1.1  nisimura define	FC_USERD		FC_USERD
    151  1.1  nisimura define	FC_SUPERD		FC_SUPERD
    152  1.1  nisimura define	CACHE_ON		CACHE_ON
    153  1.1  nisimura define	CACHE_OFF		CACHE_OFF
    154  1.1  nisimura define	CACHE_CLR		CACHE_CLR
    155  1.1  nisimura define	IC_CLEAR		IC_CLEAR
    156  1.1  nisimura define	DC_CLEAR		DC_CLEAR
    157  1.1  nisimura 
    158  1.1  nisimura # pte/ste bits
    159  1.1  nisimura define	PG_V			PG_V
    160  1.1  nisimura define	PG_NV			PG_NV
    161  1.1  nisimura define	PG_RO			PG_RO
    162  1.1  nisimura define	PG_RW			PG_RW
    163  1.1  nisimura define	PG_CI			PG_CI
    164  1.1  nisimura define	PG_PROT			PG_PROT
    165  1.1  nisimura define	PG_FRAME		PG_FRAME
    166  1.1  nisimura define	SG_V			SG_V
    167  1.1  nisimura define	SG_NV			SG_NV
    168  1.1  nisimura define	SG_RW			SG_RW
    169  1.1  nisimura define	SG_FRAME		SG_FRAME
    170  1.1  nisimura define	SG_ISHIFT		SG_ISHIFT
    171  1.1  nisimura 
    172  1.1  nisimura # pcb fields
    173  1.1  nisimura define	PCB_PS			offsetof(struct pcb, pcb_ps)
    174  1.1  nisimura define	PCB_USP			offsetof(struct pcb, pcb_usp)
    175  1.1  nisimura define	PCB_REGS		offsetof(struct pcb, pcb_regs)
    176  1.1  nisimura define	PCB_ONFAULT		offsetof(struct pcb, pcb_onfault)
    177  1.1  nisimura define	PCB_FPCTX		offsetof(struct pcb, pcb_fpregs)
    178  1.1  nisimura define	SIZEOF_PCB		sizeof(struct pcb)
    179  1.1  nisimura 
    180  1.1  nisimura # exception frame offset/sizes
    181  1.1  nisimura define	FR_SP			offsetof(struct frame, f_regs[15])
    182  1.1  nisimura define	FR_HW			offsetof(struct frame, f_sr)
    183  1.1  nisimura define	FR_ADJ			offsetof(struct frame, f_stackadj)
    184  1.1  nisimura define	FR_SIZE			sizeof(struct trapframe)
    185  1.4   tsutsui 
    186  1.4   tsutsui # FP frame offsets
    187  1.4   tsutsui define	FPF_REGS		offsetof(struct fpframe, fpf_regs[0])
    188  1.4   tsutsui define	FPF_FPCR		offsetof(struct fpframe, fpf_fpcr)
    189  1.1  nisimura 
    190  1.1  nisimura # system calls
    191  1.1  nisimura define	SYS_exit		SYS_exit
    192  1.1  nisimura define	SYS_execve		SYS_execve
    193  1.1  nisimura define	SYS___sigreturn14	SYS___sigreturn14
    194  1.1  nisimura define	SYS_compat_13_sigreturn13 SYS_compat_13_sigreturn13
    195  1.1  nisimura 
    196  1.1  nisimura # errno
    197  1.1  nisimura define	EFAULT			EFAULT
    198  1.1  nisimura define	ENAMETOOLONG		ENAMETOOLONG
    199  1.1  nisimura 
    200  1.1  nisimura # SVR4 binary compatibility
    201  1.1  nisimura ifdef COMPAT_SVR4
    202  1.1  nisimura define	SVR4_SIGF_HANDLER	offsetof(struct svr4_sigframe, sf_handler)
    203  1.1  nisimura define	SVR4_SIGF_UC		offsetof(struct svr4_sigframe, sf_uc)
    204  1.1  nisimura define	SVR4_SYS_context	SVR4_SYS_context
    205  1.1  nisimura define	SVR4_SYS_exit		SVR4_SYS_exit
    206  1.1  nisimura define	SVR4_SETCONTEXT		SVR4_SETCONTEXT
    207  1.1  nisimura endif
    208  1.1  nisimura 
    209