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
|
# $NetBSD: genassym.cf,v 1.3 1997/07/16 00:01:49 is Exp $
# $OpenBSD: genassym.cf,v 1.8 2001/08/31 00:37:15 miod Exp $
#
# Copyright (c) 1982, 1990, 1993
# 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 8.3 (Berkeley) 1/4/94
#
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 <uvm/uvm_extern.h>
include <machine/cpu.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_68851 MMU_68851
define MMU_68030 MMU_68030
define MMU_68040 MMU_68040
define MMU_68060 MMU_68060
# 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 ectype
define EC_NONE EC_NONE
# values for fputype
define FPU_NONE FPU_NONE
define FPU_68881 FPU_68881
define FPU_68882 FPU_68882
define FPU_68040 FPU_68040
define FPU_68060 FPU_68060
define FPU_UNKNOWN FPU_UNKNOWN
ifdef FPU_EMULATE
define FPU_EMULATE FPU_EMULATE
endif
# values for machineid
define AMIGA_68020 AMIGA_68020
define AMIGA_68030 AMIGA_68030
define AMIGA_68040 AMIGA_68040
define AMIGA_68060 AMIGA_68060
ifdef DRACO
define DRACO DRACO
endif
ifdef BB060STUPIDROM
define BB060STUPIDROM BB060STUPIDROM
endif
# proc structure fields and values
define P_VMSPACE offsetof(struct proc, p_vmspace)
define P_ADDR offsetof(struct proc, p_addr)
define P_MD_REGS offsetof(struct proc, p_md.md_regs)
# interrupt/fault metering
define UVMEXP_INTRS offsetof(struct uvmexp, intrs)
# general constants
define UPAGES UPAGES
define USPACE USPACE
define PGSHIFT PGSHIFT
define USRSTACK USRSTACK
# PSL values
define PSL_S PSL_S
define PSL_IPL7 PSL_IPL7
define PSL_IPL PSL_IPL
define PSL_LOWIPL PSL_LOWIPL
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_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_USP offsetof(struct pcb, pcb_usp)
define PCB_REGS offsetof(struct pcb, pcb_regs)
define PCB_CMAP2 offsetof(struct pcb, pcb_cmap2)
define PCB_FPCTX offsetof(struct pcb, pcb_fpregs)
define SIZEOF_PCB sizeof(struct pcb)
# isr 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)
# system calls
define SYS_exit SYS_exit
define SYS_execve SYS_execve
# user fields
define U_PROF offsetof(struct user, u_stats.p_prof)
define U_PROFSCALE offsetof(struct user, u_stats.p_prof.pr_scale)
# miscellaneous custom chip register offsets
define CIAICR offsetof(struct CIA, icr)
|