genassym.cf revision 1.4 1 # $NetBSD: genassym.cf,v 1.4 2000/11/21 13:54:14 tsutsui Exp $
2
3 #
4 # Copyright (c) 1982, 1990, 1993
5 # The Regents of the University of California. All rights reserved.
6 #
7 # Redistribution and use in source and binary forms, with or without
8 # modification, are permitted provided that the following conditions
9 # are met:
10 # 1. Redistributions of source code must retain the above copyright
11 # notice, this list of conditions and the following disclaimer.
12 # 2. Redistributions in binary form must reproduce the above copyright
13 # notice, this list of conditions and the following disclaimer in the
14 # documentation and/or other materials provided with the distribution.
15 # 3. All advertising materials mentioning features or use of this software
16 # must display the following acknowledgement:
17 # This product includes software developed by the University of
18 # California, Berkeley and its contributors.
19 # 4. Neither the name of the University nor the names of its contributors
20 # may be used to endorse or promote products derived from this software
21 # without specific prior written permission.
22 #
23 # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 # SUCH DAMAGE.
34 #
35 # @(#)genassym.c 8.3 (Berkeley) 1/4/94
36 #
37
38 include "opt_compat_svr4.h"
39
40 include <sys/param.h>
41 include <sys/buf.h>
42 include <sys/map.h>
43 include <sys/proc.h>
44 include <sys/mbuf.h>
45 include <sys/msgbuf.h>
46 include <sys/syscall.h>
47 include <sys/user.h>
48
49 include <uvm/uvm_extern.h>
50
51 ifdef COMPAT_SVR4
52 include <compat/svr4/svr4_syscall.h>
53 include <compat/svr4/svr4_ucontext.h>
54 endif
55
56 include <machine/cpu.h>
57 include <machine/psl.h>
58 include <machine/reg.h>
59 include <machine/pte.h>
60
61 # values for mmutype
62 define MMU_68030 MMU_68030
63 define MMU_68851 MMU_68851
64 define MMU_68040 MMU_68040
65
66 # values for cputype
67 define CPU_68020 CPU_68020
68 define CPU_68030 CPU_68030
69 define CPU_68040 CPU_68040
70
71 # CPU configuration options
72 ifdef M68020
73 define M68020 1
74 endif
75 ifdef M68030
76 define M68030 1
77 endif
78 ifdef M68040
79 define M68040 1
80 endif
81
82 # values for fputype
83 define FPU_NONE FPU_NONE
84 define FPU_68881 FPU_68881
85 define FPU_68882 FPU_68882
86 define FPU_68040 FPU_68040
87
88 # values for ectype
89 define EC_PHYS EC_PHYS
90 define EC_NONE EC_NONE
91 define EC_VIRT EC_VIRT
92
93 # general constants
94 define UPAGES UPAGES
95 define USPACE USPACE
96 define NBPG NBPG
97 define PGSHIFT PGSHIFT
98 define USRSTACK USRSTACK
99
100 # proc fields and values
101 define P_FORW offsetof(struct proc, p_forw)
102 define P_BACK offsetof(struct proc, p_back)
103 define P_VMSPACE offsetof(struct proc, p_vmspace)
104 define P_ADDR offsetof(struct proc, p_addr)
105 define P_PRIORITY offsetof(struct proc, p_priority)
106 define P_STAT offsetof(struct proc, p_stat)
107 define P_WCHAN offsetof(struct proc, p_wchan)
108 define P_MD_FLAGS offsetof(struct proc, p_md.md_flags)
109 define P_MD_REGS offsetof(struct proc, p_md.md_regs)
110 define SSLEEP SSLEEP
111 define SRUN SRUN
112 define SONPROC SONPROC
113
114 # interrupt/fault metering
115 define UVMEXP_INTRS offsetof(struct uvmexp, intrs)
116
117 define T_BUSERR T_BUSERR
118 define T_ADDRERR T_ADDRERR
119 define T_ILLINST T_ILLINST
120 define T_ZERODIV T_ZERODIV
121 define T_CHKINST T_CHKINST
122 define T_TRAPVINST T_TRAPVINST
123 define T_PRIVINST T_PRIVINST
124 define T_TRACE T_TRACE
125 define T_MMUFLT T_MMUFLT
126 define T_SSIR T_SSIR
127 define T_FMTERR T_FMTERR
128 define T_COPERR T_COPERR
129 define T_FPERR T_FPERR
130 define T_ASTFLT T_ASTFLT
131 define T_TRAP15 T_TRAP15
132 define T_FPEMULI T_FPEMULI
133 define T_FPEMULD T_FPEMULD
134
135 # PSL values (should just include psl.h?)
136 define PSL_S PSL_S
137 define PSL_IPL7 PSL_IPL7
138 define PSL_LOWIPL PSL_LOWIPL
139 define PSL_HIGHIPL PSL_HIGHIPL
140 define PSL_USER PSL_USER
141 define PSL_TS PSL_T | PSL_S
142 define SPL1 PSL_S | PSL_IPL1
143 define SPL2 PSL_S | PSL_IPL2
144 define SPL3 PSL_S | PSL_IPL3
145 define SPL4 PSL_S | PSL_IPL4
146 define SPL5 PSL_S | PSL_IPL5
147 define SPL6 PSL_S | PSL_IPL6
148
149 # magic
150 define FC_USERD FC_USERD
151 define FC_SUPERD FC_SUPERD
152 define CACHE_ON CACHE_ON
153 define CACHE_OFF CACHE_OFF
154 define CACHE_CLR CACHE_CLR
155 define IC_CLEAR IC_CLEAR
156 define DC_CLEAR DC_CLEAR
157
158 # pte/ste bits
159 define PG_V PG_V
160 define PG_NV PG_NV
161 define PG_RO PG_RO
162 define PG_RW PG_RW
163 define PG_CI PG_CI
164 define PG_PROT PG_PROT
165 define PG_FRAME PG_FRAME
166 define SG_V SG_V
167 define SG_NV SG_NV
168 define SG_RW SG_RW
169 define SG_FRAME SG_FRAME
170 define SG_ISHIFT SG_ISHIFT
171
172 # pcb fields
173 define PCB_PS offsetof(struct pcb, pcb_ps)
174 define PCB_USP offsetof(struct pcb, pcb_usp)
175 define PCB_REGS offsetof(struct pcb, pcb_regs)
176 define PCB_ONFAULT offsetof(struct pcb, pcb_onfault)
177 define PCB_FPCTX offsetof(struct pcb, pcb_fpregs)
178 define SIZEOF_PCB sizeof(struct pcb)
179
180 # exception frame offset/sizes
181 define FR_SP offsetof(struct frame, f_regs[15])
182 define FR_HW offsetof(struct frame, f_sr)
183 define FR_ADJ offsetof(struct frame, f_stackadj)
184 define FR_SIZE sizeof(struct trapframe)
185
186 # FP frame offsets
187 define FPF_REGS offsetof(struct fpframe, fpf_regs[0])
188 define FPF_FPCR offsetof(struct fpframe, fpf_fpcr)
189
190 # system calls
191 define SYS_exit SYS_exit
192 define SYS_execve SYS_execve
193 define SYS___sigreturn14 SYS___sigreturn14
194 define SYS_compat_13_sigreturn13 SYS_compat_13_sigreturn13
195
196 # errno
197 define EFAULT EFAULT
198 define ENAMETOOLONG ENAMETOOLONG
199
200 # SVR4 binary compatibility
201 ifdef COMPAT_SVR4
202 define SVR4_SIGF_HANDLER offsetof(struct svr4_sigframe, sf_handler)
203 define SVR4_SIGF_UC offsetof(struct svr4_sigframe, sf_uc)
204 define SVR4_SYS_context SVR4_SYS_context
205 define SVR4_SYS_exit SVR4_SYS_exit
206 define SVR4_SETCONTEXT SVR4_SETCONTEXT
207 endif
208
209