summaryrefslogtreecommitdiff
path: root/sys/arch/amiga/amiga/genassym.cf
blob: c5c7be6b7e491991f2feb0d2e5a0d4a5181b1639 (plain)
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
#	$NetBSD: genassym.cf,v 1.3 1997/07/16 00:01:49 is Exp $
#	$OpenBSD: genassym.cf,v 1.10 2001/11/06 19:53:13 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 <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
export	MMU_68851
export	MMU_68030
export	MMU_68040
export	MMU_68060

# values for cputype
export	CPU_68020
export	CPU_68030
export	CPU_68040
export	CPU_68060

# values for ectype
export	EC_NONE

# values for fputype
export	FPU_NONE
export	FPU_68881
export	FPU_68882
export	FPU_68040
export	FPU_68060
export	FPU_UNKNOWN

ifdef FPU_EMULATE
export	FPU_EMULATE
endif

# values for machineid
export	AMIGA_68020
export	AMIGA_68030
export	AMIGA_68040
export	AMIGA_68060
ifdef DRACO
export	DRACO
endif
ifdef BB060STUPIDROM
export BB060STUPIDROM
endif

# proc structure fields and values
struct	proc
member	p_vmspace
member	p_addr
member	P_MD_REGS	p_md.md_regs

# interrupt/fault metering
struct	uvmexp		UVMEXP_
member	intrs

# general constants
export	UPAGES
export	USPACE
export	PGSHIFT
export	USRSTACK

# PSL values
export	PSL_S
export	PSL_IPL7
export	PSL_IPL
export	PSL_LOWIPL	
export	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
export	FC_SUPERD
export	CACHE_ON
export	CACHE_OFF
export	CACHE_CLR
export	IC_CLEAR
export	DC_CLEAR
export	CACHE40_ON
export	CACHE40_OFF
export	CACHE60_ON
export	CACHE60_OFF
export	IC60_CUBC
export	IC60_CABC

# pte/ste bits
export	PG_V
export	PG_NV
export	PG_RO
export	PG_RW
export	PG_CI
export	PG_PROT
export	PG_FRAME

# pcb fields
struct	pcb
member	pcb_flags
member	pcb_ps
member	pcb_usp
member	pcb_regs
member	pcb_cmap2
member	PCB_FPCTX	pcb_fpregs
define	SIZEOF_PCB	sizeof(struct pcb)

# isr fields
struct	isr
member	isr_forw
member	isr_intr
member	isr_arg

# system calls
export	SYS_exit
export	SYS_execve

# user fields
struct	user
member	U_PROF		u_stats.p_prof
member	U_PROFSCALE	u_stats.p_prof.pr_scale

# miscellaneous custom chip register offsets
define	CIAICR		offsetof(struct CIA, icr)