Home | History | Annotate | Line # | Download | only in luna68k
genassym.cf revision 1.18
      1  1.18      matt #	$NetBSD: genassym.cf,v 1.18 2010/12/20 00:25:36 matt 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 
     45   1.1  nisimura include <uvm/uvm_extern.h>
     46   1.1  nisimura 
     47   1.1  nisimura ifdef COMPAT_SVR4
     48   1.1  nisimura include <compat/svr4/svr4_syscall.h>
     49   1.1  nisimura include <compat/svr4/svr4_ucontext.h>
     50   1.1  nisimura endif
     51   1.1  nisimura 
     52   1.1  nisimura include <machine/cpu.h>
     53   1.1  nisimura include <machine/psl.h>
     54   1.1  nisimura include <machine/reg.h>
     55   1.1  nisimura include <machine/pte.h>
     56   1.1  nisimura 
     57   1.1  nisimura # values for mmutype
     58   1.1  nisimura define	MMU_68030		MMU_68030
     59   1.1  nisimura define	MMU_68851		MMU_68851
     60   1.1  nisimura define	MMU_68040		MMU_68040
     61   1.1  nisimura 
     62   1.1  nisimura # values for cputype
     63   1.1  nisimura define	CPU_68020		CPU_68020
     64   1.1  nisimura define	CPU_68030		CPU_68030
     65   1.1  nisimura define	CPU_68040		CPU_68040
     66   1.1  nisimura 
     67   1.1  nisimura # CPU configuration options
     68   1.1  nisimura ifdef M68020
     69   1.1  nisimura define	M68020			1
     70   1.1  nisimura endif
     71   1.1  nisimura ifdef M68030
     72   1.1  nisimura define	M68030			1
     73   1.1  nisimura endif
     74   1.1  nisimura ifdef M68040
     75   1.1  nisimura define	M68040			1
     76   1.1  nisimura endif
     77   1.1  nisimura 
     78   1.1  nisimura # values for fputype
     79   1.1  nisimura define	FPU_NONE		FPU_NONE
     80   1.1  nisimura define	FPU_68881		FPU_68881
     81   1.1  nisimura define	FPU_68882		FPU_68882
     82   1.1  nisimura define	FPU_68040		FPU_68040
     83   1.1  nisimura 
     84   1.1  nisimura # values for ectype
     85   1.1  nisimura define	EC_PHYS			EC_PHYS
     86   1.1  nisimura define	EC_NONE			EC_NONE
     87   1.1  nisimura define	EC_VIRT			EC_VIRT
     88   1.1  nisimura 
     89   1.1  nisimura # general constants
     90   1.1  nisimura define	UPAGES			UPAGES
     91   1.1  nisimura define	USPACE			USPACE
     92   1.8   thorpej define	PAGE_SIZE		PAGE_SIZE
     93   1.1  nisimura define	PGSHIFT			PGSHIFT
     94   1.1  nisimura define	USRSTACK		USRSTACK
     95   1.1  nisimura 
     96   1.7   thorpej # lwp & proc fields and values
     97  1.17     rmind define	L_PCB			offsetof(struct lwp, l_addr)
     98   1.7   thorpej define	L_PRIORITY		offsetof(struct lwp, l_priority)
     99   1.7   thorpej define	L_STAT			offsetof(struct lwp, l_stat)
    100   1.7   thorpej define	L_WCHAN			offsetof(struct lwp, l_wchan)
    101   1.7   thorpej define	L_PROC			offsetof(struct lwp, l_proc)
    102   1.7   thorpej define	L_MD_REGS		offsetof(struct lwp, l_md.md_regs)
    103   1.7   thorpej define	L_MD_FLAGS		offsetof(struct lwp, l_md.md_flags)
    104   1.7   thorpej define	P_FLAG			offsetof(struct proc, p_flag)
    105  1.10       dsl define	P_RASLIST		offsetof(struct proc, p_raslist)
    106   1.1  nisimura define	P_VMSPACE		offsetof(struct proc, p_vmspace)
    107   1.7   thorpej 
    108   1.7   thorpej # lwp fields and values
    109   1.7   thorpej 
    110   1.7   thorpej define	LSSLEEP			LSSLEEP
    111   1.7   thorpej define	LSRUN			LSRUN
    112   1.7   thorpej define	LSONPROC		LSONPROC
    113   1.1  nisimura 
    114   1.1  nisimura # interrupt/fault metering
    115  1.18      matt define	CI_NINTR		offsetof(struct cpu_info, ci_data.cpu_nintr)
    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.7   thorpej # frame offsets
    181   1.7   thorpej define	TF_PC			offsetof(struct frame, f_pc)
    182   1.7   thorpej 
    183   1.1  nisimura # exception frame offset/sizes
    184   1.1  nisimura define	FR_SP			offsetof(struct frame, f_regs[15])
    185   1.1  nisimura define	FR_HW			offsetof(struct frame, f_sr)
    186   1.1  nisimura define	FR_ADJ			offsetof(struct frame, f_stackadj)
    187   1.1  nisimura define	FR_SIZE			sizeof(struct trapframe)
    188   1.4   tsutsui 
    189   1.4   tsutsui # FP frame offsets
    190   1.4   tsutsui define	FPF_REGS		offsetof(struct fpframe, fpf_regs[0])
    191   1.4   tsutsui define	FPF_FPCR		offsetof(struct fpframe, fpf_fpcr)
    192   1.1  nisimura 
    193   1.1  nisimura # system calls
    194   1.1  nisimura define	SYS_exit		SYS_exit
    195   1.1  nisimura define	SYS_execve		SYS_execve
    196   1.9        cl define	SYS_compat_16___sigreturn14	SYS_compat_16___sigreturn14
    197   1.1  nisimura define	SYS_compat_13_sigreturn13 SYS_compat_13_sigreturn13
    198   1.1  nisimura 
    199   1.1  nisimura # errno
    200   1.1  nisimura define	EFAULT			EFAULT
    201   1.1  nisimura define	ENAMETOOLONG		ENAMETOOLONG
    202   1.1  nisimura 
    203   1.1  nisimura # SVR4 binary compatibility
    204   1.1  nisimura ifdef COMPAT_SVR4
    205   1.1  nisimura define	SVR4_SIGF_HANDLER	offsetof(struct svr4_sigframe, sf_handler)
    206   1.1  nisimura define	SVR4_SIGF_UC		offsetof(struct svr4_sigframe, sf_uc)
    207   1.1  nisimura define	SVR4_SYS_context	SVR4_SYS_context
    208   1.1  nisimura define	SVR4_SYS_exit		SVR4_SYS_exit
    209   1.1  nisimura define	SVR4_SETCONTEXT		SVR4_SETCONTEXT
    210   1.1  nisimura endif
    211