Home | History | Annotate | Line # | Download | only in luna68k
genassym.cf revision 1.7
      1  1.7   thorpej #	$NetBSD: genassym.cf,v 1.7 2003/01/17 23:13:12 thorpej 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.5     bjh21 ifdef _KERNEL_OPT
     39  1.1  nisimura include "opt_compat_svr4.h"
     40  1.5     bjh21 endif
     41  1.1  nisimura 
     42  1.1  nisimura include <sys/param.h>
     43  1.1  nisimura include <sys/buf.h>
     44  1.1  nisimura include <sys/proc.h>
     45  1.1  nisimura include <sys/mbuf.h>
     46  1.1  nisimura include <sys/msgbuf.h>
     47  1.1  nisimura include <sys/syscall.h>
     48  1.1  nisimura include <sys/user.h>
     49  1.1  nisimura 
     50  1.1  nisimura include <uvm/uvm_extern.h>
     51  1.1  nisimura 
     52  1.1  nisimura ifdef COMPAT_SVR4
     53  1.1  nisimura include <compat/svr4/svr4_syscall.h>
     54  1.1  nisimura include <compat/svr4/svr4_ucontext.h>
     55  1.1  nisimura endif
     56  1.1  nisimura 
     57  1.1  nisimura include <machine/cpu.h>
     58  1.1  nisimura include <machine/psl.h>
     59  1.1  nisimura include <machine/reg.h>
     60  1.1  nisimura include <machine/pte.h>
     61  1.1  nisimura 
     62  1.7   thorpej include <m68k/saframe.h>
     63  1.7   thorpej 
     64  1.1  nisimura # values for mmutype
     65  1.1  nisimura define	MMU_68030		MMU_68030
     66  1.1  nisimura define	MMU_68851		MMU_68851
     67  1.1  nisimura define	MMU_68040		MMU_68040
     68  1.1  nisimura 
     69  1.1  nisimura # values for cputype
     70  1.1  nisimura define	CPU_68020		CPU_68020
     71  1.1  nisimura define	CPU_68030		CPU_68030
     72  1.1  nisimura define	CPU_68040		CPU_68040
     73  1.1  nisimura 
     74  1.1  nisimura # CPU configuration options
     75  1.1  nisimura ifdef M68020
     76  1.1  nisimura define	M68020			1
     77  1.1  nisimura endif
     78  1.1  nisimura ifdef M68030
     79  1.1  nisimura define	M68030			1
     80  1.1  nisimura endif
     81  1.1  nisimura ifdef M68040
     82  1.1  nisimura define	M68040			1
     83  1.1  nisimura endif
     84  1.1  nisimura 
     85  1.1  nisimura # values for fputype
     86  1.1  nisimura define	FPU_NONE		FPU_NONE
     87  1.1  nisimura define	FPU_68881		FPU_68881
     88  1.1  nisimura define	FPU_68882		FPU_68882
     89  1.1  nisimura define	FPU_68040		FPU_68040
     90  1.1  nisimura 
     91  1.1  nisimura # values for ectype
     92  1.1  nisimura define	EC_PHYS			EC_PHYS
     93  1.1  nisimura define	EC_NONE			EC_NONE
     94  1.1  nisimura define	EC_VIRT			EC_VIRT
     95  1.1  nisimura 
     96  1.1  nisimura # general constants
     97  1.1  nisimura define	UPAGES			UPAGES
     98  1.1  nisimura define	USPACE			USPACE
     99  1.1  nisimura define	NBPG			NBPG
    100  1.1  nisimura define	PGSHIFT			PGSHIFT
    101  1.1  nisimura define	USRSTACK		USRSTACK
    102  1.1  nisimura 
    103  1.7   thorpej # lwp & proc fields and values
    104  1.7   thorpej define	L_ADDR			offsetof(struct lwp, l_addr)
    105  1.7   thorpej define	L_BACK			offsetof(struct lwp, l_back)
    106  1.7   thorpej define	L_FORW			offsetof(struct lwp, l_forw)
    107  1.7   thorpej define	L_PRIORITY		offsetof(struct lwp, l_priority)
    108  1.7   thorpej define	L_STAT			offsetof(struct lwp, l_stat)
    109  1.7   thorpej define	L_WCHAN			offsetof(struct lwp, l_wchan)
    110  1.7   thorpej define	L_PROC			offsetof(struct lwp, l_proc)
    111  1.7   thorpej define	L_MD_REGS		offsetof(struct lwp, l_md.md_regs)
    112  1.7   thorpej define	L_MD_FLAGS		offsetof(struct lwp, l_md.md_flags)
    113  1.7   thorpej define	P_FLAG			offsetof(struct proc, p_flag)
    114  1.7   thorpej define	P_NRAS			offsetof(struct proc, p_nras)
    115  1.1  nisimura define	P_VMSPACE		offsetof(struct proc, p_vmspace)
    116  1.7   thorpej 
    117  1.7   thorpej # lwp fields and values
    118  1.7   thorpej 
    119  1.7   thorpej define	LSSLEEP			LSSLEEP
    120  1.7   thorpej define	LSRUN			LSRUN
    121  1.7   thorpej define	LSONPROC		LSONPROC
    122  1.1  nisimura 
    123  1.1  nisimura # interrupt/fault metering
    124  1.1  nisimura define	UVMEXP_INTRS		offsetof(struct uvmexp, intrs)
    125  1.1  nisimura 
    126  1.1  nisimura define	T_BUSERR		T_BUSERR
    127  1.1  nisimura define	T_ADDRERR		T_ADDRERR
    128  1.1  nisimura define	T_ILLINST		T_ILLINST
    129  1.1  nisimura define	T_ZERODIV		T_ZERODIV
    130  1.1  nisimura define	T_CHKINST		T_CHKINST
    131  1.1  nisimura define	T_TRAPVINST		T_TRAPVINST
    132  1.1  nisimura define	T_PRIVINST		T_PRIVINST
    133  1.1  nisimura define	T_TRACE			T_TRACE
    134  1.1  nisimura define	T_MMUFLT		T_MMUFLT
    135  1.1  nisimura define	T_SSIR			T_SSIR
    136  1.1  nisimura define	T_FMTERR		T_FMTERR
    137  1.1  nisimura define	T_COPERR		T_COPERR
    138  1.1  nisimura define	T_FPERR			T_FPERR
    139  1.1  nisimura define	T_ASTFLT		T_ASTFLT
    140  1.1  nisimura define	T_TRAP15		T_TRAP15
    141  1.1  nisimura define	T_FPEMULI		T_FPEMULI
    142  1.1  nisimura define	T_FPEMULD		T_FPEMULD
    143  1.1  nisimura 
    144  1.1  nisimura # PSL values (should just include psl.h?)
    145  1.1  nisimura define	PSL_S			PSL_S
    146  1.1  nisimura define	PSL_IPL7		PSL_IPL7
    147  1.1  nisimura define	PSL_LOWIPL		PSL_LOWIPL
    148  1.1  nisimura define	PSL_HIGHIPL		PSL_HIGHIPL
    149  1.1  nisimura define	PSL_USER		PSL_USER
    150  1.1  nisimura define	PSL_TS			PSL_T | PSL_S
    151  1.1  nisimura define	SPL1			PSL_S | PSL_IPL1
    152  1.1  nisimura define	SPL2			PSL_S | PSL_IPL2
    153  1.1  nisimura define	SPL3			PSL_S | PSL_IPL3
    154  1.1  nisimura define	SPL4			PSL_S | PSL_IPL4
    155  1.1  nisimura define	SPL5			PSL_S | PSL_IPL5
    156  1.1  nisimura define	SPL6			PSL_S | PSL_IPL6
    157  1.1  nisimura 
    158  1.1  nisimura # magic
    159  1.1  nisimura define	FC_USERD		FC_USERD
    160  1.1  nisimura define	FC_SUPERD		FC_SUPERD
    161  1.1  nisimura define	CACHE_ON		CACHE_ON
    162  1.1  nisimura define	CACHE_OFF		CACHE_OFF
    163  1.1  nisimura define	CACHE_CLR		CACHE_CLR
    164  1.1  nisimura define	IC_CLEAR		IC_CLEAR
    165  1.1  nisimura define	DC_CLEAR		DC_CLEAR
    166  1.1  nisimura 
    167  1.1  nisimura # pte/ste bits
    168  1.1  nisimura define	PG_V			PG_V
    169  1.1  nisimura define	PG_NV			PG_NV
    170  1.1  nisimura define	PG_RO			PG_RO
    171  1.1  nisimura define	PG_RW			PG_RW
    172  1.1  nisimura define	PG_CI			PG_CI
    173  1.1  nisimura define	PG_PROT			PG_PROT
    174  1.1  nisimura define	PG_FRAME		PG_FRAME
    175  1.1  nisimura define	SG_V			SG_V
    176  1.1  nisimura define	SG_NV			SG_NV
    177  1.1  nisimura define	SG_RW			SG_RW
    178  1.1  nisimura define	SG_FRAME		SG_FRAME
    179  1.1  nisimura define	SG_ISHIFT		SG_ISHIFT
    180  1.1  nisimura 
    181  1.1  nisimura # pcb fields
    182  1.1  nisimura define	PCB_PS			offsetof(struct pcb, pcb_ps)
    183  1.1  nisimura define	PCB_USP			offsetof(struct pcb, pcb_usp)
    184  1.1  nisimura define	PCB_REGS		offsetof(struct pcb, pcb_regs)
    185  1.1  nisimura define	PCB_ONFAULT		offsetof(struct pcb, pcb_onfault)
    186  1.1  nisimura define	PCB_FPCTX		offsetof(struct pcb, pcb_fpregs)
    187  1.1  nisimura define	SIZEOF_PCB		sizeof(struct pcb)
    188  1.1  nisimura 
    189  1.7   thorpej # frame offsets
    190  1.7   thorpej define	TF_PC			offsetof(struct frame, f_pc)
    191  1.7   thorpej 
    192  1.1  nisimura # exception frame offset/sizes
    193  1.1  nisimura define	FR_SP			offsetof(struct frame, f_regs[15])
    194  1.1  nisimura define	FR_HW			offsetof(struct frame, f_sr)
    195  1.1  nisimura define	FR_ADJ			offsetof(struct frame, f_stackadj)
    196  1.1  nisimura define	FR_SIZE			sizeof(struct trapframe)
    197  1.4   tsutsui 
    198  1.4   tsutsui # FP frame offsets
    199  1.4   tsutsui define	FPF_REGS		offsetof(struct fpframe, fpf_regs[0])
    200  1.4   tsutsui define	FPF_FPCR		offsetof(struct fpframe, fpf_fpcr)
    201  1.1  nisimura 
    202  1.1  nisimura # system calls
    203  1.1  nisimura define	SYS_exit		SYS_exit
    204  1.1  nisimura define	SYS_execve		SYS_execve
    205  1.1  nisimura define	SYS___sigreturn14	SYS___sigreturn14
    206  1.1  nisimura define	SYS_compat_13_sigreturn13 SYS_compat_13_sigreturn13
    207  1.1  nisimura 
    208  1.1  nisimura # errno
    209  1.1  nisimura define	EFAULT			EFAULT
    210  1.1  nisimura define	ENAMETOOLONG		ENAMETOOLONG
    211  1.1  nisimura 
    212  1.1  nisimura # SVR4 binary compatibility
    213  1.1  nisimura ifdef COMPAT_SVR4
    214  1.1  nisimura define	SVR4_SIGF_HANDLER	offsetof(struct svr4_sigframe, sf_handler)
    215  1.1  nisimura define	SVR4_SIGF_UC		offsetof(struct svr4_sigframe, sf_uc)
    216  1.1  nisimura define	SVR4_SYS_context	SVR4_SYS_context
    217  1.1  nisimura define	SVR4_SYS_exit		SVR4_SYS_exit
    218  1.1  nisimura define	SVR4_SETCONTEXT		SVR4_SETCONTEXT
    219  1.1  nisimura endif
    220