genassym.cf revision 1.4 1 1.4 tsutsui # $NetBSD: genassym.cf,v 1.4 2000/11/21 13:54:14 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.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.1 nisimura include "opt_compat_svr4.h"
39 1.1 nisimura
40 1.1 nisimura include <sys/param.h>
41 1.1 nisimura include <sys/buf.h>
42 1.1 nisimura include <sys/map.h>
43 1.1 nisimura include <sys/proc.h>
44 1.1 nisimura include <sys/mbuf.h>
45 1.1 nisimura include <sys/msgbuf.h>
46 1.1 nisimura include <sys/syscall.h>
47 1.1 nisimura include <sys/user.h>
48 1.1 nisimura
49 1.1 nisimura include <uvm/uvm_extern.h>
50 1.1 nisimura
51 1.1 nisimura ifdef COMPAT_SVR4
52 1.1 nisimura include <compat/svr4/svr4_syscall.h>
53 1.1 nisimura include <compat/svr4/svr4_ucontext.h>
54 1.1 nisimura endif
55 1.1 nisimura
56 1.1 nisimura include <machine/cpu.h>
57 1.1 nisimura include <machine/psl.h>
58 1.1 nisimura include <machine/reg.h>
59 1.1 nisimura include <machine/pte.h>
60 1.1 nisimura
61 1.1 nisimura # values for mmutype
62 1.1 nisimura define MMU_68030 MMU_68030
63 1.1 nisimura define MMU_68851 MMU_68851
64 1.1 nisimura define MMU_68040 MMU_68040
65 1.1 nisimura
66 1.1 nisimura # values for cputype
67 1.1 nisimura define CPU_68020 CPU_68020
68 1.1 nisimura define CPU_68030 CPU_68030
69 1.1 nisimura define CPU_68040 CPU_68040
70 1.1 nisimura
71 1.1 nisimura # CPU configuration options
72 1.1 nisimura ifdef M68020
73 1.1 nisimura define M68020 1
74 1.1 nisimura endif
75 1.1 nisimura ifdef M68030
76 1.1 nisimura define M68030 1
77 1.1 nisimura endif
78 1.1 nisimura ifdef M68040
79 1.1 nisimura define M68040 1
80 1.1 nisimura endif
81 1.1 nisimura
82 1.1 nisimura # values for fputype
83 1.1 nisimura define FPU_NONE FPU_NONE
84 1.1 nisimura define FPU_68881 FPU_68881
85 1.1 nisimura define FPU_68882 FPU_68882
86 1.1 nisimura define FPU_68040 FPU_68040
87 1.1 nisimura
88 1.1 nisimura # values for ectype
89 1.1 nisimura define EC_PHYS EC_PHYS
90 1.1 nisimura define EC_NONE EC_NONE
91 1.1 nisimura define EC_VIRT EC_VIRT
92 1.1 nisimura
93 1.1 nisimura # general constants
94 1.1 nisimura define UPAGES UPAGES
95 1.1 nisimura define USPACE USPACE
96 1.1 nisimura define NBPG NBPG
97 1.1 nisimura define PGSHIFT PGSHIFT
98 1.1 nisimura define USRSTACK USRSTACK
99 1.1 nisimura
100 1.1 nisimura # proc fields and values
101 1.1 nisimura define P_FORW offsetof(struct proc, p_forw)
102 1.1 nisimura define P_BACK offsetof(struct proc, p_back)
103 1.1 nisimura define P_VMSPACE offsetof(struct proc, p_vmspace)
104 1.1 nisimura define P_ADDR offsetof(struct proc, p_addr)
105 1.1 nisimura define P_PRIORITY offsetof(struct proc, p_priority)
106 1.1 nisimura define P_STAT offsetof(struct proc, p_stat)
107 1.1 nisimura define P_WCHAN offsetof(struct proc, p_wchan)
108 1.1 nisimura define P_MD_FLAGS offsetof(struct proc, p_md.md_flags)
109 1.1 nisimura define P_MD_REGS offsetof(struct proc, p_md.md_regs)
110 1.1 nisimura define SSLEEP SSLEEP
111 1.1 nisimura define SRUN SRUN
112 1.2 thorpej define SONPROC SONPROC
113 1.1 nisimura
114 1.1 nisimura # interrupt/fault metering
115 1.1 nisimura define UVMEXP_INTRS offsetof(struct uvmexp, intrs)
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.1 nisimura # exception frame offset/sizes
181 1.1 nisimura define FR_SP offsetof(struct frame, f_regs[15])
182 1.1 nisimura define FR_HW offsetof(struct frame, f_sr)
183 1.1 nisimura define FR_ADJ offsetof(struct frame, f_stackadj)
184 1.1 nisimura define FR_SIZE sizeof(struct trapframe)
185 1.4 tsutsui
186 1.4 tsutsui # FP frame offsets
187 1.4 tsutsui define FPF_REGS offsetof(struct fpframe, fpf_regs[0])
188 1.4 tsutsui define FPF_FPCR offsetof(struct fpframe, fpf_fpcr)
189 1.1 nisimura
190 1.1 nisimura # system calls
191 1.1 nisimura define SYS_exit SYS_exit
192 1.1 nisimura define SYS_execve SYS_execve
193 1.1 nisimura define SYS___sigreturn14 SYS___sigreturn14
194 1.1 nisimura define SYS_compat_13_sigreturn13 SYS_compat_13_sigreturn13
195 1.1 nisimura
196 1.1 nisimura # errno
197 1.1 nisimura define EFAULT EFAULT
198 1.1 nisimura define ENAMETOOLONG ENAMETOOLONG
199 1.1 nisimura
200 1.1 nisimura # SVR4 binary compatibility
201 1.1 nisimura ifdef COMPAT_SVR4
202 1.1 nisimura define SVR4_SIGF_HANDLER offsetof(struct svr4_sigframe, sf_handler)
203 1.1 nisimura define SVR4_SIGF_UC offsetof(struct svr4_sigframe, sf_uc)
204 1.1 nisimura define SVR4_SYS_context SVR4_SYS_context
205 1.1 nisimura define SVR4_SYS_exit SVR4_SYS_exit
206 1.1 nisimura define SVR4_SETCONTEXT SVR4_SETCONTEXT
207 1.1 nisimura endif
208 1.1 nisimura
209