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