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