blob: 53f5965f88111cbadad4fdd3144b84c9caab3e7d (
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
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
|
# $NetBSD: files.arm,v 1.168 2023/04/20 08:28:03 skrll Exp $
# temporary define to allow easy moving to ../arch/arm/arm32
defflag ARM32
# predefine for CPU_ARMV6 and CPU_ARMV7
defflag opt_cpuoptions.h ARM32_DISABLE_ALIGNMENT_FAULTS
# CPU types. Make sure to update <arm/cpuconf.h> if you change this list.
defflag opt_cputypes.h CPU_PRE_ARMV6
defflag opt_cputypes.h CPU_ARMV3: CPU_PRE_ARMV6
defflag opt_cputypes.h CPU_ARMV4: CPU_ARMV3
defflag opt_cputypes.h CPU_ARMV4T: CPU_ARMV4
defflag opt_cputypes.h CPU_ARMV5T: CPU_ARMV4T
defflag opt_cputypes.h CPU_ARMV5TE: CPU_ARMV5T
defflag opt_cputypes.h CPU_XSCALE: CPU_ARMV5TE
defflag opt_cputypes.h CPU_ARMV6: ARM32_DISABLE_ALIGNMENT_FAULTS
defflag opt_cputypes.h CPU_ARMV7: ARM32_DISABLE_ALIGNMENT_FAULTS
defflag opt_cputypes.h CPU_ARM6: CPU_ARMV3
defflag opt_cputypes.h CPU_ARM7: CPU_ARMV3
defflag opt_cputypes.h CPU_ARM8: CPU_ARMV4
defflag opt_cputypes.h CPU_SA110: CPU_ARMV4
defflag opt_cputypes.h CPU_SA1100: CPU_ARMV4
defflag opt_cputypes.h CPU_SA1110: CPU_ARMV4
defflag opt_cputypes.h CPU_FA526: CPU_ARMV4
defflag opt_cputypes.h CPU_IXP12X0: CPU_ARMV4
defflag opt_cputypes.h CPU_ARM7TDMI: CPU_ARMV4T
defflag opt_cputypes.h CPU_ARM9: CPU_ARMV4T
defflag opt_cputypes.h CPU_ARM10: CPU_ARMV5T
defflag opt_cputypes.h CPU_ARM9E: CPU_ARMV5TE
defflag opt_cputypes.h CPU_XSCALE_80200: CPU_XSCALE
defflag opt_cputypes.h CPU_XSCALE_80321: CPU_XSCALE
defflag opt_cputypes.h CPU_XSCALE_PXA250: CPU_XSCALE
defflag opt_cputypes.h CPU_XSCALE_PXA270: CPU_XSCALE
defflag opt_cputypes.h CPU_XSCALE_IXP425: CPU_XSCALE
defflag opt_cputypes.h CPU_SHEEVA: CPU_ARMV5TE
defflag opt_cputypes.h CPU_ARM11: CPU_ARMV6
defflag opt_cputypes.h CPU_ARM1136: CPU_ARM11
defflag opt_cputypes.h CPU_ARM1176: CPU_ARM11
defflag opt_cputypes.h CPU_ARM11MPCORE: CPU_ARM11
defflag opt_cputypes.h CPU_PJ4B: CPU_ARMV7
defflag opt_cputypes.h CPU_CORTEX: CPU_ARMV7
defflag opt_cputypes.h FPU_VFP
defparam opt_cpuoptions.h XSCALE_CCLKCFG
defflag opt_cpuoptions.h XSCALE_CACHE_WRITE_THROUGH
defflag opt_cpuoptions.h XSCALE_CACHE_WRITE_BACK
defflag opt_cpuoptions.h XSCALE_NO_COALESCE_WRITES
defflag opt_cpuoptions.h XSCALE_CACHE_READ_WRITE_ALLOCATE
defflag opt_cpuoptions.h ARM9_CACHE_WRITE_THROUGH
defflag opt_cpuoptions.h TPIDRPRW_IS_CURLWP
defflag opt_cpuoptions.h TPIDRPRW_IS_CURCPU
defflag opt_cpuoptions.h ARM11_PMC CORTEX_PMC
defflag opt_cpuoptions.h ARM11_CACHE_WRITE_THROUGH
defflag opt_cpuoptions.h ARM11_COMPAT_MMU
defflag opt_cpuoptions.h ARM_HAS_VBAR
defflag opt_cpuoptions.h ARM_HAS_LPAE
# use extended small page in compatible MMU mode for ARMv6
defflag opt_cpuoptions.h SHEEVA_L2_CACHE
defflag opt_cpuoptions.h SHEEVA_L2_CACHE_WT: SHEEVA_L2_CACHE
# override configuration base address register
defparam opt_cpuoptions.h ARM_CBAR
# Interrupt implementation header definition.
defparam opt_arm_intr_impl.h ARM_INTR_IMPL
# ARM-specific debug options
defflag opt_arm_debug.h ARM_LOCK_CAS_DEBUG
defflag opt_arm_debug.h VERBOSE_INIT_ARM
defparam opt_arm_debug.h EARLYCONS
# ARMv8-specific options
defflag opt_cpuoptions.h ARMV81_PAN
defflag opt_cpuoptions.h ARMV83_PAC
defflag opt_cpuoptions.h ARMV85_BTI
# Board-specific bus_space(9)/bus_dma(9) definitions
defflag opt_arm_bus_space.h __BUS_SPACE_HAS_STREAM_METHODS
__BUS_SPACE_HAS_PROBING_METHODS
_ARM32_NEED_BUS_DMA_BOUNCE
BUSDMA_COUNTERS
# Timer options
defflag opt_arm_timer.h __HAVE_GENERIC_CPU_INITCLOCKS
# Start code option
defflag opt_arm_start.h __HAVE_GENERIC_START
# Console options
defparam opt_console.h CONSADDR
defparam opt_console.h CONSPEED
defparam opt_console.h CONMODE
defparam opt_console.h CONADDR
# Floating point emulator
obsolete defflag ARMFPE
# VFP support
file arch/arm/vfp/vfp_init.c arm32
#file arch/arm/vfp/pmap_vfp.S arm32 & fpu_vfp
# SMC Calling Convention
define smccc
file arch/arm/arm/smccc.c smccc
# Power State Coordination Interface (PSCI)
device psci: smccc
file arch/arm/arm/psci.c psci
file arch/arm/arm/psci_arm.S psci
# EFI support
file arch/arm/arm/efi_runtime.c efi_runtime
# New PMAP options
defflag opt_arm32_pmap.h PMAPCOUNTERS
PMAP_STEAL_MEMORY PMAP_NEED_ALLOC_POOLPAGE
PMAP_TLB
defparam opt_arm32_pmap.h PGSHIFT
# MI console support
file dev/cons.c
# DDB
file arch/arm/arm/db_disasm.c ddb
file arch/arm/arm32/db_interface.c (ddb|kgdb) & arm32
file arch/arm/arm/db_trace.c ddb
file arch/arm/arm32/db_machdep.c ddb & arm32
file arch/arm/arm32/kgdb_machdep.c kgdb & arm32
# FIQ support
file arch/arm/arm/fiq.c
file arch/arm/arm/fiq_subr.S
# mainbus files
device mainbus { [base = -1], [size = 0], [dack = -1], [irq = -1], [intrbase = -1], [core = -1] }
attach mainbus at root
file arch/arm/mainbus/mainbus.c mainbus & arm32
file arch/arm/mainbus/mainbus_io.c mainbus & arm32
file arch/arm/mainbus/mainbus_io_asm.S mainbus & arm32
device cpu { }
attach cpu at mainbus with cpu_mainbus
file arch/arm/mainbus/cpu_mainbus.c cpu_mainbus & arm32
# files related to debugging
file arch/arm/arm/disassem.c
# bus_space(9)
define bus_space_generic
file arch/arm/arm/bus_space_asm_generic.S bus_space_generic
file arch/arm/arm/bus_space_notimpl.S arm32
file arch/arm/arm/bus_stubs.c
file arch/arm/arm/arm_cpu_topology.c
file arch/arm/arm/arm_machdep.c
file arch/arm/arm/ast.c
file arch/arm/arm/bcopyinout.S
file arch/arm/arm/blockio.S
file arch/arm/arm/bootconfig.c
file arch/arm/arm/compat_13_machdep.c compat_13
file arch/arm/arm/compat_16_machdep.c compat_16
file arch/arm/arm/copystr.S
file arch/arm/arm/core_machdep.c coredump
file arch/arm/arm/cpufunc.c
file arch/arm/arm/cpufunc_asm.S
file arch/arm/arm/cpufunc_asm_arm67.S cpu_arm6 | cpu_arm7
file arch/arm/arm/cpufunc_asm_arm7tdmi.S cpu_arm7tdmi
file arch/arm/arm/cpufunc_asm_arm8.S cpu_arm8
file arch/arm/arm/cpufunc_asm_arm9.S cpu_arm9
file arch/arm/arm/cpufunc_asm_arm10.S cpu_arm9e | cpu_arm10 |
cpu_sheeva
file arch/arm/arm/cpufunc_asm_arm11.S cpu_arm11
file arch/arm/arm/cpufunc_asm_arm1136.S cpu_arm1136
file arch/arm/arm/cpufunc_asm_arm11x6.S cpu_arm1136 | cpu_arm1176
file arch/arm/arm/cpufunc_asm_armv4.S cpu_arm9 | cpu_arm9e |
cpu_arm10 |
cpu_fa526 |
cpu_sa110 |
cpu_sa1100 |
cpu_sa1110 |
cpu_ixp12x0 |
cpu_xscale |
cpu_sheeva
file arch/arm/arm/cpufunc_asm_armv5.S cpu_arm10 | cpu_arm11mpcore
file arch/arm/arm/cpufunc_asm_armv5_ec.S cpu_arm9e | cpu_arm10 |
cpu_sheeva
file arch/arm/arm/cpufunc_asm_armv6.S cpu_arm11
file arch/arm/arm/cpufunc_asm_armv7.S cpu_cortex | cpu_pj4b
file arch/arm/arm/cpufunc_asm_pj4b.S cpu_pj4b
file arch/arm/arm/cpufunc_asm_sa1.S cpu_sa110 | cpu_sa1100 |
cpu_sa1110 |
cpu_ixp12x0
file arch/arm/arm/cpufunc_asm_sa11x0.S cpu_sa1100 | cpu_sa1110
file arch/arm/arm/cpufunc_asm_fa526.S cpu_fa526
file arch/arm/arm/cpufunc_asm_xscale.S cpu_xscale
file arch/arm/arm/cpufunc_asm_ixp12x0.S cpu_ixp12x0
file arch/arm/arm/cpufunc_asm_sheeva.S cpu_sheeva
file arch/arm/arm/cpu_exec.c
file arch/arm/arm/cpu_in_cksum.S (inet | inet6) & cpu_in_cksum
file arch/arm/arm/cpu_subr.c
file arch/arm/arm/fusu.S
file arch/arm/arm/idle_machdep.c
file arch/arm/arm/lock_cas.S
file arch/arm/arm/process_machdep.c
file arch/arm/arm/procfs_machdep.c procfs
file arch/arm/arm/sig_machdep.c
file arch/arm/arm/sigcode.S
file arch/arm/arm/syscall.c
file arch/arm/arm/trap.c
file arch/arm/arm/undefined.c
file arch/arm/arm/vectors.S arm32
# EFI runtime (machdep)
file arch/arm/arm/efi_machdep.c efi_runtime
# files common to arm32 implementations
file arch/arm/arm32/arm32_machdep.c arm32
file arch/arm/arm32/bus_dma.c arm32
file arch/arm/arm32/cpu.c arm32 & cpu
file arch/arm/arm32/cpuswitch.S arm32
file arch/arm/arm32/exception.S arm32
file arch/arm/arm32/fault.c arm32
file arch/arm/arm32/kobj_machdep.c arm32 & modular
file arch/arm/arm32/pmap.c arm32
file arch/arm/arm32/setcpsr.S arm32
file arch/arm/arm32/setstack.S arm32
file arch/arm/arm32/stubs.c arm32
file arch/arm/arm32/sys_machdep.c arm32
file arch/arm/arm32/vm_machdep.c arm32
# files less common to arm32 implementations...
file kern/kern_cctr.c arm11
file arch/arm/arm32/arm11_pmc.c arm11_pmc
file arch/arm/arm32/cortex_pmc.c cortex_pmc
file arch/arm/arm32/arm32_tlb.c (cpu_armv7 | cpu_arm11) & (!arm11_compat_mmu & !cpu_pre_armv6)
file uvm/pmap/pmap_devmap.c
file uvm/pmap/pmap_tlb.c (cpu_armv7 | cpu_arm11) & (!arm11_compat_mmu & !cpu_pre_armv6)
# generic pmap files for arm32 implementations
file uvm/pmap/pmap_pvt.c arm32
# arm32 library functions
file arch/arm/arm32/bcopy_page.S arm32
#
include "compat/netbsd32/files.netbsd32"
file arch/arm/arm32/netbsd32_machdep.c arm32 & compat_netbsd32
file arch/arm/arm32/netbsd32_machdep_16.c arm32 & compat_netbsd32 &
compat_16
file arch/arm/arm32/netbsd32_machdep_13.c arm32 & compat_netbsd32 &
compat_13
# Linux binary compatibility (COMPAT_LINUX)
include "compat/ossaudio/files.ossaudio"
include "compat/linux/files.linux"
include "compat/linux/arch/arm/files.linux_arm"
file arch/arm/arm/linux_sigcode.S compat_linux
file arch/arm/arm/linux_syscall.c compat_linux
file arch/arm/arm/linux_trap.c compat_linux
# profiling support
file dev/tprof/tprof_armv7.c tprof
# vpaes with ARM NEON
include "crypto/aes/arch/arm/files.aesneon"
# ChaCha with ARM NEON
include "crypto/chacha/arch/arm/files.chacha_arm"
|