sparc64: kill page table quicklists
[cascardo/linux.git] / arch / sparc / Kconfig
1 config 64BIT
2         bool "64-bit kernel" if ARCH = "sparc"
3         default ARCH = "sparc64"
4         help
5           SPARC is a family of RISC microprocessors designed and marketed by
6           Sun Microsystems, incorporated.  They are very widely found in Sun
7           workstations and clones.
8
9           Say yes to build a 64-bit kernel - formerly known as sparc64
10           Say no to build a 32-bit kernel - formerly known as sparc
11
12 config SPARC
13         bool
14         default y
15         select OF
16         select OF_PROMTREE
17         select HAVE_IDE
18         select HAVE_OPROFILE
19         select HAVE_ARCH_KGDB if !SMP || SPARC64
20         select HAVE_ARCH_TRACEHOOK
21         select ARCH_WANT_OPTIONAL_GPIOLIB
22         select RTC_CLASS
23         select RTC_DRV_M48T59
24         select HAVE_IRQ_WORK
25         select HAVE_DMA_ATTRS
26         select HAVE_DMA_API_DEBUG
27         select HAVE_ARCH_JUMP_LABEL
28         select HAVE_GENERIC_HARDIRQS
29         select GENERIC_IRQ_SHOW
30         select USE_GENERIC_SMP_HELPERS if SMP
31
32 config SPARC32
33         def_bool !64BIT
34
35 config SPARC64
36         def_bool 64BIT
37         select ARCH_SUPPORTS_MSI
38         select HAVE_FUNCTION_TRACER
39         select HAVE_FUNCTION_GRAPH_TRACER
40         select HAVE_FUNCTION_GRAPH_FP_TEST
41         select HAVE_FUNCTION_TRACE_MCOUNT_TEST
42         select HAVE_KRETPROBES
43         select HAVE_KPROBES
44         select HAVE_MEMBLOCK
45         select HAVE_SYSCALL_WRAPPERS
46         select HAVE_DYNAMIC_FTRACE
47         select HAVE_FTRACE_MCOUNT_RECORD
48         select HAVE_SYSCALL_TRACEPOINTS
49         select RTC_DRV_CMOS
50         select RTC_DRV_BQ4802
51         select RTC_DRV_SUN4V
52         select RTC_DRV_STARFIRE
53         select HAVE_PERF_EVENTS
54         select PERF_USE_VMALLOC
55         select IRQ_PREFLOW_FASTEOI
56
57 config ARCH_DEFCONFIG
58         string
59         default "arch/sparc/configs/sparc32_defconfig" if SPARC32
60         default "arch/sparc/configs/sparc64_defconfig" if SPARC64
61
62 # CONFIG_BITS can be used at source level to get 32/64 bits
63 config BITS
64         int
65         default 32 if SPARC32
66         default 64 if SPARC64
67
68 config ARCH_USES_GETTIMEOFFSET
69         bool
70         default y if SPARC32
71
72 config GENERIC_CMOS_UPDATE
73         bool
74         default y
75
76 config GENERIC_CLOCKEVENTS
77         bool
78         default y if SPARC64
79
80 config IOMMU_HELPER
81         bool
82         default y if SPARC64
83
84 config STACKTRACE_SUPPORT
85         bool
86         default y if SPARC64
87
88 config LOCKDEP_SUPPORT
89         bool
90         default y if SPARC64
91
92 config HAVE_LATENCYTOP_SUPPORT
93         bool
94         default y if SPARC64
95
96 config AUDIT_ARCH
97         bool
98         default y
99
100 config HAVE_SETUP_PER_CPU_AREA
101         def_bool y if SPARC64
102
103 config NEED_PER_CPU_EMBED_FIRST_CHUNK
104         def_bool y if SPARC64
105
106 config NEED_PER_CPU_PAGE_FIRST_CHUNK
107         def_bool y if SPARC64
108
109 config MMU
110         bool
111         default y
112
113 config HIGHMEM
114         bool
115         default y if SPARC32
116
117 config ZONE_DMA
118         bool
119         default y if SPARC32
120
121 config NEED_DMA_MAP_STATE
122         def_bool y
123
124 config NEED_SG_DMA_LENGTH
125         def_bool y
126
127 config GENERIC_ISA_DMA
128         bool
129         default y if SPARC32
130
131 config GENERIC_GPIO
132         bool
133         help
134           Generic GPIO API support
135
136 config ARCH_NO_VIRT_TO_BUS
137         def_bool y
138
139 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
140         def_bool y if SPARC64
141
142 source "init/Kconfig"
143
144 source "kernel/Kconfig.freezer"
145
146 menu "Processor type and features"
147
148 config SMP
149         bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
150         ---help---
151           This enables support for systems with more than one CPU. If you have
152           a system with only one CPU, say N. If you have a system with more
153           than one CPU, say Y.
154
155           If you say N here, the kernel will run on single and multiprocessor
156           machines, but will use only one CPU of a multiprocessor machine. If
157           you say Y here, the kernel will run on many, but not all,
158           singleprocessor machines. On a singleprocessor machine, the kernel
159           will run faster if you say N here.
160
161           People using multiprocessor machines who say Y here should also say
162           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
163           Management" code will be disabled if you say Y here.
164
165           See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
166           available at <http://www.tldp.org/docs.html#howto>.
167
168           If you don't know what to do here, say N.
169
170 config NR_CPUS
171         int "Maximum number of CPUs"
172         depends on SMP
173         range 2 32 if SPARC32
174         range 2 1024 if SPARC64
175         default 32 if SPARC32
176         default 64 if SPARC64
177
178 source kernel/Kconfig.hz
179
180 config RWSEM_GENERIC_SPINLOCK
181         bool
182         default y if SPARC32
183
184 config RWSEM_XCHGADD_ALGORITHM
185         bool
186         default y if SPARC64
187
188 config GENERIC_HWEIGHT
189         bool
190         default y if !ULTRA_HAS_POPULATION_COUNT
191
192 config GENERIC_CALIBRATE_DELAY
193         bool
194         default y
195
196 config ARCH_MAY_HAVE_PC_FDC
197         bool
198         default y
199
200 config EMULATED_CMPXCHG
201         bool
202         default y if SPARC32
203         help
204           Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
205           is emulated, and therefore it is not completely atomic.
206
207 # Makefile helpers
208 config SPARC32_SMP
209         bool
210         default y
211         depends on SPARC32 && SMP
212
213 config SPARC64_SMP
214         bool
215         default y
216         depends on SPARC64 && SMP
217
218 config EARLYFB
219         bool "Support for early boot text console"
220         default y
221         depends on SPARC64
222         help
223           Say Y here to enable a faster early framebuffer boot console.
224
225 choice
226         prompt "Kernel page size" if SPARC64
227         default SPARC64_PAGE_SIZE_8KB
228
229 config SPARC64_PAGE_SIZE_8KB
230         bool "8KB"
231         help
232           This lets you select the page size of the kernel.
233
234           8KB and 64KB work quite well, since SPARC ELF sections
235           provide for up to 64KB alignment.
236
237           If you don't know what to do, choose 8KB.
238
239 config SPARC64_PAGE_SIZE_64KB
240         bool "64KB"
241
242 endchoice
243
244 config SECCOMP
245         bool "Enable seccomp to safely compute untrusted bytecode"
246         depends on SPARC64 && PROC_FS
247         default y
248         help
249           This kernel feature is useful for number crunching applications
250           that may need to compute untrusted bytecode during their
251           execution. By using pipes or other transports made available to
252           the process as file descriptors supporting the read/write
253           syscalls, it's possible to isolate those applications in
254           their own address space using seccomp. Once seccomp is
255           enabled via /proc/<pid>/seccomp, it cannot be disabled
256           and the task is only allowed to execute a few safe syscalls
257           defined by each seccomp mode.
258
259           If unsure, say Y. Only embedded should say N here.
260
261 config HOTPLUG_CPU
262         bool "Support for hot-pluggable CPUs"
263         depends on SPARC64 && SMP
264         select HOTPLUG
265         help
266           Say Y here to experiment with turning CPUs off and on.  CPUs
267           can be controlled through /sys/devices/system/cpu/cpu#.
268           Say N if you want to disable CPU hotplug.
269
270 source "kernel/time/Kconfig"
271
272 if SPARC64
273 source "drivers/cpufreq/Kconfig"
274
275 config US3_FREQ
276         tristate "UltraSPARC-III CPU Frequency driver"
277         depends on CPU_FREQ
278         select CPU_FREQ_TABLE
279         help
280           This adds the CPUFreq driver for UltraSPARC-III processors.
281
282           For details, take a look at <file:Documentation/cpu-freq>.
283
284           If in doubt, say N.
285
286 config US2E_FREQ
287         tristate "UltraSPARC-IIe CPU Frequency driver"
288         depends on CPU_FREQ
289         select CPU_FREQ_TABLE
290         help
291           This adds the CPUFreq driver for UltraSPARC-IIe processors.
292
293           For details, take a look at <file:Documentation/cpu-freq>.
294
295           If in doubt, say N.
296
297 endif
298
299 config US3_MC
300         tristate "UltraSPARC-III Memory Controller driver"
301         depends on SPARC64
302         default y
303         help
304           This adds a driver for the UltraSPARC-III memory controller.
305           Loading this driver allows exact mnemonic strings to be
306           printed in the event of a memory error, so that the faulty DIMM
307           on the motherboard can be matched to the error.
308
309           If in doubt, say Y, as this information can be very useful.
310
311 # Global things across all Sun machines.
312 config GENERIC_LOCKBREAK
313         bool
314         default y
315         depends on SPARC64 && SMP && PREEMPT
316
317 choice
318         prompt "SPARC64 Huge TLB Page Size"
319         depends on SPARC64 && HUGETLB_PAGE
320         default HUGETLB_PAGE_SIZE_4MB
321
322 config HUGETLB_PAGE_SIZE_4MB
323         bool "4MB"
324
325 config HUGETLB_PAGE_SIZE_512K
326         bool "512K"
327
328 config HUGETLB_PAGE_SIZE_64K
329         depends on !SPARC64_PAGE_SIZE_64KB
330         bool "64K"
331
332 endchoice
333
334 config NUMA
335         bool "NUMA support"
336         depends on SPARC64 && SMP
337
338 config NODES_SHIFT
339         int
340         default "4"
341         depends on NEED_MULTIPLE_NODES
342
343 # Some NUMA nodes have memory ranges that span
344 # other nodes.  Even though a pfn is valid and
345 # between a node's start and end pfns, it may not
346 # reside on that node.  See memmap_init_zone()
347 # for details.
348 config NODES_SPAN_OTHER_NODES
349         def_bool y
350         depends on NEED_MULTIPLE_NODES
351
352 config ARCH_POPULATES_NODE_MAP
353         def_bool y if SPARC64
354
355 config ARCH_SELECT_MEMORY_MODEL
356         def_bool y if SPARC64
357
358 config ARCH_SPARSEMEM_ENABLE
359         def_bool y if SPARC64
360         select SPARSEMEM_VMEMMAP_ENABLE
361
362 config ARCH_SPARSEMEM_DEFAULT
363         def_bool y if SPARC64
364
365 source "mm/Kconfig"
366
367 config SCHED_SMT
368         bool "SMT (Hyperthreading) scheduler support"
369         depends on SPARC64 && SMP
370         default y
371         help
372           SMT scheduler support improves the CPU scheduler's decision making
373           when dealing with SPARC cpus at a cost of slightly increased overhead
374           in some places. If unsure say N here.
375
376 config SCHED_MC
377         bool "Multi-core scheduler support"
378         depends on SPARC64 && SMP
379         default y
380         help
381           Multi-core scheduler support improves the CPU scheduler's decision
382           making when dealing with multi-core CPU chips at a cost of slightly
383           increased overhead in some places. If unsure say N here.
384
385 if SPARC64
386 source "kernel/Kconfig.preempt"
387 endif
388
389 config CMDLINE_BOOL
390         bool "Default bootloader kernel arguments"
391         depends on SPARC64
392
393 config CMDLINE
394         string "Initial kernel command string"
395         depends on CMDLINE_BOOL
396         default "console=ttyS0,9600 root=/dev/sda1"
397         help
398           Say Y here if you want to be able to pass default arguments to
399           the kernel. This will be overridden by the bootloader, if you
400           use one (such as SILO). This is most useful if you want to boot
401           a kernel from TFTP, and want default options to be available
402           with having them passed on the command line.
403
404           NOTE: This option WILL override the PROM bootargs setting!
405
406 config SUN_PM
407         bool
408         default y if SPARC32
409         help
410           Enable power management and CPU standby features on supported
411           SPARC platforms.
412
413 config SPARC_LED
414         tristate "Sun4m LED driver"
415         depends on SPARC32
416         help
417           This driver toggles the front-panel LED on sun4m systems
418           in a user-specifiable manner.  Its state can be probed
419           by reading /proc/led and its blinking mode can be changed
420           via writes to /proc/led
421
422 config SERIAL_CONSOLE
423         bool
424         depends on SPARC32
425         default y
426         ---help---
427           If you say Y here, it will be possible to use a serial port as the
428           system console (the system console is the device which receives all
429           kernel messages and warnings and which allows logins in single user
430           mode). This could be useful if some terminal or printer is connected
431           to that serial port.
432
433           Even if you say Y here, the currently visible virtual console
434           (/dev/tty0) will still be used as the system console by default, but
435           you can alter that using a kernel command line option such as
436           "console=ttyS1". (Try "man bootparam" or see the documentation of
437           your boot loader (silo) about how to pass options to the kernel at
438           boot time.)
439
440           If you don't have a graphics card installed and you say Y here, the
441           kernel will automatically use the first serial line, /dev/ttyS0, as
442           system console.
443
444           If unsure, say N.
445
446 config SPARC_LEON
447         bool "Sparc Leon processor family"
448         depends on SPARC32
449         ---help---
450           If you say Y here if you are running on a SPARC-LEON processor.
451           The LEON processor is a synthesizable VHDL model of the
452           SPARC-v8 standard. LEON is  part of the GRLIB collection of
453           IP cores that are distributed under GPL. GRLIB can be downloaded
454           from www.gaisler.com. You can download a sparc-linux cross-compilation
455           toolchain at www.gaisler.com.
456
457 if SPARC_LEON
458 menu "U-Boot options"
459
460 config UBOOT_LOAD_ADDR
461         hex "uImage Load Address"
462         default 0x40004000
463         ---help---
464          U-Boot kernel load address, the address in physical address space
465          where u-boot will place the Linux kernel before booting it.
466          This address is normally the base address of main memory + 0x4000.
467
468 config UBOOT_FLASH_ADDR
469         hex "uImage.o Load Address"
470         default 0x00080000
471         ---help---
472          Optional setting only affecting the uImage.o ELF-image used to
473          download the uImage file to the target using a ELF-loader other than
474          U-Boot. It may for example be used to download an uImage to FLASH with
475          the GRMON utility before even starting u-boot.
476
477 config UBOOT_ENTRY_ADDR
478         hex "uImage Entry Address"
479         default 0xf0004000
480         ---help---
481          Do not change this unless you know what you're doing. This is
482          hardcoded by the SPARC32 and LEON port.
483
484          This is the virtual address u-boot jumps to when booting the Linux
485          Kernel.
486
487 endmenu
488 endif
489
490 endmenu
491
492 menu "Bus options (PCI etc.)"
493 config SBUS
494         bool
495         default y
496
497 config SBUSCHAR
498         bool
499         default y
500
501 config SUN_LDOMS
502         bool "Sun Logical Domains support"
503         depends on SPARC64
504         help
505           Say Y here is you want to support virtual devices via
506           Logical Domains.
507
508 config PCI
509         bool "Support for PCI and PS/2 keyboard/mouse"
510         help
511           Find out whether your system includes a PCI bus. PCI is the name of
512           a bus system, i.e. the way the CPU talks to the other stuff inside
513           your box.  If you say Y here, the kernel will include drivers and
514           infrastructure code to support PCI bus devices.
515
516           CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
517           CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
518           All of these platforms are extremely obscure, so say N if unsure.
519
520 config PCI_DOMAINS
521         def_bool PCI if SPARC64
522
523 config PCI_SYSCALL
524         def_bool PCI
525
526 config PCIC_PCI
527         bool
528         depends on PCI && SPARC32 && !SPARC_LEON
529         default y
530
531 config LEON_PCI
532         bool
533         depends on PCI && SPARC_LEON
534         default y
535
536 config GRPCI2
537         bool "GRPCI2 Host Bridge Support"
538         depends on LEON_PCI
539         default y
540         help
541           Say Y here to include the GRPCI2 Host Bridge Driver.
542
543 source "drivers/pci/Kconfig"
544
545 source "drivers/pcmcia/Kconfig"
546
547 config SUN_OPENPROMFS
548         tristate "Openprom tree appears in /proc/openprom"
549         help
550           If you say Y, the OpenPROM device tree will be available as a
551           virtual file system, which you can mount to /proc/openprom by "mount
552           -t openpromfs none /proc/openprom".
553
554           To compile the /proc/openprom support as a module, choose M here: the
555           module will be called openpromfs.
556
557           Only choose N if you know in advance that you will not need to modify
558           OpenPROM settings on the running system.
559
560 # Makefile helpers
561 config SPARC32_PCI
562         bool
563         default y
564         depends on SPARC32 && PCI
565
566 config SPARC64_PCI
567         bool
568         default y
569         depends on SPARC64 && PCI
570
571 endmenu
572
573 menu "Executable file formats"
574
575 source "fs/Kconfig.binfmt"
576
577 config COMPAT
578         bool
579         depends on SPARC64
580         default y
581         select COMPAT_BINFMT_ELF
582
583 config SYSVIPC_COMPAT
584         bool
585         depends on COMPAT && SYSVIPC
586         default y
587
588 endmenu
589
590 source "net/Kconfig"
591
592 source "drivers/Kconfig"
593
594 source "drivers/sbus/char/Kconfig"
595
596 source "fs/Kconfig"
597
598 source "arch/sparc/Kconfig.debug"
599
600 source "security/Kconfig"
601
602 source "crypto/Kconfig"
603
604 source "lib/Kconfig"