Kconfig 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568
  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. Say yes to build a 64-bit kernel - formerly known as sparc64
  9. Say no to build a 32-bit kernel - formerly known as sparc
  10. config SPARC
  11. bool
  12. default y
  13. select ARCH_MIGHT_HAVE_PC_PARPORT if SPARC64 && PCI
  14. select ARCH_MIGHT_HAVE_PC_SERIO
  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 SYSCTL_EXCEPTION_TRACE
  22. select ARCH_WANT_OPTIONAL_GPIOLIB
  23. select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
  24. select RTC_CLASS
  25. select RTC_DRV_M48T59
  26. select RTC_SYSTOHC
  27. select HAVE_DMA_ATTRS
  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_BPF_JIT
  35. select HAVE_DEBUG_BUGVERBOSE
  36. select GENERIC_SMP_IDLE_THREAD
  37. select GENERIC_CLOCKEVENTS
  38. select GENERIC_STRNCPY_FROM_USER
  39. select GENERIC_STRNLEN_USER
  40. select MODULES_USE_ELF_RELA
  41. select ODD_RT_SIGACTION
  42. select OLD_SIGSUSPEND
  43. select ARCH_HAS_SG_CHAIN
  44. config SPARC32
  45. def_bool !64BIT
  46. select GENERIC_ATOMIC64
  47. select CLZ_TAB
  48. select HAVE_UID16
  49. select OLD_SIGACTION
  50. config SPARC64
  51. def_bool 64BIT
  52. select HAVE_FUNCTION_TRACER
  53. select HAVE_FUNCTION_GRAPH_TRACER
  54. select HAVE_FUNCTION_GRAPH_FP_TEST
  55. select HAVE_KRETPROBES
  56. select HAVE_KPROBES
  57. select HAVE_RCU_TABLE_FREE if SMP
  58. select HAVE_MEMBLOCK
  59. select HAVE_MEMBLOCK_NODE_MAP
  60. select HAVE_ARCH_TRANSPARENT_HUGEPAGE
  61. select HAVE_DYNAMIC_FTRACE
  62. select HAVE_FTRACE_MCOUNT_RECORD
  63. select HAVE_SYSCALL_TRACEPOINTS
  64. select HAVE_CONTEXT_TRACKING
  65. select HAVE_DEBUG_KMEMLEAK
  66. select SPARSE_IRQ
  67. select RTC_DRV_CMOS
  68. select RTC_DRV_BQ4802
  69. select RTC_DRV_SUN4V
  70. select RTC_DRV_STARFIRE
  71. select HAVE_PERF_EVENTS
  72. select PERF_USE_VMALLOC
  73. select IRQ_PREFLOW_FASTEOI
  74. select ARCH_HAVE_NMI_SAFE_CMPXCHG
  75. select HAVE_C_RECORDMCOUNT
  76. select NO_BOOTMEM
  77. select HAVE_ARCH_AUDITSYSCALL
  78. select ARCH_SUPPORTS_ATOMIC_RMW
  79. config ARCH_DEFCONFIG
  80. string
  81. default "arch/sparc/configs/sparc32_defconfig" if SPARC32
  82. default "arch/sparc/configs/sparc64_defconfig" if SPARC64
  83. config ARCH_PROC_KCORE_TEXT
  84. def_bool y
  85. config IOMMU_HELPER
  86. bool
  87. default y if SPARC64
  88. config STACKTRACE_SUPPORT
  89. bool
  90. default y if SPARC64
  91. config LOCKDEP_SUPPORT
  92. bool
  93. default y if SPARC64
  94. config HAVE_LATENCYTOP_SUPPORT
  95. bool
  96. default y if SPARC64
  97. config ARCH_HIBERNATION_POSSIBLE
  98. def_bool y if SPARC64
  99. config AUDIT_ARCH
  100. bool
  101. default y
  102. config HAVE_SETUP_PER_CPU_AREA
  103. def_bool y if SPARC64
  104. config NEED_PER_CPU_EMBED_FIRST_CHUNK
  105. def_bool y if SPARC64
  106. config NEED_PER_CPU_PAGE_FIRST_CHUNK
  107. def_bool y if SPARC64
  108. config MMU
  109. bool
  110. default y
  111. config HIGHMEM
  112. bool
  113. default y if SPARC32
  114. config ZONE_DMA
  115. bool
  116. default y if SPARC32
  117. config NEED_DMA_MAP_STATE
  118. def_bool y
  119. config NEED_SG_DMA_LENGTH
  120. def_bool y
  121. config GENERIC_ISA_DMA
  122. bool
  123. default y if SPARC32
  124. config ARCH_SUPPORTS_DEBUG_PAGEALLOC
  125. def_bool y if SPARC64
  126. config PGTABLE_LEVELS
  127. default 4 if 64BIT
  128. default 3
  129. source "init/Kconfig"
  130. source "kernel/Kconfig.freezer"
  131. menu "Processor type and features"
  132. config SMP
  133. bool "Symmetric multi-processing support"
  134. ---help---
  135. This enables support for systems with more than one CPU. If you have
  136. a system with only one CPU, say N. If you have a system with more
  137. than one CPU, say Y.
  138. If you say N here, the kernel will run on uni- and multiprocessor
  139. machines, but will use only one CPU of a multiprocessor machine. If
  140. you say Y here, the kernel will run on many, but not all,
  141. uniprocessor machines. On a uniprocessor machine, the kernel
  142. will run faster if you say N here.
  143. People using multiprocessor machines who say Y here should also say
  144. Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
  145. Management" code will be disabled if you say Y here.
  146. See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
  147. available at <http://www.tldp.org/docs.html#howto>.
  148. If you don't know what to do here, say N.
  149. config NR_CPUS
  150. int "Maximum number of CPUs"
  151. depends on SMP
  152. range 2 32 if SPARC32
  153. range 2 4096 if SPARC64
  154. default 32 if SPARC32
  155. default 4096 if SPARC64
  156. source kernel/Kconfig.hz
  157. config RWSEM_GENERIC_SPINLOCK
  158. bool
  159. default y if SPARC32
  160. config RWSEM_XCHGADD_ALGORITHM
  161. bool
  162. default y if SPARC64
  163. config GENERIC_HWEIGHT
  164. bool
  165. default y
  166. config GENERIC_CALIBRATE_DELAY
  167. bool
  168. default y
  169. config ARCH_MAY_HAVE_PC_FDC
  170. bool
  171. default y
  172. config EMULATED_CMPXCHG
  173. bool
  174. default y if SPARC32
  175. help
  176. Sparc32 does not have a CAS instruction like sparc64. cmpxchg()
  177. is emulated, and therefore it is not completely atomic.
  178. # Makefile helpers
  179. config SPARC32_SMP
  180. bool
  181. default y
  182. depends on SPARC32 && SMP
  183. config SPARC64_SMP
  184. bool
  185. default y
  186. depends on SPARC64 && SMP
  187. config EARLYFB
  188. bool "Support for early boot text console"
  189. default y
  190. depends on SPARC64
  191. help
  192. Say Y here to enable a faster early framebuffer boot console.
  193. config SECCOMP
  194. bool "Enable seccomp to safely compute untrusted bytecode"
  195. depends on SPARC64 && PROC_FS
  196. default y
  197. help
  198. This kernel feature is useful for number crunching applications
  199. that may need to compute untrusted bytecode during their
  200. execution. By using pipes or other transports made available to
  201. the process as file descriptors supporting the read/write
  202. syscalls, it's possible to isolate those applications in
  203. their own address space using seccomp. Once seccomp is
  204. enabled via /proc/<pid>/seccomp, it cannot be disabled
  205. and the task is only allowed to execute a few safe syscalls
  206. defined by each seccomp mode.
  207. If unsure, say Y. Only embedded should say N here.
  208. config HOTPLUG_CPU
  209. bool "Support for hot-pluggable CPUs"
  210. depends on SPARC64 && SMP
  211. help
  212. Say Y here to experiment with turning CPUs off and on. CPUs
  213. can be controlled through /sys/devices/system/cpu/cpu#.
  214. Say N if you want to disable CPU hotplug.
  215. if SPARC64
  216. source "drivers/cpufreq/Kconfig"
  217. endif
  218. config US3_MC
  219. tristate "UltraSPARC-III Memory Controller driver"
  220. depends on SPARC64
  221. default y
  222. help
  223. This adds a driver for the UltraSPARC-III memory controller.
  224. Loading this driver allows exact mnemonic strings to be
  225. printed in the event of a memory error, so that the faulty DIMM
  226. on the motherboard can be matched to the error.
  227. If in doubt, say Y, as this information can be very useful.
  228. # Global things across all Sun machines.
  229. config GENERIC_LOCKBREAK
  230. bool
  231. default y
  232. depends on SPARC64 && SMP && PREEMPT
  233. config NUMA
  234. bool "NUMA support"
  235. depends on SPARC64 && SMP
  236. config NODES_SHIFT
  237. int
  238. default "4"
  239. depends on NEED_MULTIPLE_NODES
  240. # Some NUMA nodes have memory ranges that span
  241. # other nodes. Even though a pfn is valid and
  242. # between a node's start and end pfns, it may not
  243. # reside on that node. See memmap_init_zone()
  244. # for details.
  245. config NODES_SPAN_OTHER_NODES
  246. def_bool y
  247. depends on NEED_MULTIPLE_NODES
  248. config ARCH_SELECT_MEMORY_MODEL
  249. def_bool y if SPARC64
  250. config ARCH_SPARSEMEM_ENABLE
  251. def_bool y if SPARC64
  252. select SPARSEMEM_VMEMMAP_ENABLE
  253. config ARCH_SPARSEMEM_DEFAULT
  254. def_bool y if SPARC64
  255. source "mm/Kconfig"
  256. if SPARC64
  257. source "kernel/power/Kconfig"
  258. endif
  259. config SCHED_SMT
  260. bool "SMT (Hyperthreading) scheduler support"
  261. depends on SPARC64 && SMP
  262. default y
  263. help
  264. SMT scheduler support improves the CPU scheduler's decision making
  265. when dealing with SPARC cpus at a cost of slightly increased overhead
  266. in some places. If unsure say N here.
  267. config SCHED_MC
  268. bool "Multi-core scheduler support"
  269. depends on SPARC64 && SMP
  270. default y
  271. help
  272. Multi-core scheduler support improves the CPU scheduler's decision
  273. making when dealing with multi-core CPU chips at a cost of slightly
  274. increased overhead in some places. If unsure say N here.
  275. source "kernel/Kconfig.preempt"
  276. config CMDLINE_BOOL
  277. bool "Default bootloader kernel arguments"
  278. depends on SPARC64
  279. config CMDLINE
  280. string "Initial kernel command string"
  281. depends on CMDLINE_BOOL
  282. default "console=ttyS0,9600 root=/dev/sda1"
  283. help
  284. Say Y here if you want to be able to pass default arguments to
  285. the kernel. This will be overridden by the bootloader, if you
  286. use one (such as SILO). This is most useful if you want to boot
  287. a kernel from TFTP, and want default options to be available
  288. with having them passed on the command line.
  289. NOTE: This option WILL override the PROM bootargs setting!
  290. config SUN_PM
  291. bool
  292. default y if SPARC32
  293. help
  294. Enable power management and CPU standby features on supported
  295. SPARC platforms.
  296. config SPARC_LED
  297. tristate "Sun4m LED driver"
  298. depends on SPARC32
  299. help
  300. This driver toggles the front-panel LED on sun4m systems
  301. in a user-specifiable manner. Its state can be probed
  302. by reading /proc/led and its blinking mode can be changed
  303. via writes to /proc/led
  304. config SERIAL_CONSOLE
  305. bool
  306. depends on SPARC32
  307. default y
  308. ---help---
  309. If you say Y here, it will be possible to use a serial port as the
  310. system console (the system console is the device which receives all
  311. kernel messages and warnings and which allows logins in single user
  312. mode). This could be useful if some terminal or printer is connected
  313. to that serial port.
  314. Even if you say Y here, the currently visible virtual console
  315. (/dev/tty0) will still be used as the system console by default, but
  316. you can alter that using a kernel command line option such as
  317. "console=ttyS1". (Try "man bootparam" or see the documentation of
  318. your boot loader (silo) about how to pass options to the kernel at
  319. boot time.)
  320. If you don't have a graphics card installed and you say Y here, the
  321. kernel will automatically use the first serial line, /dev/ttyS0, as
  322. system console.
  323. If unsure, say N.
  324. config SPARC_LEON
  325. bool "Sparc Leon processor family"
  326. depends on SPARC32
  327. select USB_EHCI_BIG_ENDIAN_MMIO
  328. select USB_EHCI_BIG_ENDIAN_DESC
  329. ---help---
  330. If you say Y here if you are running on a SPARC-LEON processor.
  331. The LEON processor is a synthesizable VHDL model of the
  332. SPARC-v8 standard. LEON is part of the GRLIB collection of
  333. IP cores that are distributed under GPL. GRLIB can be downloaded
  334. from www.gaisler.com. You can download a sparc-linux cross-compilation
  335. toolchain at www.gaisler.com.
  336. if SPARC_LEON
  337. menu "U-Boot options"
  338. config UBOOT_LOAD_ADDR
  339. hex "uImage Load Address"
  340. default 0x40004000
  341. ---help---
  342. U-Boot kernel load address, the address in physical address space
  343. where u-boot will place the Linux kernel before booting it.
  344. This address is normally the base address of main memory + 0x4000.
  345. config UBOOT_FLASH_ADDR
  346. hex "uImage.o Load Address"
  347. default 0x00080000
  348. ---help---
  349. Optional setting only affecting the uImage.o ELF-image used to
  350. download the uImage file to the target using a ELF-loader other than
  351. U-Boot. It may for example be used to download an uImage to FLASH with
  352. the GRMON utility before even starting u-boot.
  353. config UBOOT_ENTRY_ADDR
  354. hex "uImage Entry Address"
  355. default 0xf0004000
  356. ---help---
  357. Do not change this unless you know what you're doing. This is
  358. hardcoded by the SPARC32 and LEON port.
  359. This is the virtual address u-boot jumps to when booting the Linux
  360. Kernel.
  361. endmenu
  362. endif
  363. endmenu
  364. menu "Bus options (PCI etc.)"
  365. config SBUS
  366. bool
  367. default y
  368. config SBUSCHAR
  369. bool
  370. default y
  371. config SUN_LDOMS
  372. bool "Sun Logical Domains support"
  373. depends on SPARC64
  374. help
  375. Say Y here is you want to support virtual devices via
  376. Logical Domains.
  377. config PCI
  378. bool "Support for PCI and PS/2 keyboard/mouse"
  379. help
  380. Find out whether your system includes a PCI bus. PCI is the name of
  381. a bus system, i.e. the way the CPU talks to the other stuff inside
  382. your box. If you say Y here, the kernel will include drivers and
  383. infrastructure code to support PCI bus devices.
  384. CONFIG_PCI is needed for all JavaStation's (including MrCoffee),
  385. CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC.
  386. All of these platforms are extremely obscure, so say N if unsure.
  387. config PCI_DOMAINS
  388. def_bool PCI if SPARC64
  389. config PCI_SYSCALL
  390. def_bool PCI
  391. config PCIC_PCI
  392. bool
  393. depends on PCI && SPARC32 && !SPARC_LEON
  394. default y
  395. config LEON_PCI
  396. bool
  397. depends on PCI && SPARC_LEON
  398. default y
  399. config SPARC_GRPCI1
  400. bool "GRPCI Host Bridge Support"
  401. depends on LEON_PCI
  402. default y
  403. help
  404. Say Y here to include the GRPCI Host Bridge Driver. The GRPCI
  405. PCI host controller is typically found in GRLIB SPARC32/LEON
  406. systems. The driver has one property (all_pci_errors) controlled
  407. from the bootloader that makes the GRPCI to generate interrupts
  408. on detected PCI Parity and System errors.
  409. config SPARC_GRPCI2
  410. bool "GRPCI2 Host Bridge Support"
  411. depends on LEON_PCI
  412. default y
  413. help
  414. Say Y here to include the GRPCI2 Host Bridge Driver.
  415. source "drivers/pci/Kconfig"
  416. source "drivers/pcmcia/Kconfig"
  417. config SUN_OPENPROMFS
  418. tristate "Openprom tree appears in /proc/openprom"
  419. help
  420. If you say Y, the OpenPROM device tree will be available as a
  421. virtual file system, which you can mount to /proc/openprom by "mount
  422. -t openpromfs none /proc/openprom".
  423. To compile the /proc/openprom support as a module, choose M here: the
  424. module will be called openpromfs.
  425. Only choose N if you know in advance that you will not need to modify
  426. OpenPROM settings on the running system.
  427. # Makefile helpers
  428. config SPARC64_PCI
  429. bool
  430. default y
  431. depends on SPARC64 && PCI
  432. config SPARC64_PCI_MSI
  433. bool
  434. default y
  435. depends on SPARC64_PCI && PCI_MSI
  436. endmenu
  437. menu "Executable file formats"
  438. source "fs/Kconfig.binfmt"
  439. config COMPAT
  440. bool
  441. depends on SPARC64
  442. default y
  443. select COMPAT_BINFMT_ELF
  444. select HAVE_UID16
  445. select ARCH_WANT_OLD_COMPAT_IPC
  446. select COMPAT_OLD_SIGACTION
  447. config SYSVIPC_COMPAT
  448. bool
  449. depends on COMPAT && SYSVIPC
  450. default y
  451. endmenu
  452. source "net/Kconfig"
  453. source "drivers/Kconfig"
  454. source "drivers/sbus/char/Kconfig"
  455. source "fs/Kconfig"
  456. source "arch/sparc/Kconfig.debug"
  457. source "security/Kconfig"
  458. source "crypto/Kconfig"
  459. source "lib/Kconfig"