iommu/msm: Add iommu_group support
[linux/fpc-iii.git] / arch / sparc / Kconfig
bloba4a626199c47e1afce31559a028df4cda331f619
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.
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
12 config SPARC
13         bool
14         default y
15         select ARCH_MIGHT_HAVE_PC_PARPORT if SPARC64 && PCI
16         select ARCH_MIGHT_HAVE_PC_SERIO
17         select OF
18         select OF_PROMTREE
19         select HAVE_IDE
20         select HAVE_OPROFILE
21         select HAVE_ARCH_KGDB if !SMP || SPARC64
22         select HAVE_ARCH_TRACEHOOK
23         select HAVE_EXIT_THREAD
24         select SYSCTL_EXCEPTION_TRACE
25         select RTC_CLASS
26         select RTC_DRV_M48T59
27         select RTC_SYSTOHC
28         select HAVE_DMA_API_DEBUG
29         select HAVE_ARCH_JUMP_LABEL if SPARC64
30         select GENERIC_IRQ_SHOW
31         select ARCH_WANT_IPC_PARSE_VERSION
32         select GENERIC_PCI_IOMAP
33         select HAVE_NMI_WATCHDOG if SPARC64
34         select HAVE_CBPF_JIT if SPARC32
35         select HAVE_EBPF_JIT if SPARC64
36         select HAVE_DEBUG_BUGVERBOSE
37         select GENERIC_SMP_IDLE_THREAD
38         select GENERIC_CLOCKEVENTS
39         select GENERIC_STRNCPY_FROM_USER
40         select GENERIC_STRNLEN_USER
41         select MODULES_USE_ELF_RELA
42         select ODD_RT_SIGACTION
43         select OLD_SIGSUSPEND
44         select ARCH_HAS_SG_CHAIN
45         select CPU_NO_EFFICIENT_FFS
46         select LOCKDEP_SMALL if LOCKDEP
47         select ARCH_WANT_RELAX_ORDER
49 config SPARC32
50         def_bool !64BIT
51         select GENERIC_ATOMIC64
52         select CLZ_TAB
53         select HAVE_UID16
54         select OLD_SIGACTION
56 config SPARC64
57         def_bool 64BIT
58         select HAVE_FUNCTION_TRACER
59         select HAVE_FUNCTION_GRAPH_TRACER
60         select HAVE_KRETPROBES
61         select HAVE_KPROBES
62         select HAVE_RCU_TABLE_FREE if SMP
63         select HAVE_MEMBLOCK
64         select HAVE_MEMBLOCK_NODE_MAP
65         select HAVE_ARCH_TRANSPARENT_HUGEPAGE
66         select HAVE_DYNAMIC_FTRACE
67         select HAVE_FTRACE_MCOUNT_RECORD
68         select HAVE_SYSCALL_TRACEPOINTS
69         select HAVE_CONTEXT_TRACKING
70         select HAVE_DEBUG_KMEMLEAK
71         select SPARSE_IRQ
72         select RTC_DRV_CMOS
73         select RTC_DRV_BQ4802
74         select RTC_DRV_SUN4V
75         select RTC_DRV_STARFIRE
76         select HAVE_PERF_EVENTS
77         select PERF_USE_VMALLOC
78         select IRQ_PREFLOW_FASTEOI
79         select ARCH_HAVE_NMI_SAFE_CMPXCHG
80         select HAVE_C_RECORDMCOUNT
81         select NO_BOOTMEM
82         select HAVE_ARCH_AUDITSYSCALL
83         select ARCH_SUPPORTS_ATOMIC_RMW
84         select HAVE_NMI
85         select HAVE_REGS_AND_STACK_ACCESS_API
86         select ARCH_USE_QUEUED_RWLOCKS
87         select ARCH_USE_QUEUED_SPINLOCKS
89 config ARCH_DEFCONFIG
90         string
91         default "arch/sparc/configs/sparc32_defconfig" if SPARC32
92         default "arch/sparc/configs/sparc64_defconfig" if SPARC64
94 config ARCH_PROC_KCORE_TEXT
95         def_bool y
97 config CPU_BIG_ENDIAN
98         def_bool y
100 config ARCH_ATU
101         bool
102         default y if SPARC64
104 config ARCH_DMA_ADDR_T_64BIT
105         bool
106         default y if ARCH_ATU
108 config IOMMU_HELPER
109         bool
110         default y if SPARC64
112 config STACKTRACE_SUPPORT
113         bool
114         default y if SPARC64
116 config LOCKDEP_SUPPORT
117         bool
118         default y if SPARC64
120 config ARCH_HIBERNATION_POSSIBLE
121         def_bool y if SPARC64
123 config AUDIT_ARCH
124         bool
125         default y
127 config HAVE_SETUP_PER_CPU_AREA
128         def_bool y if SPARC64
130 config NEED_PER_CPU_EMBED_FIRST_CHUNK
131         def_bool y if SPARC64
133 config NEED_PER_CPU_PAGE_FIRST_CHUNK
134         def_bool y if SPARC64
136 config MMU
137         bool
138         default y
140 config HIGHMEM
141         bool
142         default y if SPARC32
144 config ZONE_DMA
145         bool
146         default y if SPARC32
148 config NEED_DMA_MAP_STATE
149         def_bool y
151 config NEED_SG_DMA_LENGTH
152         def_bool y
154 config GENERIC_ISA_DMA
155         bool
156         default y if SPARC32
158 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
159         def_bool y if SPARC64
161 config PGTABLE_LEVELS
162         default 4 if 64BIT
163         default 3
165 config ARCH_SUPPORTS_UPROBES
166         def_bool y if SPARC64
168 source "init/Kconfig"
170 source "kernel/Kconfig.freezer"
172 menu "Processor type and features"
174 config SMP
175         bool "Symmetric multi-processing support"
176         ---help---
177           This enables support for systems with more than one CPU. If you have
178           a system with only one CPU, say N. If you have a system with more
179           than one CPU, say Y.
181           If you say N here, the kernel will run on uni- and multiprocessor
182           machines, but will use only one CPU of a multiprocessor machine. If
183           you say Y here, the kernel will run on many, but not all,
184           uniprocessor machines. On a uniprocessor machine, the kernel
185           will run faster if you say N here.
187           People using multiprocessor machines who say Y here should also say
188           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
189           Management" code will be disabled if you say Y here.
191           See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
192           available at <http://www.tldp.org/docs.html#howto>.
194           If you don't know what to do here, say N.
196 config NR_CPUS
197         int "Maximum number of CPUs"
198         depends on SMP
199         range 2 32 if SPARC32
200         range 2 4096 if SPARC64
201         default 32 if SPARC32
202         default 4096 if SPARC64
204 source kernel/Kconfig.hz
206 config RWSEM_GENERIC_SPINLOCK
207         bool
208         default y if SPARC32
210 config RWSEM_XCHGADD_ALGORITHM
211         bool
212         default y if SPARC64
214 config GENERIC_HWEIGHT
215         bool
216         default y
218 config GENERIC_CALIBRATE_DELAY
219         bool
220         default y
222 config ARCH_MAY_HAVE_PC_FDC
223         bool
224         default y
226 config EMULATED_CMPXCHG
227         bool
228         default y if SPARC32
229         help
230           Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
231           is emulated, and therefore it is not completely atomic.
233 # Makefile helpers
234 config SPARC32_SMP
235         bool
236         default y
237         depends on SPARC32 && SMP
239 config SPARC64_SMP
240         bool
241         default y
242         depends on SPARC64 && SMP
244 config EARLYFB
245         bool "Support for early boot text console"
246         default y
247         depends on SPARC64
248         help
249           Say Y here to enable a faster early framebuffer boot console.
251 config SECCOMP
252         bool "Enable seccomp to safely compute untrusted bytecode"
253         depends on SPARC64 && PROC_FS
254         default y
255         help
256           This kernel feature is useful for number crunching applications
257           that may need to compute untrusted bytecode during their
258           execution. By using pipes or other transports made available to
259           the process as file descriptors supporting the read/write
260           syscalls, it's possible to isolate those applications in
261           their own address space using seccomp. Once seccomp is
262           enabled via /proc/<pid>/seccomp, it cannot be disabled
263           and the task is only allowed to execute a few safe syscalls
264           defined by each seccomp mode.
266           If unsure, say Y. Only embedded should say N here.
268 config HOTPLUG_CPU
269         bool "Support for hot-pluggable CPUs"
270         depends on SPARC64 && SMP
271         help
272           Say Y here to experiment with turning CPUs off and on.  CPUs
273           can be controlled through /sys/devices/system/cpu/cpu#.
274           Say N if you want to disable CPU hotplug.
276 if SPARC64
277 source "drivers/cpufreq/Kconfig"
278 endif
280 config US3_MC
281         tristate "UltraSPARC-III Memory Controller driver"
282         depends on SPARC64
283         default y
284         help
285           This adds a driver for the UltraSPARC-III memory controller.
286           Loading this driver allows exact mnemonic strings to be
287           printed in the event of a memory error, so that the faulty DIMM
288           on the motherboard can be matched to the error.
290           If in doubt, say Y, as this information can be very useful.
292 # Global things across all Sun machines.
293 config GENERIC_LOCKBREAK
294         bool
295         default y
296         depends on SPARC64 && SMP && PREEMPT
298 config NUMA
299         bool "NUMA support"
300         depends on SPARC64 && SMP
302 config NODES_SHIFT
303         int "Maximum NUMA Nodes (as a power of 2)"
304         range 4 5 if SPARC64
305         default "5"
306         depends on NEED_MULTIPLE_NODES
307         help
308           Specify the maximum number of NUMA Nodes available on the target
309           system.  Increases memory reserved to accommodate various tables.
311 # Some NUMA nodes have memory ranges that span
312 # other nodes.  Even though a pfn is valid and
313 # between a node's start and end pfns, it may not
314 # reside on that node.  See memmap_init_zone()
315 # for details.
316 config NODES_SPAN_OTHER_NODES
317         def_bool y
318         depends on NEED_MULTIPLE_NODES
320 config ARCH_SELECT_MEMORY_MODEL
321         def_bool y if SPARC64
323 config ARCH_SPARSEMEM_ENABLE
324         def_bool y if SPARC64
325         select SPARSEMEM_VMEMMAP_ENABLE
327 config ARCH_SPARSEMEM_DEFAULT
328         def_bool y if SPARC64
330 config FORCE_MAX_ZONEORDER
331         int "Maximum zone order"
332         default "13"
333         help
334           The kernel memory allocator divides physically contiguous memory
335           blocks into "zones", where each zone is a power of two number of
336           pages.  This option selects the largest power of two that the kernel
337           keeps in the memory allocator.  If you need to allocate very large
338           blocks of physically contiguous memory, then you may need to
339           increase this value.
341           This config option is actually maximum order plus one. For example,
342           a value of 13 means that the largest free memory block is 2^12 pages.
344 source "mm/Kconfig"
346 if SPARC64
347 source "kernel/power/Kconfig"
348 endif
350 config SCHED_SMT
351         bool "SMT (Hyperthreading) scheduler support"
352         depends on SPARC64 && SMP
353         default y
354         help
355           SMT scheduler support improves the CPU scheduler's decision making
356           when dealing with SPARC cpus at a cost of slightly increased overhead
357           in some places. If unsure say N here.
359 config SCHED_MC
360         bool "Multi-core scheduler support"
361         depends on SPARC64 && SMP
362         default y
363         help
364           Multi-core scheduler support improves the CPU scheduler's decision
365           making when dealing with multi-core CPU chips at a cost of slightly
366           increased overhead in some places. If unsure say N here.
368 source "kernel/Kconfig.preempt"
370 config CMDLINE_BOOL
371         bool "Default bootloader kernel arguments"
372         depends on SPARC64
374 config CMDLINE
375         string "Initial kernel command string"
376         depends on CMDLINE_BOOL
377         default "console=ttyS0,9600 root=/dev/sda1"
378         help
379           Say Y here if you want to be able to pass default arguments to
380           the kernel. This will be overridden by the bootloader, if you
381           use one (such as SILO). This is most useful if you want to boot
382           a kernel from TFTP, and want default options to be available
383           with having them passed on the command line.
385           NOTE: This option WILL override the PROM bootargs setting!
387 config SUN_PM
388         bool
389         default y if SPARC32
390         help
391           Enable power management and CPU standby features on supported
392           SPARC platforms.
394 config SPARC_LED
395         tristate "Sun4m LED driver"
396         depends on SPARC32
397         help
398           This driver toggles the front-panel LED on sun4m systems
399           in a user-specifiable manner.  Its state can be probed
400           by reading /proc/led and its blinking mode can be changed
401           via writes to /proc/led
403 config SERIAL_CONSOLE
404         bool
405         depends on SPARC32
406         default y
407         ---help---
408           If you say Y here, it will be possible to use a serial port as the
409           system console (the system console is the device which receives all
410           kernel messages and warnings and which allows logins in single user
411           mode). This could be useful if some terminal or printer is connected
412           to that serial port.
414           Even if you say Y here, the currently visible virtual console
415           (/dev/tty0) will still be used as the system console by default, but
416           you can alter that using a kernel command line option such as
417           "console=ttyS1". (Try "man bootparam" or see the documentation of
418           your boot loader (silo) about how to pass options to the kernel at
419           boot time.)
421           If you don't have a graphics card installed and you say Y here, the
422           kernel will automatically use the first serial line, /dev/ttyS0, as
423           system console.
425           If unsure, say N.
427 config SPARC_LEON
428         bool "Sparc Leon processor family"
429         depends on SPARC32
430         select USB_EHCI_BIG_ENDIAN_MMIO
431         select USB_EHCI_BIG_ENDIAN_DESC
432         ---help---
433           If you say Y here if you are running on a SPARC-LEON processor.
434           The LEON processor is a synthesizable VHDL model of the
435           SPARC-v8 standard. LEON is  part of the GRLIB collection of
436           IP cores that are distributed under GPL. GRLIB can be downloaded
437           from www.gaisler.com. You can download a sparc-linux cross-compilation
438           toolchain at www.gaisler.com.
440 if SPARC_LEON
441 menu "U-Boot options"
443 config UBOOT_LOAD_ADDR
444         hex "uImage Load Address"
445         default 0x40004000
446         ---help---
447          U-Boot kernel load address, the address in physical address space
448          where u-boot will place the Linux kernel before booting it.
449          This address is normally the base address of main memory + 0x4000.
451 config UBOOT_FLASH_ADDR
452         hex "uImage.o Load Address"
453         default 0x00080000
454         ---help---
455          Optional setting only affecting the uImage.o ELF-image used to
456          download the uImage file to the target using a ELF-loader other than
457          U-Boot. It may for example be used to download an uImage to FLASH with
458          the GRMON utility before even starting u-boot.
460 config UBOOT_ENTRY_ADDR
461         hex "uImage Entry Address"
462         default 0xf0004000
463         ---help---
464          Do not change this unless you know what you're doing. This is
465          hardcoded by the SPARC32 and LEON port.
467          This is the virtual address u-boot jumps to when booting the Linux
468          Kernel.
470 endmenu
471 endif
473 endmenu
475 menu "Bus options (PCI etc.)"
476 config SBUS
477         bool
478         default y
480 config SBUSCHAR
481         bool
482         default y
484 config SUN_LDOMS
485         bool "Sun Logical Domains support"
486         depends on SPARC64
487         help
488           Say Y here is you want to support virtual devices via
489           Logical Domains.
491 config PCI
492         bool "Support for PCI and PS/2 keyboard/mouse"
493         help
494           Find out whether your system includes a PCI bus. PCI is the name of
495           a bus system, i.e. the way the CPU talks to the other stuff inside
496           your box.  If you say Y here, the kernel will include drivers and
497           infrastructure code to support PCI bus devices.
499           CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
500           CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
501           All of these platforms are extremely obscure, so say N if unsure.
503 config PCI_DOMAINS
504         def_bool PCI if SPARC64
506 config PCI_SYSCALL
507         def_bool PCI
509 config PCIC_PCI
510         bool
511         depends on PCI && SPARC32 && !SPARC_LEON
512         default y
514 config LEON_PCI
515         bool
516         depends on PCI && SPARC_LEON
517         default y
519 config SPARC_GRPCI1
520         bool "GRPCI Host Bridge Support"
521         depends on LEON_PCI
522         default y
523         help
524           Say Y here to include the GRPCI Host Bridge Driver. The GRPCI
525           PCI host controller is typically found in GRLIB SPARC32/LEON
526           systems. The driver has one property (all_pci_errors) controlled
527           from the bootloader that makes the GRPCI to generate interrupts
528           on detected PCI Parity and System errors.
530 config SPARC_GRPCI2
531         bool "GRPCI2 Host Bridge Support"
532         depends on LEON_PCI
533         default y
534         help
535           Say Y here to include the GRPCI2 Host Bridge Driver.
537 source "drivers/pci/Kconfig"
539 source "drivers/pcmcia/Kconfig"
541 config SUN_OPENPROMFS
542         tristate "Openprom tree appears in /proc/openprom"
543         help
544           If you say Y, the OpenPROM device tree will be available as a
545           virtual file system, which you can mount to /proc/openprom by "mount
546           -t openpromfs none /proc/openprom".
548           To compile the /proc/openprom support as a module, choose M here: the
549           module will be called openpromfs.
551           Only choose N if you know in advance that you will not need to modify
552           OpenPROM settings on the running system.
554 # Makefile helpers
555 config SPARC64_PCI
556         bool
557         default y
558         depends on SPARC64 && PCI
560 config SPARC64_PCI_MSI
561         bool
562         default y
563         depends on SPARC64_PCI && PCI_MSI
565 endmenu
567 menu "Executable file formats"
569 source "fs/Kconfig.binfmt"
571 config COMPAT
572         bool
573         depends on SPARC64
574         default y
575         select COMPAT_BINFMT_ELF
576         select HAVE_UID16
577         select ARCH_WANT_OLD_COMPAT_IPC
578         select COMPAT_OLD_SIGACTION
580 config SYSVIPC_COMPAT
581         bool
582         depends on COMPAT && SYSVIPC
583         default y
585 endmenu
587 source "net/Kconfig"
589 source "drivers/Kconfig"
591 source "drivers/sbus/char/Kconfig"
593 source "fs/Kconfig"
595 source "arch/sparc/Kconfig.debug"
597 source "security/Kconfig"
599 source "crypto/Kconfig"
601 source "lib/Kconfig"