genassym.cf revision 1.13 1 1.13 tsutsui # $NetBSD: genassym.cf,v 1.13 2010/10/15 15:55:53 tsutsui Exp $
2 1.10 tsutsui
3 1.10 tsutsui #
4 1.10 tsutsui # Copyright (c) 1982, 1990, 1993
5 1.10 tsutsui # The Regents of the University of California. All rights reserved.
6 1.10 tsutsui #
7 1.10 tsutsui # Redistribution and use in source and binary forms, with or without
8 1.10 tsutsui # modification, are permitted provided that the following conditions
9 1.10 tsutsui # are met:
10 1.10 tsutsui # 1. Redistributions of source code must retain the above copyright
11 1.10 tsutsui # notice, this list of conditions and the following disclaimer.
12 1.10 tsutsui # 2. Redistributions in binary form must reproduce the above copyright
13 1.10 tsutsui # notice, this list of conditions and the following disclaimer in the
14 1.10 tsutsui # documentation and/or other materials provided with the distribution.
15 1.10 tsutsui # 3. Neither the name of the University nor the names of its contributors
16 1.10 tsutsui # may be used to endorse or promote products derived from this software
17 1.10 tsutsui # without specific prior written permission.
18 1.10 tsutsui #
19 1.10 tsutsui # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20 1.10 tsutsui # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21 1.10 tsutsui # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22 1.10 tsutsui # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23 1.10 tsutsui # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 1.10 tsutsui # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25 1.10 tsutsui # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 1.10 tsutsui # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27 1.10 tsutsui # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28 1.10 tsutsui # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 1.10 tsutsui # SUCH DAMAGE.
30 1.10 tsutsui #
31 1.10 tsutsui # from: @(#)genassym.c 8.3 (Berkeley) 1/4/94
32 1.10 tsutsui #
33 1.1 jdolecek
34 1.1 jdolecek #
35 1.1 jdolecek # Copyright (c) 1994, 1995 Gordon W. Ross
36 1.1 jdolecek # Copyright (c) 1993 Adam Glass
37 1.1 jdolecek #
38 1.1 jdolecek # Redistribution and use in source and binary forms, with or without
39 1.1 jdolecek # modification, are permitted provided that the following conditions
40 1.1 jdolecek # are met:
41 1.1 jdolecek # 1. Redistributions of source code must retain the above copyright
42 1.1 jdolecek # notice, this list of conditions and the following disclaimer.
43 1.1 jdolecek # 2. Redistributions in binary form must reproduce the above copyright
44 1.1 jdolecek # notice, this list of conditions and the following disclaimer in the
45 1.1 jdolecek # documentation and/or other materials provided with the distribution.
46 1.1 jdolecek # 3. All advertising materials mentioning features or use of this software
47 1.1 jdolecek # must display the following acknowledgement:
48 1.1 jdolecek # This product includes software developed by the University of
49 1.1 jdolecek # California, Berkeley and its contributors.
50 1.1 jdolecek # 4. Neither the name of the University nor the names of its contributors
51 1.1 jdolecek # may be used to endorse or promote products derived from this software
52 1.1 jdolecek # without specific prior written permission.
53 1.1 jdolecek #
54 1.1 jdolecek # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
55 1.1 jdolecek # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
56 1.1 jdolecek # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
57 1.1 jdolecek # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
58 1.1 jdolecek # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
59 1.1 jdolecek # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
60 1.1 jdolecek # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
61 1.1 jdolecek # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
62 1.1 jdolecek # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
63 1.1 jdolecek # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
64 1.1 jdolecek # SUCH DAMAGE.
65 1.1 jdolecek #
66 1.1 jdolecek # from: @(#)genassym.c 8.3 (Berkeley) 1/4/94
67 1.1 jdolecek #
68 1.1 jdolecek
69 1.2 jdolecek if defined(_KERNEL_OPT)
70 1.1 jdolecek include "opt_compat_svr4.h"
71 1.1 jdolecek endif
72 1.1 jdolecek
73 1.1 jdolecek include <sys/param.h>
74 1.1 jdolecek include <sys/cdefs.h>
75 1.1 jdolecek include <sys/errno.h>
76 1.1 jdolecek include <sys/proc.h>
77 1.1 jdolecek include <sys/syscall.h>
78 1.1 jdolecek
79 1.1 jdolecek include <uvm/uvm_extern.h>
80 1.1 jdolecek
81 1.1 jdolecek ifdef COMPAT_SVR4
82 1.1 jdolecek include <compat/svr4/svr4_syscall.h>
83 1.1 jdolecek include <compat/svr4/svr4_ucontext.h>
84 1.1 jdolecek endif
85 1.1 jdolecek
86 1.1 jdolecek include <machine/cpu.h>
87 1.1 jdolecek include <machine/dvma.h>
88 1.1 jdolecek include <machine/mon.h>
89 1.1 jdolecek include <machine/pcb.h>
90 1.1 jdolecek include <machine/pmap.h>
91 1.1 jdolecek include <machine/psl.h>
92 1.1 jdolecek include <machine/pte.h>
93 1.1 jdolecek include <machine/vmparam.h>
94 1.1 jdolecek
95 1.1 jdolecek include <sun3/sun3/buserr.h>
96 1.1 jdolecek include <sun3/sun3/cache.h>
97 1.1 jdolecek include <sun3/sun3/fc.h>
98 1.1 jdolecek
99 1.1 jdolecek include <sun3/sun3x/enable.h>
100 1.1 jdolecek
101 1.1 jdolecek # XXX: for copy.s
102 1.1 jdolecek define M68030 1
103 1.1 jdolecek
104 1.1 jdolecek # bus error stuff XXX
105 1.1 jdolecek # define BUSERR_REG BUSERR_REG
106 1.1 jdolecek # define BUSERR_MMU BUSERR_MMU
107 1.1 jdolecek
108 1.1 jdolecek # 68k isms
109 1.1 jdolecek define PSL_LOWIPL PSL_LOWIPL
110 1.1 jdolecek define PSL_HIGHIPL PSL_HIGHIPL
111 1.1 jdolecek define PSL_USER PSL_USER
112 1.1 jdolecek define PSL_S PSL_S
113 1.1 jdolecek define PSL_TS PSL_T | PSL_S
114 1.1 jdolecek define FC_CONTROL FC_CONTROL
115 1.1 jdolecek define FC_SUPERD FC_SUPERD
116 1.1 jdolecek define FC_USERD FC_USERD
117 1.1 jdolecek define IC_CLEAR IC_CLEAR
118 1.1 jdolecek define DC_CLEAR DC_CLEAR
119 1.1 jdolecek define CACHE_CLR CACHE_CLR
120 1.1 jdolecek
121 1.1 jdolecek # sun3 memory map
122 1.13 tsutsui define USRSTACK3X USRSTACK3X
123 1.1 jdolecek define SUN3X_MONSTART SUN3X_MONSTART
124 1.1 jdolecek define SUN3X_PROM_BASE SUN3X_PROM_BASE
125 1.1 jdolecek define SUN3X_MONEND SUN3X_MONEND
126 1.1 jdolecek
127 1.1 jdolecek # kernel-isms
128 1.13 tsutsui define KERNBASE3X KERNBASE3X
129 1.1 jdolecek define USPACE USPACE
130 1.4 nathanw define PAGE_SIZE PAGE_SIZE
131 1.1 jdolecek
132 1.1 jdolecek # system calls
133 1.1 jdolecek define SYS_exit SYS_exit
134 1.5 tsutsui define SYS_compat_16___sigreturn14 SYS_compat_16___sigreturn14
135 1.1 jdolecek define SYS_compat_13_sigreturn13 SYS_compat_13_sigreturn13
136 1.1 jdolecek
137 1.1 jdolecek # errno-isms
138 1.1 jdolecek define EFAULT EFAULT
139 1.1 jdolecek define ENAMETOOLONG ENAMETOOLONG
140 1.1 jdolecek
141 1.1 jdolecek # trap types: locore.s includes trap.h
142 1.1 jdolecek
143 1.1 jdolecek #
144 1.1 jdolecek # unix structure-isms
145 1.1 jdolecek #
146 1.1 jdolecek
147 1.3 thorpej # lwp & proc fields and values
148 1.11 rmind define L_PCB offsetof(struct lwp, l_addr)
149 1.3 thorpej define L_PRIORITY offsetof(struct lwp, l_priority)
150 1.3 thorpej define L_STAT offsetof(struct lwp, l_stat)
151 1.3 thorpej define L_WCHAN offsetof(struct lwp, l_wchan)
152 1.3 thorpej define L_PROC offsetof(struct lwp, l_proc)
153 1.3 thorpej define L_MD_REGS offsetof(struct lwp, l_md.md_regs)
154 1.3 thorpej define L_MD_FLAGS offsetof(struct lwp, l_md.md_flags)
155 1.3 thorpej define P_FLAG offsetof(struct proc, p_flag)
156 1.12 chs define P_RASLIST offsetof(struct proc, p_raslist)
157 1.1 jdolecek define P_VMSPACE offsetof(struct proc, p_vmspace)
158 1.3 thorpej
159 1.3 thorpej # lwp fields and values
160 1.3 thorpej
161 1.3 thorpej define LSSLEEP LSSLEEP
162 1.3 thorpej define LSRUN LSRUN
163 1.3 thorpej define LSONPROC LSONPROC
164 1.1 jdolecek
165 1.1 jdolecek # XXX: HP-UX trace bit?
166 1.1 jdolecek
167 1.1 jdolecek # VM/pmap structure fields
168 1.1 jdolecek define VM_PMAP offsetof(struct vmspace, vm_map.pmap)
169 1.1 jdolecek define PM_A_PHYS offsetof(struct pmap, pm_a_phys)
170 1.1 jdolecek define PM_A_TMGR offsetof(struct pmap, pm_a_tmgr)
171 1.1 jdolecek
172 1.1 jdolecek # pcb offsets
173 1.1 jdolecek define PCB_FLAGS offsetof(struct pcb, pcb_flags)
174 1.1 jdolecek define PCB_PS offsetof(struct pcb, pcb_ps)
175 1.1 jdolecek define PCB_USP offsetof(struct pcb, pcb_usp)
176 1.1 jdolecek define PCB_REGS offsetof(struct pcb, pcb_regs[0])
177 1.1 jdolecek define PCB_ONFAULT offsetof(struct pcb, pcb_onfault)
178 1.1 jdolecek define PCB_FPCTX offsetof(struct pcb, pcb_fpregs)
179 1.1 jdolecek define SIZEOF_PCB sizeof(struct pcb)
180 1.1 jdolecek
181 1.12 chs # frame offsets
182 1.12 chs define TF_PC offsetof(struct frame, f_pc)
183 1.12 chs
184 1.1 jdolecek # exception frame offset/sizes
185 1.1 jdolecek define FR_SP offsetof(struct trapframe, tf_regs[15])
186 1.1 jdolecek define FR_ADJ offsetof(struct trapframe, tf_stackadj)
187 1.1 jdolecek define FR_HW offsetof(struct trapframe, tf_sr)
188 1.1 jdolecek define FR_SIZE sizeof(struct trapframe)
189 1.1 jdolecek
190 1.1 jdolecek # FP frame offsets
191 1.1 jdolecek define FPF_REGS offsetof(struct fpframe, fpf_regs[0])
192 1.1 jdolecek define FPF_FPCR offsetof(struct fpframe, fpf_fpcr)
193 1.1 jdolecek
194 1.1 jdolecek # SVR4 binary compatibility
195 1.1 jdolecek ifdef COMPAT_SVR4
196 1.1 jdolecek define SVR4_SIGF_HANDLER offsetof(struct svr4_sigframe, sf_handler)
197 1.1 jdolecek define SVR4_SIGF_UC offsetof(struct svr4_sigframe, sf_uc)
198 1.1 jdolecek define SVR4_SYS_context SVR4_SYS_context
199 1.1 jdolecek define SVR4_SYS_exit SVR4_SYS_exit
200 1.1 jdolecek define SVR4_SETCONTEXT SVR4_SETCONTEXT
201 1.1 jdolecek endif
202