1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
|
# $OpenBSD: genassym.cf,v 1.1 1997/03/27 11:52:07 niklas Exp $
#
# Copyright (c) 1982, 1990 The Regents of the University of California.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. All advertising materials mentioning features or use of this software
# must display the following acknowledgement:
# This product includes software developed by the University of
# California, Berkeley and its contributors.
# 4. Neither the name of the University nor the names of its contributors
# may be used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
# @(#)genassym.c 7.8 (Berkeley) 5/7/91
#
include <sys/param.h>
include <sys/buf.h>
include <sys/proc.h>
include <sys/mbuf.h>
include <sys/msgbuf.h>
include <sys/syscall.h>
include <sys/user.h>
include <vm/vm.h>
include <machine/cpu.h>
include <machine/trap.h>
include <machine/psl.h>
include <machine/reg.h>
include <machine/vmparam.h>
include <machine/pte.h>
include <amiga/amiga/cia.h>
include <amiga/amiga/isr.h>
# values for mmutype
define MMU_68060 MMU_68060
define MMU_68040 MMU_68040
define MMU_68030 MMU_68030
define MMU_68851 MMU_68851
# values for cputype
define CPU_68020 CPU_68020
define CPU_68030 CPU_68030
define CPU_68040 CPU_68040
define CPU_68060 CPU_68060
# values for machineid
define AMIGA_68020 AMIGA_68020
define AMIGA_68030 AMIGA_68030
define AMIGA_68040 AMIGA_68040
define AMIGA_68060 AMIGA_68060
# proc fields and values
define P_FORW offsetof(struct proc, p_forw)
define P_BACK offsetof(struct proc, p_back)
define P_VMSPACE offsetof(struct proc, p_vmspace)
define P_ADDR offsetof(struct proc, p_addr)
define P_PRIORITY offsetof(struct proc, p_priority)
define P_STAT offsetof(struct proc, p_stat)
define P_WCHAN offsetof(struct proc, p_wchan)
define P_PID offsetof(struct proc, p_pid)
define P_MD_REGS offsetof(struct proc, p_md.md_regs)
define SRUN SRUN
# VM structure fields
define VM_PMAP offsetof(struct vmspace, vm_pmap)
define PM_STCHG offsetof(struct pmap, pm_stchanged)
# interrupt/fault metering
define V_INTR offsetof(struct vmmeter, v_intr)
# PSL values (should just include psl.h?)
define PSL_S PSL_S
define PSL_IPL7 PSL_IPL7
define PSL_IPL PSL_IPL
define PSL_LOWIPL PSL_LOWIPL
define PSL_HIGHIPL PSL_HIGHIPL
define PSL_USER PSL_USER
define SPL1 PSL_S | PSL_IPL1
define SPL2 PSL_S | PSL_IPL2
define SPL3 PSL_S | PSL_IPL3
define SPL4 PSL_S | PSL_IPL4
define SPL5 PSL_S | PSL_IPL5
define SPL6 PSL_S | PSL_IPL6
# magic
define FC_USERD FC_USERD
define FC_SUPERD FC_SUPERD
define CACHE_ON CACHE_ON
define CACHE_OFF CACHE_OFF
define CACHE_CLR CACHE_CLR
define IC_CLEAR IC_CLEAR
define DC_CLEAR DC_CLEAR
define CACHE40_ON CACHE40_ON
define CACHE40_OFF CACHE40_OFF
define CACHE60_ON CACHE60_ON
define CACHE60_OFF CACHE60_OFF
define IC60_CUBC IC60_CUBC
define IC60_CABC IC60_CABC
# pte/ste bits
define PG_V PG_V
define PG_NV PG_NV
define PG_RO PG_RO
define PG_RW PG_RW
define PG_CI PG_CI
define PG_PROT PG_PROT
define PG_FRAME PG_FRAME
# pcb fields
define PCB_FLAGS offsetof(struct pcb, pcb_flags)
define PCB_PS offsetof(struct pcb, pcb_ps)
define PCB_USTP offsetof(struct pcb, pcb_ustp)
define PCB_USP offsetof(struct pcb, pcb_usp)
define PCB_REGS offsetof(struct pcb, pcb_regs)
define PCB_CMAP2 offsetof(struct pcb, pcb_cmap2)
define PCB_ONFAULT offsetof(struct pcb, pcb_onfault)
define PCB_FPCTX offsetof(struct pcb, pcb_fpregs)
define SIZEOF_PCB sizeof(struct pcb)
# exception frame offset/sizes
define FR_SP offsetof(struct frame, f_regs[15])
define FR_HW offsetof(struct frame, f_sr)
define FR_ADJ offsetof(struct frame, f_stackadj)
# system calls
define SYS_exit SYS_exit
define SYS_execve SYS_execve
define SYS_sigreturn SYS_sigreturn
# Various constants
define UPAGES UPAGES
define USPACE USPACE
define NBPG NBPG
define PGSHIFT PGSHIFT
define USRSTACK USRSTACK
#ifdef DRACO
define DRACO DRACO
#endif
# user fields
define U_PROF offsetof(struct user, u_stats.p_prof)
define U_PROFSCALE offsetof(struct user, u_stats.p_prof.pr_scale)
# Traps
define T_BUSERR T_BUSERR
define T_ADDRERR T_ADDRERR
define T_ILLINST T_ILLINST
define T_ZERODIV T_ZERODIV
define T_CHKINST T_CHKINST
define T_TRAPVINST T_TRAPVINST
define T_PRIVINST T_PRIVINST
define T_TRACE T_TRACE
define T_MMUFLT T_MMUFLT
define T_FMTERR T_FMTERR
define T_COPERR T_COPERR
define T_FPERR T_FPERR
define T_ASTFLT T_ASTFLT
define T_TRAP15 T_TRAP15
# Custom chip registers
define CIAICR offsetof(struct CIA, icr)
# Interrupt service routine entry fields
define ISR_FORW offsetof(struct isr, isr_forw)
define ISR_INTR offsetof(struct isr, isr_intr)
define ISR_ARG offsetof(struct isr, isr_arg)
|