mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race
[linux/fpc-iii.git] / arch / m68k / Kconfig.machine
blob5cd57b4d3615625c21ff6193c6739e455082da25
1 # SPDX-License-Identifier: GPL-2.0
2 comment "Machine Types"
4 if M68KCLASSIC
6 config AMIGA
7         bool "Amiga support"
8         depends on MMU
9         select MMU_MOTOROLA if MMU
10         help
11           This option enables support for the Amiga series of computers. If
12           you plan to use this kernel on an Amiga, say Y here and browse the
13           material available in <file:Documentation/m68k>; otherwise say N.
15 config ATARI
16         bool "Atari support"
17         depends on MMU
18         select MMU_MOTOROLA if MMU
19         help
20           This option enables support for the 68000-based Atari series of
21           computers (including the TT, Falcon and Medusa). If you plan to use
22           this kernel on an Atari, say Y here and browse the material
23           available in <file:Documentation/m68k>; otherwise say N.
25 config MAC
26         bool "Macintosh support"
27         depends on MMU
28         select MMU_MOTOROLA if MMU
29         help
30           This option enables support for the Apple Macintosh series of
31           computers (yes, there is experimental support now, at least for part
32           of the series).
34           Say N unless you're willing to code the remaining necessary support.
35           ;)
37 config APOLLO
38         bool "Apollo support"
39         depends on MMU
40         select MMU_MOTOROLA if MMU
41         help
42           Say Y here if you want to run Linux on an MC680x0-based Apollo
43           Domain workstation such as the DN3500.
45 config VME
46         bool "VME (Motorola and BVM) support"
47         depends on MMU
48         select MMU_MOTOROLA if MMU
49         help
50           Say Y here if you want to build a kernel for a 680x0 based VME
51           board.  Boards currently supported include Motorola boards MVME147,
52           MVME162, MVME166, MVME167, MVME172, and MVME177.  BVME4000 and
53           BVME6000 boards from BVM Ltd are also supported.
55 config MVME147
56         bool "MVME147 support"
57         depends on MMU
58         depends on VME
59         help
60           Say Y to include support for early Motorola VME boards.  This will
61           build a kernel which can run on MVME147 single-board computers.  If
62           you select this option you will have to select the appropriate
63           drivers for SCSI, Ethernet and serial ports later on.
65 config MVME16x
66         bool "MVME162, 166 and 167 support"
67         depends on MMU
68         depends on VME
69         help
70           Say Y to include support for Motorola VME boards.  This will build a
71           kernel which can run on MVME162, MVME166, MVME167, MVME172, and
72           MVME177 boards.  If you select this option you will have to select
73           the appropriate drivers for SCSI, Ethernet and serial ports later
74           on.
76 config BVME6000
77         bool "BVME4000 and BVME6000 support"
78         depends on MMU
79         depends on VME
80         help
81           Say Y to include support for VME boards from BVM Ltd.  This will
82           build a kernel which can run on BVME4000 and BVME6000 boards.  If
83           you select this option you will have to select the appropriate
84           drivers for SCSI, Ethernet and serial ports later on.
86 config HP300
87         bool "HP9000/300 and HP9000/400 support"
88         depends on MMU
89         select MMU_MOTOROLA if MMU
90         help
91           This option enables support for the HP9000/300 and HP9000/400 series
92           of workstations. Support for these machines is still somewhat
93           experimental. If you plan to try to use the kernel on such a machine
94           say Y here.
95           Everybody else says N.
97 config SUN3X
98         bool "Sun3x support"
99         depends on MMU
100         select MMU_MOTOROLA if MMU
101         select M68030
102         help
103           This option enables support for the Sun 3x series of workstations.
104           Be warned that this support is very experimental.
105           Note that Sun 3x kernels are not compatible with Sun 3 hardware.
106           General Linux information on the Sun 3x series (now discontinued)
107           is at <http://www.angelfire.com/ca2/tech68k/sun3.html>.
109           If you don't want to compile a kernel for a Sun 3x, say N.
111 config Q40
112         bool "Q40/Q60 support"
113         depends on MMU
114         select MMU_MOTOROLA if MMU
115         help
116           The Q40 is a Motorola 68040-based successor to the Sinclair QL
117           manufactured in Germany.  There is an official Q40 home page at
118           <http://www.q40.de/>.  This option enables support for the Q40 and
119           Q60. Select your CPU below.  For 68LC060 don't forget to enable FPU
120           emulation.
122 config SUN3
123         bool "Sun3 support"
124         depends on MMU
125         depends on !MMU_MOTOROLA
126         select MMU_SUN3 if MMU
127         select M68020
128         help
129           This option enables support for the Sun 3 series of workstations
130           (3/50, 3/60, 3/1xx, 3/2xx systems). Enabling this option requires
131           that all other hardware types must be disabled, as Sun 3 kernels
132           are incompatible with all other m68k targets (including Sun 3x!).
134           If you don't want to compile a kernel exclusively for a Sun 3, say N.
136 endif # M68KCLASSIC
138 config PILOT
139         bool
141 config PILOT3
142         bool "Pilot 1000/5000, PalmPilot Personal/Pro, or PalmIII support"
143         depends on M68328
144         select PILOT
145         help
146           Support for the Palm Pilot 1000/5000, Personal/Pro and PalmIII.
148 config XCOPILOT_BUGS
149         bool "(X)Copilot support"
150         depends on PILOT3
151         help
152           Support the bugs of Xcopilot.
154 config UCSIMM
155         bool "uCsimm module support"
156         depends on M68EZ328
157         help
158           Support for the Arcturus Networks uCsimm module.
160 config UCDIMM
161         bool "uDsimm module support"
162         depends on M68VZ328
163         help
164           Support for the Arcturus Networks uDsimm module.
166 config DRAGEN2
167         bool "DragenEngine II board support"
168         depends on M68VZ328
169         help
170           Support for the DragenEngine II board.
172 config DIRECT_IO_ACCESS
173         bool "Allow user to access IO directly"
174         depends on (UCSIMM || UCDIMM || DRAGEN2)
175         help
176           Disable the CPU internal registers protection in user mode,
177           to allow a user application to read/write them.
179 config INIT_LCD
180         bool "Initialize LCD"
181         depends on (UCSIMM || UCDIMM || DRAGEN2)
182         help
183           Initialize the LCD controller of the 68x328 processor.
185 config MEMORY_RESERVE
186         int "Memory reservation (MiB)"
187         depends on (UCSIMM || UCDIMM)
188         help
189           Reserve certain memory regions on 68x328 based boards.
191 config ARN5206
192         bool "Arnewsh 5206 board support"
193         depends on M5206
194         help
195           Support for the Arnewsh 5206 board.
197 config M5206eC3
198         bool "Motorola M5206eC3 board support"
199         depends on M5206e
200         help
201           Support for the Motorola M5206eC3 board.
203 config ELITE
204         bool "Motorola M5206eLITE board support"
205         depends on M5206e
206         help
207           Support for the Motorola M5206eLITE board.
209 config M5235EVB
210         bool "Freescale M5235EVB support"
211         depends on M523x
212         help
213           Support for the Freescale M5235EVB board.
215 config M5249C3
216         bool "Motorola M5249C3 board support"
217         depends on M5249
218         help
219           Support for the Motorola M5249C3 board.
221 config M5272C3
222         bool "Motorola M5272C3 board support"
223         depends on M5272
224         help
225           Support for the Motorola M5272C3 board.
227 config WILDFIRE
228         bool "Intec Automation Inc. WildFire board support"
229         depends on M528x
230         help
231           Support for the Intec Automation Inc. WildFire.
233 config WILDFIREMOD
234         bool "Intec Automation Inc. WildFire module support"
235         depends on M528x
236         help
237           Support for the Intec Automation Inc. WildFire module.
239 config ARN5307
240         bool "Arnewsh 5307 board support"
241         depends on M5307
242         help
243           Support for the Arnewsh 5307 board.
245 config M5307C3
246         bool "Motorola M5307C3 board support"
247         depends on M5307
248         help
249           Support for the Motorola M5307C3 board.
251 config SECUREEDGEMP3
252         bool "SnapGear SecureEdge/MP3 platform support"
253         depends on M5307
254         help
255           Support for the SnapGear SecureEdge/MP3 platform.
257 config M5407C3
258         bool "Motorola M5407C3 board support"
259         depends on M5407
260         help
261           Support for the Motorola M5407C3 board.
263 config AMCORE
264         bool "Sysam AMCORE board support"
265         depends on M5307
266         help
267           Support for the Sysam AMCORE open-hardware generic board.
269 config FIREBEE
270         bool "FireBee board support"
271         depends on M547x
272         help
273           Support for the FireBee ColdFire 5475 based board.
275 config CLEOPATRA
276         bool "Feith CLEOPATRA board support"
277         depends on (M5307 || M5407)
278         help
279           Support for the Feith Cleopatra boards.
281 config CANCam
282         bool "Feith CANCam board support"
283         depends on M5272
284         help
285           Support for the Feith CANCam board.
287 config SCALES
288         bool "Feith SCALES board support"
289         depends on M5272
290         help
291           Support for the Feith SCALES board.
293 config NETtel
294         bool "SecureEdge/NETtel board support"
295         depends on (M5206e || M5272 || M5307)
296         help
297           Support for the SnapGear NETtel/SecureEdge/SnapGear boards.
299 config MOD5272
300         bool "Netburner MOD-5272 board support"
301         depends on M5272
302         help
303           Support for the Netburner MOD-5272 board.
305 if !MMU || COLDFIRE
307 comment "Machine Options"
309 config UBOOT
310         bool "Support for U-Boot command line parameters"
311         help
312           If you say Y here kernel will try to collect command
313           line parameters from the initial u-boot stack.
314         default n
316 config 4KSTACKS
317         bool "Use 4Kb for kernel stacks instead of 8Kb"
318         default y
319         help
320           If you say Y here the kernel will use a 4Kb stacksize for the
321           kernel stack attached to each process/thread. This facilitates
322           running more threads on a system and also reduces the pressure
323           on the VM subsystem for higher order allocations.
325 comment "RAM configuration"
327 config RAMBASE
328         hex "Address of the base of RAM"
329         default "0"
330         help
331           Define the address that RAM starts at. On many platforms this is
332           0, the base of the address space. And this is the default. Some
333           platforms choose to setup their RAM at other addresses within the
334           processor address space.
336 config RAMSIZE
337         hex "Size of RAM (in bytes), or 0 for automatic"
338         default "0x400000"
339         help
340           Define the size of the system RAM. If you select 0 then the
341           kernel will try to probe the RAM size at runtime. This is not
342           supported on all CPU types.
344 config VECTORBASE
345         hex "Address of the base of system vectors"
346         default "0"
347         help
348           Define the address of the system vectors. Commonly this is
349           put at the start of RAM, but it doesn't have to be. On ColdFire
350           platforms this address is programmed into the VBR register, thus
351           actually setting the address to use.
353 config MBAR
354         hex "Address of the MBAR (internal peripherals)"
355         default "0x10000000"
356         depends on HAVE_MBAR
357         help
358           Define the address of the internal system peripherals. This value
359           is set in the processors MBAR register. This is generally setup by
360           the boot loader, and will not be written by the kernel. By far most
361           ColdFire boards use the default 0x10000000 value, so if unsure then
362           use this.
364 config IPSBAR
365         hex "Address of the IPSBAR (internal peripherals)"
366         default "0x40000000"
367         depends on HAVE_IPSBAR
368         help
369           Define the address of the internal system peripherals. This value
370           is set in the processors IPSBAR register. This is generally setup by
371           the boot loader, and will not be written by the kernel. By far most
372           ColdFire boards use the default 0x40000000 value, so if unsure then
373           use this.
375 config KERNELBASE
376         hex "Address of the base of kernel code"
377         default "0x400"
378         help
379           Typically on m68k systems the kernel will not start at the base
380           of RAM, but usually some small offset from it. Define the start
381           address of the kernel here. The most common setup will have the
382           processor vectors at the base of RAM and then the start of the
383           kernel. On some platforms some RAM is reserved for boot loaders
384           and the kernel starts after that. The 0x400 default was based on
385           a system with the RAM based at address 0, and leaving enough room
386           for the theoretical maximum number of 256 vectors.
388 comment "ROM configuration"
390 config ROM
391         bool "Specify ROM linker regions"
392         default n
393         help
394           Define a ROM region for the linker script. This creates a kernel
395           that can be stored in flash, with possibly the text, and data
396           regions being copied out to RAM at startup.
398 config ROMBASE
399         hex "Address of the base of ROM device"
400         default "0"
401         depends on ROM
402         help
403           Define the address that the ROM region starts at. Some platforms
404           use this to set their chip select region accordingly for the boot
405           device.
407 config ROMVEC
408         hex "Address of the base of the ROM vectors"
409         default "0"
410         depends on ROM
411         help
412           This is almost always the same as the base of the ROM. Since on all
413           68000 type variants the vectors are at the base of the boot device
414           on system startup.
416 config ROMSTART
417         hex "Address of the base of system image in ROM"
418         default "0x400"
419         depends on ROM
420         help
421           Define the start address of the system image in ROM. Commonly this
422           is strait after the ROM vectors.
424 config ROMSIZE
425         hex "Size of the ROM device"
426         default "0x100000"
427         depends on ROM
428         help
429           Size of the ROM device. On some platforms this is used to setup
430           the chip select that controls the boot ROM device.
432 choice
433         prompt "Kernel executes from"
434         ---help---
435           Choose the memory type that the kernel will be running in.
437 config RAMKERNEL
438         bool "RAM"
439         help
440           The kernel will be resident in RAM when running.
442 config ROMKERNEL
443         bool "ROM"
444         help
445           The kernel will be resident in FLASH/ROM when running. This is
446           often referred to as Execute-in-Place (XIP), since the kernel
447           code executes from the position it is stored in the FLASH/ROM.
449 endchoice
451 endif