Kconfig 44 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697
  1. #
  2. # For a description of the syntax of this configuration file,
  3. # see Documentation/kbuild/kconfig-language.txt.
  4. #
  5. mainmenu "Linux Kernel Configuration"
  6. config ARM
  7. bool
  8. default y
  9. select HAVE_AOUT
  10. select HAVE_IDE
  11. select RTC_LIB
  12. select SYS_SUPPORTS_APM_EMULATION
  13. select GENERIC_ATOMIC64 if (!CPU_32v6K)
  14. select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
  15. select HAVE_ARCH_KGDB
  16. select HAVE_KPROBES if (!XIP_KERNEL)
  17. select HAVE_KRETPROBES if (HAVE_KPROBES)
  18. select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
  19. select HAVE_GENERIC_DMA_COHERENT
  20. select HAVE_KERNEL_GZIP
  21. select HAVE_KERNEL_LZO
  22. select HAVE_KERNEL_LZMA
  23. select HAVE_PERF_EVENTS
  24. select PERF_USE_VMALLOC
  25. help
  26. The ARM series is a line of low-power-consumption RISC chip designs
  27. licensed by ARM Ltd and targeted at embedded applications and
  28. handhelds such as the Compaq IPAQ. ARM-based PCs are no longer
  29. manufactured, but legacy ARM-based PC hardware remains popular in
  30. Europe. There is an ARM Linux project with a web page at
  31. <http://www.arm.linux.org.uk/>.
  32. config HAVE_PWM
  33. bool
  34. config SYS_SUPPORTS_APM_EMULATION
  35. bool
  36. config GENERIC_GPIO
  37. bool
  38. config GENERIC_TIME
  39. bool
  40. default y
  41. config ARCH_USES_GETTIMEOFFSET
  42. bool
  43. default n
  44. config GENERIC_CLOCKEVENTS
  45. bool
  46. config GENERIC_CLOCKEVENTS_BROADCAST
  47. bool
  48. depends on GENERIC_CLOCKEVENTS
  49. default y if SMP && !LOCAL_TIMERS
  50. config HAVE_TCM
  51. bool
  52. select GENERIC_ALLOCATOR
  53. config HAVE_PROC_CPU
  54. bool
  55. config NO_IOPORT
  56. bool
  57. config EISA
  58. bool
  59. ---help---
  60. The Extended Industry Standard Architecture (EISA) bus was
  61. developed as an open alternative to the IBM MicroChannel bus.
  62. The EISA bus provided some of the features of the IBM MicroChannel
  63. bus while maintaining backward compatibility with cards made for
  64. the older ISA bus. The EISA bus saw limited use between 1988 and
  65. 1995 when it was made obsolete by the PCI bus.
  66. Say Y here if you are building a kernel for an EISA-based machine.
  67. Otherwise, say N.
  68. config SBUS
  69. bool
  70. config MCA
  71. bool
  72. help
  73. MicroChannel Architecture is found in some IBM PS/2 machines and
  74. laptops. It is a bus system similar to PCI or ISA. See
  75. <file:Documentation/mca.txt> (and especially the web page given
  76. there) before attempting to build an MCA bus kernel.
  77. config GENERIC_HARDIRQS
  78. bool
  79. default y
  80. config STACKTRACE_SUPPORT
  81. bool
  82. default y
  83. config HAVE_LATENCYTOP_SUPPORT
  84. bool
  85. depends on !SMP
  86. default y
  87. config LOCKDEP_SUPPORT
  88. bool
  89. default y
  90. config TRACE_IRQFLAGS_SUPPORT
  91. bool
  92. default y
  93. config HARDIRQS_SW_RESEND
  94. bool
  95. default y
  96. config GENERIC_IRQ_PROBE
  97. bool
  98. default y
  99. config GENERIC_LOCKBREAK
  100. bool
  101. default y
  102. depends on SMP && PREEMPT
  103. config RWSEM_GENERIC_SPINLOCK
  104. bool
  105. default y
  106. config RWSEM_XCHGADD_ALGORITHM
  107. bool
  108. config ARCH_HAS_ILOG2_U32
  109. bool
  110. config ARCH_HAS_ILOG2_U64
  111. bool
  112. config ARCH_HAS_CPUFREQ
  113. bool
  114. help
  115. Internal node to signify that the ARCH has CPUFREQ support
  116. and that the relevant menu configurations are displayed for
  117. it.
  118. config GENERIC_HWEIGHT
  119. bool
  120. default y
  121. config GENERIC_CALIBRATE_DELAY
  122. bool
  123. default y
  124. config ARCH_MAY_HAVE_PC_FDC
  125. bool
  126. config ZONE_DMA
  127. bool
  128. config NEED_DMA_MAP_STATE
  129. def_bool y
  130. config GENERIC_ISA_DMA
  131. bool
  132. config FIQ
  133. bool
  134. config ARCH_MTD_XIP
  135. bool
  136. config GENERIC_HARDIRQS_NO__DO_IRQ
  137. def_bool y
  138. config ARM_L1_CACHE_SHIFT_6
  139. bool
  140. help
  141. Setting ARM L1 cache line size to 64 Bytes.
  142. config VECTORS_BASE
  143. hex
  144. default 0xffff0000 if MMU || CPU_HIGH_VECTOR
  145. default DRAM_BASE if REMAP_VECTORS_TO_RAM
  146. default 0x00000000
  147. help
  148. The base address of exception vectors.
  149. source "init/Kconfig"
  150. source "kernel/Kconfig.freezer"
  151. menu "System Type"
  152. config MMU
  153. bool "MMU-based Paged Memory Management Support"
  154. default y
  155. help
  156. Select if you want MMU-based virtualised addressing space
  157. support by paged memory management. If unsure, say 'Y'.
  158. #
  159. # The "ARM system type" choice list is ordered alphabetically by option
  160. # text. Please add new entries in the option alphabetic order.
  161. #
  162. choice
  163. prompt "ARM system type"
  164. default ARCH_VERSATILE
  165. config ARCH_AAEC2000
  166. bool "Agilent AAEC-2000 based"
  167. select CPU_ARM920T
  168. select ARM_AMBA
  169. select HAVE_CLK
  170. select ARCH_USES_GETTIMEOFFSET
  171. help
  172. This enables support for systems based on the Agilent AAEC-2000
  173. config ARCH_INTEGRATOR
  174. bool "ARM Ltd. Integrator family"
  175. select ARM_AMBA
  176. select ARCH_HAS_CPUFREQ
  177. select COMMON_CLKDEV
  178. select ICST
  179. select GENERIC_TIME
  180. select GENERIC_CLOCKEVENTS
  181. select PLAT_VERSATILE
  182. help
  183. Support for ARM's Integrator platform.
  184. config ARCH_REALVIEW
  185. bool "ARM Ltd. RealView family"
  186. select ARM_AMBA
  187. select COMMON_CLKDEV
  188. select ICST
  189. select GENERIC_TIME
  190. select GENERIC_CLOCKEVENTS
  191. select ARCH_WANT_OPTIONAL_GPIOLIB
  192. select PLAT_VERSATILE
  193. select ARM_TIMER_SP804
  194. help
  195. This enables support for ARM Ltd RealView boards.
  196. config ARCH_VERSATILE
  197. bool "ARM Ltd. Versatile family"
  198. select ARM_AMBA
  199. select ARM_VIC
  200. select COMMON_CLKDEV
  201. select ICST
  202. select GENERIC_TIME
  203. select GENERIC_CLOCKEVENTS
  204. select ARCH_WANT_OPTIONAL_GPIOLIB
  205. select PLAT_VERSATILE
  206. select ARM_TIMER_SP804
  207. help
  208. This enables support for ARM Ltd Versatile board.
  209. config ARCH_VEXPRESS
  210. bool "ARM Ltd. Versatile Express family"
  211. select ARCH_WANT_OPTIONAL_GPIOLIB
  212. select ARM_AMBA
  213. select ARM_TIMER_SP804
  214. select COMMON_CLKDEV
  215. select GENERIC_CLOCKEVENTS
  216. select GENERIC_TIME
  217. select HAVE_CLK
  218. select ICST
  219. select PLAT_VERSATILE
  220. help
  221. This enables support for the ARM Ltd Versatile Express boards.
  222. config ARCH_AT91
  223. bool "Atmel AT91"
  224. select GENERIC_GPIO
  225. select ARCH_REQUIRE_GPIOLIB
  226. select HAVE_CLK
  227. select ARCH_USES_GETTIMEOFFSET
  228. help
  229. This enables support for systems based on the Atmel AT91RM9200,
  230. AT91SAM9 and AT91CAP9 processors.
  231. config ARCH_BCMRING
  232. bool "Broadcom BCMRING"
  233. depends on MMU
  234. select CPU_V6
  235. select ARM_AMBA
  236. select COMMON_CLKDEV
  237. select GENERIC_TIME
  238. select GENERIC_CLOCKEVENTS
  239. select ARCH_WANT_OPTIONAL_GPIOLIB
  240. help
  241. Support for Broadcom's BCMRing platform.
  242. config ARCH_CLPS711X
  243. bool "Cirrus Logic CLPS711x/EP721x-based"
  244. select CPU_ARM720T
  245. select ARCH_USES_GETTIMEOFFSET
  246. help
  247. Support for Cirrus Logic 711x/721x based boards.
  248. config ARCH_GEMINI
  249. bool "Cortina Systems Gemini"
  250. select CPU_FA526
  251. select GENERIC_GPIO
  252. select ARCH_REQUIRE_GPIOLIB
  253. select ARCH_USES_GETTIMEOFFSET
  254. help
  255. Support for the Cortina Systems Gemini family SoCs
  256. config ARCH_EBSA110
  257. bool "EBSA-110"
  258. select CPU_SA110
  259. select ISA
  260. select NO_IOPORT
  261. select ARCH_USES_GETTIMEOFFSET
  262. help
  263. This is an evaluation board for the StrongARM processor available
  264. from Digital. It has limited hardware on-board, including an
  265. Ethernet interface, two PCMCIA sockets, two serial ports and a
  266. parallel port.
  267. config ARCH_EP93XX
  268. bool "EP93xx-based"
  269. select CPU_ARM920T
  270. select ARM_AMBA
  271. select ARM_VIC
  272. select GENERIC_GPIO
  273. select COMMON_CLKDEV
  274. select ARCH_REQUIRE_GPIOLIB
  275. select ARCH_HAS_HOLES_MEMORYMODEL
  276. select ARCH_USES_GETTIMEOFFSET
  277. help
  278. This enables support for the Cirrus EP93xx series of CPUs.
  279. config ARCH_FOOTBRIDGE
  280. bool "FootBridge"
  281. select CPU_SA110
  282. select FOOTBRIDGE
  283. select ARCH_USES_GETTIMEOFFSET
  284. help
  285. Support for systems based on the DC21285 companion chip
  286. ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
  287. config ARCH_MXC
  288. bool "Freescale MXC/iMX-based"
  289. select GENERIC_TIME
  290. select GENERIC_CLOCKEVENTS
  291. select ARCH_REQUIRE_GPIOLIB
  292. select COMMON_CLKDEV
  293. help
  294. Support for Freescale MXC/iMX-based family of processors
  295. config ARCH_STMP3XXX
  296. bool "Freescale STMP3xxx"
  297. select CPU_ARM926T
  298. select COMMON_CLKDEV
  299. select ARCH_REQUIRE_GPIOLIB
  300. select GENERIC_TIME
  301. select GENERIC_CLOCKEVENTS
  302. select GENERIC_GPIO
  303. select USB_ARCH_HAS_EHCI
  304. help
  305. Support for systems based on the Freescale 3xxx CPUs.
  306. config ARCH_NETX
  307. bool "Hilscher NetX based"
  308. select CPU_ARM926T
  309. select ARM_VIC
  310. select GENERIC_CLOCKEVENTS
  311. select GENERIC_TIME
  312. help
  313. This enables support for systems based on the Hilscher NetX Soc
  314. config ARCH_H720X
  315. bool "Hynix HMS720x-based"
  316. select CPU_ARM720T
  317. select ISA_DMA_API
  318. select ARCH_USES_GETTIMEOFFSET
  319. help
  320. This enables support for systems based on the Hynix HMS720x
  321. config ARCH_IOP13XX
  322. bool "IOP13xx-based"
  323. depends on MMU
  324. select CPU_XSC3
  325. select PLAT_IOP
  326. select PCI
  327. select ARCH_SUPPORTS_MSI
  328. select VMSPLIT_1G
  329. help
  330. Support for Intel's IOP13XX (XScale) family of processors.
  331. config ARCH_IOP32X
  332. bool "IOP32x-based"
  333. depends on MMU
  334. select CPU_XSCALE
  335. select PLAT_IOP
  336. select PCI
  337. select GENERIC_GPIO
  338. select ARCH_REQUIRE_GPIOLIB
  339. help
  340. Support for Intel's 80219 and IOP32X (XScale) family of
  341. processors.
  342. config ARCH_IOP33X
  343. bool "IOP33x-based"
  344. depends on MMU
  345. select CPU_XSCALE
  346. select PLAT_IOP
  347. select PCI
  348. select GENERIC_GPIO
  349. select ARCH_REQUIRE_GPIOLIB
  350. help
  351. Support for Intel's IOP33X (XScale) family of processors.
  352. config ARCH_IXP23XX
  353. bool "IXP23XX-based"
  354. depends on MMU
  355. select CPU_XSC3
  356. select PCI
  357. select ARCH_USES_GETTIMEOFFSET
  358. help
  359. Support for Intel's IXP23xx (XScale) family of processors.
  360. config ARCH_IXP2000
  361. bool "IXP2400/2800-based"
  362. depends on MMU
  363. select CPU_XSCALE
  364. select PCI
  365. select ARCH_USES_GETTIMEOFFSET
  366. help
  367. Support for Intel's IXP2400/2800 (XScale) family of processors.
  368. config ARCH_IXP4XX
  369. bool "IXP4xx-based"
  370. depends on MMU
  371. select CPU_XSCALE
  372. select GENERIC_GPIO
  373. select GENERIC_TIME
  374. select GENERIC_CLOCKEVENTS
  375. select DMABOUNCE if PCI
  376. help
  377. Support for Intel's IXP4XX (XScale) family of processors.
  378. config ARCH_L7200
  379. bool "LinkUp-L7200"
  380. select CPU_ARM720T
  381. select FIQ
  382. select ARCH_USES_GETTIMEOFFSET
  383. help
  384. Say Y here if you intend to run this kernel on a LinkUp Systems
  385. L7200 Software Development Board which uses an ARM720T processor.
  386. Information on this board can be obtained at:
  387. <http://www.linkupsys.com/>
  388. If you have any questions or comments about the Linux kernel port
  389. to this board, send e-mail to <sjhill@cotw.com>.
  390. config ARCH_DOVE
  391. bool "Marvell Dove"
  392. select PCI
  393. select GENERIC_GPIO
  394. select ARCH_REQUIRE_GPIOLIB
  395. select GENERIC_TIME
  396. select GENERIC_CLOCKEVENTS
  397. select PLAT_ORION
  398. help
  399. Support for the Marvell Dove SoC 88AP510
  400. config ARCH_KIRKWOOD
  401. bool "Marvell Kirkwood"
  402. select CPU_FEROCEON
  403. select PCI
  404. select GENERIC_GPIO
  405. select ARCH_REQUIRE_GPIOLIB
  406. select GENERIC_TIME
  407. select GENERIC_CLOCKEVENTS
  408. select PLAT_ORION
  409. help
  410. Support for the following Marvell Kirkwood series SoCs:
  411. 88F6180, 88F6192 and 88F6281.
  412. config ARCH_LOKI
  413. bool "Marvell Loki (88RC8480)"
  414. select CPU_FEROCEON
  415. select GENERIC_TIME
  416. select GENERIC_CLOCKEVENTS
  417. select PLAT_ORION
  418. help
  419. Support for the Marvell Loki (88RC8480) SoC.
  420. config ARCH_MV78XX0
  421. bool "Marvell MV78xx0"
  422. select CPU_FEROCEON
  423. select PCI
  424. select GENERIC_GPIO
  425. select ARCH_REQUIRE_GPIOLIB
  426. select GENERIC_TIME
  427. select GENERIC_CLOCKEVENTS
  428. select PLAT_ORION
  429. help
  430. Support for the following Marvell MV78xx0 series SoCs:
  431. MV781x0, MV782x0.
  432. config ARCH_ORION5X
  433. bool "Marvell Orion"
  434. depends on MMU
  435. select CPU_FEROCEON
  436. select PCI
  437. select GENERIC_GPIO
  438. select ARCH_REQUIRE_GPIOLIB
  439. select GENERIC_TIME
  440. select GENERIC_CLOCKEVENTS
  441. select PLAT_ORION
  442. help
  443. Support for the following Marvell Orion 5x series SoCs:
  444. Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182),
  445. Orion-2 (5281), Orion-1-90 (6183).
  446. config ARCH_MMP
  447. bool "Marvell PXA168/910/MMP2"
  448. depends on MMU
  449. select GENERIC_GPIO
  450. select ARCH_REQUIRE_GPIOLIB
  451. select COMMON_CLKDEV
  452. select GENERIC_TIME
  453. select GENERIC_CLOCKEVENTS
  454. select TICK_ONESHOT
  455. select PLAT_PXA
  456. help
  457. Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
  458. config ARCH_KS8695
  459. bool "Micrel/Kendin KS8695"
  460. select CPU_ARM922T
  461. select GENERIC_GPIO
  462. select ARCH_REQUIRE_GPIOLIB
  463. select ARCH_USES_GETTIMEOFFSET
  464. help
  465. Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
  466. System-on-Chip devices.
  467. config ARCH_NS9XXX
  468. bool "NetSilicon NS9xxx"
  469. select CPU_ARM926T
  470. select GENERIC_GPIO
  471. select GENERIC_TIME
  472. select GENERIC_CLOCKEVENTS
  473. select HAVE_CLK
  474. help
  475. Say Y here if you intend to run this kernel on a NetSilicon NS9xxx
  476. System.
  477. <http://www.digi.com/products/microprocessors/index.jsp>
  478. config ARCH_W90X900
  479. bool "Nuvoton W90X900 CPU"
  480. select CPU_ARM926T
  481. select ARCH_REQUIRE_GPIOLIB
  482. select GENERIC_GPIO
  483. select COMMON_CLKDEV
  484. select GENERIC_TIME
  485. select GENERIC_CLOCKEVENTS
  486. help
  487. Support for Nuvoton (Winbond logic dept.) ARM9 processor,
  488. At present, the w90x900 has been renamed nuc900, regarding
  489. the ARM series product line, you can login the following
  490. link address to know more.
  491. <http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/
  492. ConsumerElectronicsIC/ARMMicrocontroller/ARMMicrocontroller>
  493. config ARCH_NUC93X
  494. bool "Nuvoton NUC93X CPU"
  495. select CPU_ARM926T
  496. select COMMON_CLKDEV
  497. help
  498. Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a
  499. low-power and high performance MPEG-4/JPEG multimedia controller chip.
  500. config ARCH_PNX4008
  501. bool "Philips Nexperia PNX4008 Mobile"
  502. select CPU_ARM926T
  503. select COMMON_CLKDEV
  504. select ARCH_USES_GETTIMEOFFSET
  505. help
  506. This enables support for Philips PNX4008 mobile platform.
  507. config ARCH_PXA
  508. bool "PXA2xx/PXA3xx-based"
  509. depends on MMU
  510. select ARCH_MTD_XIP
  511. select ARCH_HAS_CPUFREQ
  512. select GENERIC_GPIO
  513. select COMMON_CLKDEV
  514. select ARCH_REQUIRE_GPIOLIB
  515. select GENERIC_TIME
  516. select GENERIC_CLOCKEVENTS
  517. select TICK_ONESHOT
  518. select PLAT_PXA
  519. help
  520. Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
  521. config ARCH_MSM
  522. bool "Qualcomm MSM"
  523. select CPU_V6
  524. select GENERIC_TIME
  525. select GENERIC_CLOCKEVENTS
  526. help
  527. Support for Qualcomm MSM7K based systems. This runs on the ARM11
  528. apps processor of the MSM7K and depends on a shared memory
  529. interface to the ARM9 modem processor which runs the baseband stack
  530. and controls some vital subsystems (clock and power control, etc).
  531. config ARCH_SHMOBILE
  532. bool "Renesas SH-Mobile"
  533. help
  534. Support for Renesas's SH-Mobile ARM platforms
  535. config ARCH_RPC
  536. bool "RiscPC"
  537. select ARCH_ACORN
  538. select FIQ
  539. select TIMER_ACORN
  540. select ARCH_MAY_HAVE_PC_FDC
  541. select HAVE_PATA_PLATFORM
  542. select ISA_DMA_API
  543. select NO_IOPORT
  544. select ARCH_SPARSEMEM_ENABLE
  545. select ARCH_USES_GETTIMEOFFSET
  546. help
  547. On the Acorn Risc-PC, Linux can support the internal IDE disk and
  548. CD-ROM interface, serial and parallel port, and the floppy drive.
  549. config ARCH_SA1100
  550. bool "SA1100-based"
  551. select CPU_SA1100
  552. select ISA
  553. select ARCH_SPARSEMEM_ENABLE
  554. select ARCH_MTD_XIP
  555. select ARCH_HAS_CPUFREQ
  556. select CPU_FREQ
  557. select GENERIC_GPIO
  558. select GENERIC_TIME
  559. select GENERIC_CLOCKEVENTS
  560. select HAVE_CLK
  561. select TICK_ONESHOT
  562. select ARCH_REQUIRE_GPIOLIB
  563. help
  564. Support for StrongARM 11x0 based boards.
  565. config ARCH_S3C2410
  566. bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443"
  567. select GENERIC_GPIO
  568. select ARCH_HAS_CPUFREQ
  569. select HAVE_CLK
  570. select ARCH_USES_GETTIMEOFFSET
  571. help
  572. Samsung S3C2410X CPU based systems, such as the Simtec Electronics
  573. BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
  574. the Samsung SMDK2410 development board (and derivatives).
  575. config ARCH_S3C64XX
  576. bool "Samsung S3C64XX"
  577. select PLAT_SAMSUNG
  578. select CPU_V6
  579. select GENERIC_GPIO
  580. select ARM_VIC
  581. select HAVE_CLK
  582. select NO_IOPORT
  583. select ARCH_USES_GETTIMEOFFSET
  584. select ARCH_HAS_CPUFREQ
  585. select ARCH_REQUIRE_GPIOLIB
  586. select SAMSUNG_CLKSRC
  587. select SAMSUNG_IRQ_VIC_TIMER
  588. select SAMSUNG_IRQ_UART
  589. select S3C_GPIO_TRACK
  590. select S3C_GPIO_PULL_UPDOWN
  591. select S3C_GPIO_CFG_S3C24XX
  592. select S3C_GPIO_CFG_S3C64XX
  593. select S3C_DEV_NAND
  594. select USB_ARCH_HAS_OHCI
  595. select SAMSUNG_GPIOLIB_4BIT
  596. help
  597. Samsung S3C64XX series based systems
  598. config ARCH_S5P6440
  599. bool "Samsung S5P6440"
  600. select CPU_V6
  601. select GENERIC_GPIO
  602. select HAVE_CLK
  603. help
  604. Samsung S5P6440 CPU based systems
  605. config ARCH_S5P6442
  606. bool "Samsung S5P6442"
  607. select CPU_V6
  608. select GENERIC_GPIO
  609. select HAVE_CLK
  610. help
  611. Samsung S5P6442 CPU based systems
  612. config ARCH_S5PC1XX
  613. bool "Samsung S5PC1XX"
  614. select GENERIC_GPIO
  615. select HAVE_CLK
  616. select CPU_V7
  617. select ARM_L1_CACHE_SHIFT_6
  618. help
  619. Samsung S5PC1XX series based systems
  620. config ARCH_S5PV210
  621. bool "Samsung S5PV210/S5PC110"
  622. select CPU_V7
  623. select GENERIC_GPIO
  624. select HAVE_CLK
  625. select ARM_L1_CACHE_SHIFT_6
  626. help
  627. Samsung S5PV210/S5PC110 series based systems
  628. config ARCH_SHARK
  629. bool "Shark"
  630. select CPU_SA110
  631. select ISA
  632. select ISA_DMA
  633. select ZONE_DMA
  634. select PCI
  635. select ARCH_USES_GETTIMEOFFSET
  636. help
  637. Support for the StrongARM based Digital DNARD machine, also known
  638. as "Shark" (<http://www.shark-linux.de/shark.html>).
  639. config ARCH_LH7A40X
  640. bool "Sharp LH7A40X"
  641. select CPU_ARM922T
  642. select ARCH_DISCONTIGMEM_ENABLE if !LH7A40X_CONTIGMEM
  643. select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM
  644. select ARCH_USES_GETTIMEOFFSET
  645. help
  646. Say Y here for systems based on one of the Sharp LH7A40X
  647. System on a Chip processors. These CPUs include an ARM922T
  648. core with a wide array of integrated devices for
  649. hand-held and low-power applications.
  650. config ARCH_U300
  651. bool "ST-Ericsson U300 Series"
  652. depends on MMU
  653. select CPU_ARM926T
  654. select HAVE_TCM
  655. select ARM_AMBA
  656. select ARM_VIC
  657. select GENERIC_TIME
  658. select GENERIC_CLOCKEVENTS
  659. select COMMON_CLKDEV
  660. select GENERIC_GPIO
  661. help
  662. Support for ST-Ericsson U300 series mobile platforms.
  663. config ARCH_U8500
  664. bool "ST-Ericsson U8500 Series"
  665. select CPU_V7
  666. select ARM_AMBA
  667. select GENERIC_TIME
  668. select GENERIC_CLOCKEVENTS
  669. select COMMON_CLKDEV
  670. select ARCH_REQUIRE_GPIOLIB
  671. help
  672. Support for ST-Ericsson's Ux500 architecture
  673. config ARCH_NOMADIK
  674. bool "STMicroelectronics Nomadik"
  675. select ARM_AMBA
  676. select ARM_VIC
  677. select CPU_ARM926T
  678. select COMMON_CLKDEV
  679. select GENERIC_TIME
  680. select GENERIC_CLOCKEVENTS
  681. select GENERIC_GPIO
  682. select ARCH_REQUIRE_GPIOLIB
  683. help
  684. Support for the Nomadik platform by ST-Ericsson
  685. config ARCH_DAVINCI
  686. bool "TI DaVinci"
  687. select CPU_ARM926T
  688. select GENERIC_TIME
  689. select GENERIC_CLOCKEVENTS
  690. select GENERIC_GPIO
  691. select ARCH_REQUIRE_GPIOLIB
  692. select ZONE_DMA
  693. select HAVE_IDE
  694. select COMMON_CLKDEV
  695. select GENERIC_ALLOCATOR
  696. select ARCH_HAS_HOLES_MEMORYMODEL
  697. help
  698. Support for TI's DaVinci platform.
  699. config ARCH_OMAP
  700. bool "TI OMAP"
  701. select GENERIC_GPIO
  702. select HAVE_CLK
  703. select ARCH_REQUIRE_GPIOLIB
  704. select ARCH_HAS_CPUFREQ
  705. select GENERIC_TIME
  706. select GENERIC_CLOCKEVENTS
  707. select ARCH_HAS_HOLES_MEMORYMODEL
  708. help
  709. Support for TI's OMAP platform (OMAP1 and OMAP2).
  710. config PLAT_SPEAR
  711. bool "ST SPEAr"
  712. select ARM_AMBA
  713. select ARCH_REQUIRE_GPIOLIB
  714. select COMMON_CLKDEV
  715. select GENERIC_CLOCKEVENTS
  716. select GENERIC_GPIO
  717. select GENERIC_TIME
  718. select HAVE_CLK
  719. help
  720. Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx).
  721. endchoice
  722. #
  723. # This is sorted alphabetically by mach-* pathname. However, plat-*
  724. # Kconfigs may be included either alphabetically (according to the
  725. # plat- suffix) or along side the corresponding mach-* source.
  726. #
  727. source "arch/arm/mach-aaec2000/Kconfig"
  728. source "arch/arm/mach-at91/Kconfig"
  729. source "arch/arm/mach-bcmring/Kconfig"
  730. source "arch/arm/mach-clps711x/Kconfig"
  731. source "arch/arm/mach-davinci/Kconfig"
  732. source "arch/arm/mach-dove/Kconfig"
  733. source "arch/arm/mach-ep93xx/Kconfig"
  734. source "arch/arm/mach-footbridge/Kconfig"
  735. source "arch/arm/mach-gemini/Kconfig"
  736. source "arch/arm/mach-h720x/Kconfig"
  737. source "arch/arm/mach-integrator/Kconfig"
  738. source "arch/arm/mach-iop32x/Kconfig"
  739. source "arch/arm/mach-iop33x/Kconfig"
  740. source "arch/arm/mach-iop13xx/Kconfig"
  741. source "arch/arm/mach-ixp4xx/Kconfig"
  742. source "arch/arm/mach-ixp2000/Kconfig"
  743. source "arch/arm/mach-ixp23xx/Kconfig"
  744. source "arch/arm/mach-kirkwood/Kconfig"
  745. source "arch/arm/mach-ks8695/Kconfig"
  746. source "arch/arm/mach-lh7a40x/Kconfig"
  747. source "arch/arm/mach-loki/Kconfig"
  748. source "arch/arm/mach-msm/Kconfig"
  749. source "arch/arm/mach-mv78xx0/Kconfig"
  750. source "arch/arm/plat-mxc/Kconfig"
  751. source "arch/arm/mach-netx/Kconfig"
  752. source "arch/arm/mach-nomadik/Kconfig"
  753. source "arch/arm/plat-nomadik/Kconfig"
  754. source "arch/arm/mach-ns9xxx/Kconfig"
  755. source "arch/arm/mach-nuc93x/Kconfig"
  756. source "arch/arm/plat-omap/Kconfig"
  757. source "arch/arm/mach-omap1/Kconfig"
  758. source "arch/arm/mach-omap2/Kconfig"
  759. source "arch/arm/mach-orion5x/Kconfig"
  760. source "arch/arm/mach-pxa/Kconfig"
  761. source "arch/arm/plat-pxa/Kconfig"
  762. source "arch/arm/mach-mmp/Kconfig"
  763. source "arch/arm/mach-realview/Kconfig"
  764. source "arch/arm/mach-sa1100/Kconfig"
  765. source "arch/arm/plat-samsung/Kconfig"
  766. source "arch/arm/plat-s3c24xx/Kconfig"
  767. source "arch/arm/plat-s5p/Kconfig"
  768. source "arch/arm/plat-s5pc1xx/Kconfig"
  769. source "arch/arm/plat-spear/Kconfig"
  770. if ARCH_S3C2410
  771. source "arch/arm/mach-s3c2400/Kconfig"
  772. source "arch/arm/mach-s3c2410/Kconfig"
  773. source "arch/arm/mach-s3c2412/Kconfig"
  774. source "arch/arm/mach-s3c2440/Kconfig"
  775. source "arch/arm/mach-s3c2443/Kconfig"
  776. endif
  777. if ARCH_S3C64XX
  778. source "arch/arm/mach-s3c64xx/Kconfig"
  779. endif
  780. source "arch/arm/mach-s5p6440/Kconfig"
  781. source "arch/arm/mach-s5p6442/Kconfig"
  782. if ARCH_S5PC1XX
  783. source "arch/arm/mach-s5pc100/Kconfig"
  784. endif
  785. source "arch/arm/mach-s5pv210/Kconfig"
  786. source "arch/arm/mach-shmobile/Kconfig"
  787. source "arch/arm/plat-stmp3xxx/Kconfig"
  788. source "arch/arm/mach-u300/Kconfig"
  789. source "arch/arm/mach-ux500/Kconfig"
  790. source "arch/arm/mach-versatile/Kconfig"
  791. source "arch/arm/mach-vexpress/Kconfig"
  792. source "arch/arm/mach-w90x900/Kconfig"
  793. # Definitions to make life easier
  794. config ARCH_ACORN
  795. bool
  796. config PLAT_IOP
  797. bool
  798. select GENERIC_CLOCKEVENTS
  799. select GENERIC_TIME
  800. config PLAT_ORION
  801. bool
  802. config PLAT_PXA
  803. bool
  804. config PLAT_VERSATILE
  805. bool
  806. config ARM_TIMER_SP804
  807. bool
  808. source arch/arm/mm/Kconfig
  809. config IWMMXT
  810. bool "Enable iWMMXt support"
  811. depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK
  812. default y if PXA27x || PXA3xx || ARCH_MMP
  813. help
  814. Enable support for iWMMXt context switching at run time if
  815. running on a CPU that supports it.
  816. # bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
  817. config XSCALE_PMU
  818. bool
  819. depends on CPU_XSCALE && !XSCALE_PMU_TIMER
  820. default y
  821. config CPU_HAS_PMU
  822. depends on CPU_V6 || CPU_V7 || XSCALE_PMU
  823. default y
  824. bool
  825. if !MMU
  826. source "arch/arm/Kconfig-nommu"
  827. endif
  828. config ARM_ERRATA_411920
  829. bool "ARM errata: Invalidation of the Instruction Cache operation can fail"
  830. depends on CPU_V6 && !SMP
  831. help
  832. Invalidation of the Instruction Cache operation can
  833. fail. This erratum is present in 1136 (before r1p4), 1156 and 1176.
  834. It does not affect the MPCore. This option enables the ARM Ltd.
  835. recommended workaround.
  836. config ARM_ERRATA_430973
  837. bool "ARM errata: Stale prediction on replaced interworking branch"
  838. depends on CPU_V7
  839. help
  840. This option enables the workaround for the 430973 Cortex-A8
  841. (r1p0..r1p2) erratum. If a code sequence containing an ARM/Thumb
  842. interworking branch is replaced with another code sequence at the
  843. same virtual address, whether due to self-modifying code or virtual
  844. to physical address re-mapping, Cortex-A8 does not recover from the
  845. stale interworking branch prediction. This results in Cortex-A8
  846. executing the new code sequence in the incorrect ARM or Thumb state.
  847. The workaround enables the BTB/BTAC operations by setting ACTLR.IBE
  848. and also flushes the branch target cache at every context switch.
  849. Note that setting specific bits in the ACTLR register may not be
  850. available in non-secure mode.
  851. config ARM_ERRATA_458693
  852. bool "ARM errata: Processor deadlock when a false hazard is created"
  853. depends on CPU_V7
  854. help
  855. This option enables the workaround for the 458693 Cortex-A8 (r2p0)
  856. erratum. For very specific sequences of memory operations, it is
  857. possible for a hazard condition intended for a cache line to instead
  858. be incorrectly associated with a different cache line. This false
  859. hazard might then cause a processor deadlock. The workaround enables
  860. the L1 caching of the NEON accesses and disables the PLD instruction
  861. in the ACTLR register. Note that setting specific bits in the ACTLR
  862. register may not be available in non-secure mode.
  863. config ARM_ERRATA_460075
  864. bool "ARM errata: Data written to the L2 cache can be overwritten with stale data"
  865. depends on CPU_V7
  866. help
  867. This option enables the workaround for the 460075 Cortex-A8 (r2p0)
  868. erratum. Any asynchronous access to the L2 cache may encounter a
  869. situation in which recent store transactions to the L2 cache are lost
  870. and overwritten with stale memory contents from external memory. The
  871. workaround disables the write-allocate mode for the L2 cache via the
  872. ACTLR register. Note that setting specific bits in the ACTLR register
  873. may not be available in non-secure mode.
  874. config PL310_ERRATA_588369
  875. bool "Clean & Invalidate maintenance operations do not invalidate clean lines"
  876. depends on CACHE_L2X0 && ARCH_OMAP4
  877. help
  878. The PL310 L2 cache controller implements three types of Clean &
  879. Invalidate maintenance operations: by Physical Address
  880. (offset 0x7F0), by Index/Way (0x7F8) and by Way (0x7FC).
  881. They are architecturally defined to behave as the execution of a
  882. clean operation followed immediately by an invalidate operation,
  883. both performing to the same memory location. This functionality
  884. is not correctly implemented in PL310 as clean lines are not
  885. invalidated as a result of these operations. Note that this errata
  886. uses Texas Instrument's secure monitor api.
  887. endmenu
  888. source "arch/arm/common/Kconfig"
  889. config FORCE_MAX_ZONEORDER
  890. int
  891. depends on SA1111
  892. default "9"
  893. menu "Bus support"
  894. config ARM_AMBA
  895. bool
  896. config ISA
  897. bool
  898. help
  899. Find out whether you have ISA slots on your motherboard. ISA is the
  900. name of a bus system, i.e. the way the CPU talks to the other stuff
  901. inside your box. Other bus systems are PCI, EISA, MicroChannel
  902. (MCA) or VESA. ISA is an older system, now being displaced by PCI;
  903. newer boards don't support it. If you have ISA, say Y, otherwise N.
  904. # Select ISA DMA controller support
  905. config ISA_DMA
  906. bool
  907. select ISA_DMA_API
  908. # Select ISA DMA interface
  909. config ISA_DMA_API
  910. bool
  911. config PCI
  912. bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE
  913. help
  914. Find out whether you have a PCI motherboard. PCI is the name of a
  915. bus system, i.e. the way the CPU talks to the other stuff inside
  916. your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
  917. VESA. If you have PCI, say Y, otherwise N.
  918. config PCI_DOMAINS
  919. bool
  920. depends on PCI
  921. config PCI_SYSCALL
  922. def_bool PCI
  923. # Select the host bridge type
  924. config PCI_HOST_VIA82C505
  925. bool
  926. depends on PCI && ARCH_SHARK
  927. default y
  928. config PCI_HOST_ITE8152
  929. bool
  930. depends on PCI && MACH_ARMCORE
  931. default y
  932. select DMABOUNCE
  933. source "drivers/pci/Kconfig"
  934. source "drivers/pcmcia/Kconfig"
  935. endmenu
  936. menu "Kernel Features"
  937. source "kernel/time/Kconfig"
  938. config SMP
  939. bool "Symmetric Multi-Processing (EXPERIMENTAL)"
  940. depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP ||\
  941. MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 ||\
  942. ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
  943. depends on GENERIC_CLOCKEVENTS
  944. select USE_GENERIC_SMP_HELPERS
  945. select HAVE_ARM_SCU if (ARCH_REALVIEW || ARCH_OMAP4 || ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
  946. help
  947. This enables support for systems with more than one CPU. If you have
  948. a system with only one CPU, like most personal computers, say N. If
  949. you have a system with more than one CPU, say Y.
  950. If you say N here, the kernel will run on single and multiprocessor
  951. machines, but will use only one CPU of a multiprocessor machine. If
  952. you say Y here, the kernel will run on many, but not all, single
  953. processor machines. On a single processor machine, the kernel will
  954. run faster if you say N here.
  955. See also <file:Documentation/i386/IO-APIC.txt>,
  956. <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
  957. <http://www.linuxdoc.org/docs.html#howto>.
  958. If you don't know what to do here, say N.
  959. config HAVE_ARM_SCU
  960. bool
  961. depends on SMP
  962. help
  963. This option enables support for the ARM system coherency unit
  964. config HAVE_ARM_TWD
  965. bool
  966. depends on SMP
  967. help
  968. This options enables support for the ARM timer and watchdog unit
  969. choice
  970. prompt "Memory split"
  971. default VMSPLIT_3G
  972. help
  973. Select the desired split between kernel and user memory.
  974. If you are not absolutely sure what you are doing, leave this
  975. option alone!
  976. config VMSPLIT_3G
  977. bool "3G/1G user/kernel split"
  978. config VMSPLIT_2G
  979. bool "2G/2G user/kernel split"
  980. config VMSPLIT_1G
  981. bool "1G/3G user/kernel split"
  982. endchoice
  983. config PAGE_OFFSET
  984. hex
  985. default 0x40000000 if VMSPLIT_1G
  986. default 0x80000000 if VMSPLIT_2G
  987. default 0xC0000000
  988. config NR_CPUS
  989. int "Maximum number of CPUs (2-32)"
  990. range 2 32
  991. depends on SMP
  992. default "4"
  993. config HOTPLUG_CPU
  994. bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
  995. depends on SMP && HOTPLUG && EXPERIMENTAL
  996. help
  997. Say Y here to experiment with turning CPUs off and on. CPUs
  998. can be controlled through /sys/devices/system/cpu.
  999. config LOCAL_TIMERS
  1000. bool "Use local timer interrupts"
  1001. depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || \
  1002. REALVIEW_EB_A9MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || ARCH_U8500)
  1003. default y
  1004. select HAVE_ARM_TWD if (ARCH_REALVIEW || ARCH_OMAP4 || ARCH_U8500)
  1005. help
  1006. Enable support for local timers on SMP platforms, rather then the
  1007. legacy IPI broadcast method. Local timers allows the system
  1008. accounting to be spread across the timer interval, preventing a
  1009. "thundering herd" at every timer tick.
  1010. source kernel/Kconfig.preempt
  1011. config HZ
  1012. int
  1013. default 128 if ARCH_L7200
  1014. default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P6440 || ARCH_S5P6442 || ARCH_S5PV210
  1015. default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
  1016. default AT91_TIMER_HZ if ARCH_AT91
  1017. default 100
  1018. config THUMB2_KERNEL
  1019. bool "Compile the kernel in Thumb-2 mode"
  1020. depends on CPU_V7 && EXPERIMENTAL
  1021. select AEABI
  1022. select ARM_ASM_UNIFIED
  1023. help
  1024. By enabling this option, the kernel will be compiled in
  1025. Thumb-2 mode. A compiler/assembler that understand the unified
  1026. ARM-Thumb syntax is needed.
  1027. If unsure, say N.
  1028. config ARM_ASM_UNIFIED
  1029. bool
  1030. config AEABI
  1031. bool "Use the ARM EABI to compile the kernel"
  1032. help
  1033. This option allows for the kernel to be compiled using the latest
  1034. ARM ABI (aka EABI). This is only useful if you are using a user
  1035. space environment that is also compiled with EABI.
  1036. Since there are major incompatibilities between the legacy ABI and
  1037. EABI, especially with regard to structure member alignment, this
  1038. option also changes the kernel syscall calling convention to
  1039. disambiguate both ABIs and allow for backward compatibility support
  1040. (selected with CONFIG_OABI_COMPAT).
  1041. To use this you need GCC version 4.0.0 or later.
  1042. config OABI_COMPAT
  1043. bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
  1044. depends on AEABI && EXPERIMENTAL
  1045. default y
  1046. help
  1047. This option preserves the old syscall interface along with the
  1048. new (ARM EABI) one. It also provides a compatibility layer to
  1049. intercept syscalls that have structure arguments which layout
  1050. in memory differs between the legacy ABI and the new ARM EABI
  1051. (only for non "thumb" binaries). This option adds a tiny
  1052. overhead to all syscalls and produces a slightly larger kernel.
  1053. If you know you'll be using only pure EABI user space then you
  1054. can say N here. If this option is not selected and you attempt
  1055. to execute a legacy ABI binary then the result will be
  1056. UNPREDICTABLE (in fact it can be predicted that it won't work
  1057. at all). If in doubt say Y.
  1058. config ARCH_HAS_HOLES_MEMORYMODEL
  1059. bool
  1060. # Discontigmem is deprecated
  1061. config ARCH_DISCONTIGMEM_ENABLE
  1062. bool
  1063. config ARCH_SPARSEMEM_ENABLE
  1064. bool
  1065. config ARCH_SPARSEMEM_DEFAULT
  1066. def_bool ARCH_SPARSEMEM_ENABLE
  1067. config ARCH_SELECT_MEMORY_MODEL
  1068. def_bool ARCH_DISCONTIGMEM_ENABLE && ARCH_SPARSEMEM_ENABLE
  1069. config NODES_SHIFT
  1070. int
  1071. default "4" if ARCH_LH7A40X
  1072. default "2"
  1073. depends on NEED_MULTIPLE_NODES
  1074. config HIGHMEM
  1075. bool "High Memory Support (EXPERIMENTAL)"
  1076. depends on MMU && EXPERIMENTAL
  1077. help
  1078. The address space of ARM processors is only 4 Gigabytes large
  1079. and it has to accommodate user address space, kernel address
  1080. space as well as some memory mapped IO. That means that, if you
  1081. have a large amount of physical memory and/or IO, not all of the
  1082. memory can be "permanently mapped" by the kernel. The physical
  1083. memory that is not permanently mapped is called "high memory".
  1084. Depending on the selected kernel/user memory split, minimum
  1085. vmalloc space and actual amount of RAM, you may not need this
  1086. option which should result in a slightly faster kernel.
  1087. If unsure, say n.
  1088. config HIGHPTE
  1089. bool "Allocate 2nd-level pagetables from highmem"
  1090. depends on HIGHMEM
  1091. depends on !OUTER_CACHE
  1092. config HW_PERF_EVENTS
  1093. bool "Enable hardware performance counter support for perf events"
  1094. depends on PERF_EVENTS && CPU_HAS_PMU
  1095. default y
  1096. help
  1097. Enable hardware performance counter support for perf events. If
  1098. disabled, perf events will use software events only.
  1099. source "mm/Kconfig"
  1100. config LEDS
  1101. bool "Timer and CPU usage LEDs"
  1102. depends on ARCH_CDB89712 || ARCH_EBSA110 || \
  1103. ARCH_EBSA285 || ARCH_INTEGRATOR || \
  1104. ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
  1105. ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
  1106. ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
  1107. ARCH_AT91 || ARCH_DAVINCI || \
  1108. ARCH_KS8695 || MACH_RD88F5182 || ARCH_REALVIEW
  1109. help
  1110. If you say Y here, the LEDs on your machine will be used
  1111. to provide useful information about your current system status.
  1112. If you are compiling a kernel for a NetWinder or EBSA-285, you will
  1113. be able to select which LEDs are active using the options below. If
  1114. you are compiling a kernel for the EBSA-110 or the LART however, the
  1115. red LED will simply flash regularly to indicate that the system is
  1116. still functional. It is safe to say Y here if you have a CATS
  1117. system, but the driver will do nothing.
  1118. config LEDS_TIMER
  1119. bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
  1120. OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
  1121. || MACH_OMAP_PERSEUS2
  1122. depends on LEDS
  1123. depends on !GENERIC_CLOCKEVENTS
  1124. default y if ARCH_EBSA110
  1125. help
  1126. If you say Y here, one of the system LEDs (the green one on the
  1127. NetWinder, the amber one on the EBSA285, or the red one on the LART)
  1128. will flash regularly to indicate that the system is still
  1129. operational. This is mainly useful to kernel hackers who are
  1130. debugging unstable kernels.
  1131. The LART uses the same LED for both Timer LED and CPU usage LED
  1132. functions. You may choose to use both, but the Timer LED function
  1133. will overrule the CPU usage LED.
  1134. config LEDS_CPU
  1135. bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
  1136. !ARCH_OMAP) \
  1137. || OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
  1138. || MACH_OMAP_PERSEUS2
  1139. depends on LEDS
  1140. help
  1141. If you say Y here, the red LED will be used to give a good real
  1142. time indication of CPU usage, by lighting whenever the idle task
  1143. is not currently executing.
  1144. The LART uses the same LED for both Timer LED and CPU usage LED
  1145. functions. You may choose to use both, but the Timer LED function
  1146. will overrule the CPU usage LED.
  1147. config ALIGNMENT_TRAP
  1148. bool
  1149. depends on CPU_CP15_MMU
  1150. default y if !ARCH_EBSA110
  1151. select HAVE_PROC_CPU if PROC_FS
  1152. help
  1153. ARM processors cannot fetch/store information which is not
  1154. naturally aligned on the bus, i.e., a 4 byte fetch must start at an
  1155. address divisible by 4. On 32-bit ARM processors, these non-aligned
  1156. fetch/store instructions will be emulated in software if you say
  1157. here, which has a severe performance impact. This is necessary for
  1158. correct operation of some network protocols. With an IP-only
  1159. configuration it is safe to say N, otherwise say Y.
  1160. config UACCESS_WITH_MEMCPY
  1161. bool "Use kernel mem{cpy,set}() for {copy_to,clear}_user() (EXPERIMENTAL)"
  1162. depends on MMU && EXPERIMENTAL
  1163. default y if CPU_FEROCEON
  1164. help
  1165. Implement faster copy_to_user and clear_user methods for CPU
  1166. cores where a 8-word STM instruction give significantly higher
  1167. memory write throughput than a sequence of individual 32bit stores.
  1168. A possible side effect is a slight increase in scheduling latency
  1169. between threads sharing the same address space if they invoke
  1170. such copy operations with large buffers.
  1171. However, if the CPU data cache is using a write-allocate mode,
  1172. this option is unlikely to provide any performance gain.
  1173. endmenu
  1174. menu "Boot options"
  1175. # Compressed boot loader in ROM. Yes, we really want to ask about
  1176. # TEXT and BSS so we preserve their values in the config files.
  1177. config ZBOOT_ROM_TEXT
  1178. hex "Compressed ROM boot loader base address"
  1179. default "0"
  1180. help
  1181. The physical address at which the ROM-able zImage is to be
  1182. placed in the target. Platforms which normally make use of
  1183. ROM-able zImage formats normally set this to a suitable
  1184. value in their defconfig file.
  1185. If ZBOOT_ROM is not enabled, this has no effect.
  1186. config ZBOOT_ROM_BSS
  1187. hex "Compressed ROM boot loader BSS address"
  1188. default "0"
  1189. help
  1190. The base address of an area of read/write memory in the target
  1191. for the ROM-able zImage which must be available while the
  1192. decompressor is running. It must be large enough to hold the
  1193. entire decompressed kernel plus an additional 128 KiB.
  1194. Platforms which normally make use of ROM-able zImage formats
  1195. normally set this to a suitable value in their defconfig file.
  1196. If ZBOOT_ROM is not enabled, this has no effect.
  1197. config ZBOOT_ROM
  1198. bool "Compressed boot loader in ROM/flash"
  1199. depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
  1200. help
  1201. Say Y here if you intend to execute your compressed kernel image
  1202. (zImage) directly from ROM or flash. If unsure, say N.
  1203. config CMDLINE
  1204. string "Default kernel command string"
  1205. default ""
  1206. help
  1207. On some architectures (EBSA110 and CATS), there is currently no way
  1208. for the boot loader to pass arguments to the kernel. For these
  1209. architectures, you should supply some command-line options at build
  1210. time by entering them here. As a minimum, you should specify the
  1211. memory size and the root device (e.g., mem=64M root=/dev/nfs).
  1212. config XIP_KERNEL
  1213. bool "Kernel Execute-In-Place from ROM"
  1214. depends on !ZBOOT_ROM
  1215. help
  1216. Execute-In-Place allows the kernel to run from non-volatile storage
  1217. directly addressable by the CPU, such as NOR flash. This saves RAM
  1218. space since the text section of the kernel is not loaded from flash
  1219. to RAM. Read-write sections, such as the data section and stack,
  1220. are still copied to RAM. The XIP kernel is not compressed since
  1221. it has to run directly from flash, so it will take more space to
  1222. store it. The flash address used to link the kernel object files,
  1223. and for storing it, is configuration dependent. Therefore, if you
  1224. say Y here, you must know the proper physical address where to
  1225. store the kernel image depending on your own flash memory usage.
  1226. Also note that the make target becomes "make xipImage" rather than
  1227. "make zImage" or "make Image". The final kernel binary to put in
  1228. ROM memory will be arch/arm/boot/xipImage.
  1229. If unsure, say N.
  1230. config XIP_PHYS_ADDR
  1231. hex "XIP Kernel Physical Location"
  1232. depends on XIP_KERNEL
  1233. default "0x00080000"
  1234. help
  1235. This is the physical address in your flash memory the kernel will
  1236. be linked for and stored to. This address is dependent on your
  1237. own flash usage.
  1238. config KEXEC
  1239. bool "Kexec system call (EXPERIMENTAL)"
  1240. depends on EXPERIMENTAL
  1241. help
  1242. kexec is a system call that implements the ability to shutdown your
  1243. current kernel, and to start another kernel. It is like a reboot
  1244. but it is independent of the system firmware. And like a reboot
  1245. you can start any kernel with it, not just Linux.
  1246. It is an ongoing process to be certain the hardware in a machine
  1247. is properly shutdown, so do not be surprised if this code does not
  1248. initially work for you. It may help to enable device hotplugging
  1249. support.
  1250. config ATAGS_PROC
  1251. bool "Export atags in procfs"
  1252. depends on KEXEC
  1253. default y
  1254. help
  1255. Should the atags used to boot the kernel be exported in an "atags"
  1256. file in procfs. Useful with kexec.
  1257. endmenu
  1258. menu "CPU Power Management"
  1259. if ARCH_HAS_CPUFREQ
  1260. source "drivers/cpufreq/Kconfig"
  1261. config CPU_FREQ_SA1100
  1262. bool
  1263. config CPU_FREQ_SA1110
  1264. bool
  1265. config CPU_FREQ_INTEGRATOR
  1266. tristate "CPUfreq driver for ARM Integrator CPUs"
  1267. depends on ARCH_INTEGRATOR && CPU_FREQ
  1268. default y
  1269. help
  1270. This enables the CPUfreq driver for ARM Integrator CPUs.
  1271. For details, take a look at <file:Documentation/cpu-freq>.
  1272. If in doubt, say Y.
  1273. config CPU_FREQ_PXA
  1274. bool
  1275. depends on CPU_FREQ && ARCH_PXA && PXA25x
  1276. default y
  1277. select CPU_FREQ_DEFAULT_GOV_USERSPACE
  1278. config CPU_FREQ_S3C64XX
  1279. bool "CPUfreq support for Samsung S3C64XX CPUs"
  1280. depends on CPU_FREQ && CPU_S3C6410
  1281. config CPU_FREQ_S3C
  1282. bool
  1283. help
  1284. Internal configuration node for common cpufreq on Samsung SoC
  1285. config CPU_FREQ_S3C24XX
  1286. bool "CPUfreq driver for Samsung S3C24XX series CPUs"
  1287. depends on ARCH_S3C2410 && CPU_FREQ && EXPERIMENTAL
  1288. select CPU_FREQ_S3C
  1289. help
  1290. This enables the CPUfreq driver for the Samsung S3C24XX family
  1291. of CPUs.
  1292. For details, take a look at <file:Documentation/cpu-freq>.
  1293. If in doubt, say N.
  1294. config CPU_FREQ_S3C24XX_PLL
  1295. bool "Support CPUfreq changing of PLL frequency"
  1296. depends on CPU_FREQ_S3C24XX && EXPERIMENTAL
  1297. help
  1298. Compile in support for changing the PLL frequency from the
  1299. S3C24XX series CPUfreq driver. The PLL takes time to settle
  1300. after a frequency change, so by default it is not enabled.
  1301. This also means that the PLL tables for the selected CPU(s) will
  1302. be built which may increase the size of the kernel image.
  1303. config CPU_FREQ_S3C24XX_DEBUG
  1304. bool "Debug CPUfreq Samsung driver core"
  1305. depends on CPU_FREQ_S3C24XX
  1306. help
  1307. Enable s3c_freq_dbg for the Samsung S3C CPUfreq core
  1308. config CPU_FREQ_S3C24XX_IODEBUG
  1309. bool "Debug CPUfreq Samsung driver IO timing"
  1310. depends on CPU_FREQ_S3C24XX
  1311. help
  1312. Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core
  1313. config CPU_FREQ_S3C24XX_DEBUGFS
  1314. bool "Export debugfs for CPUFreq"
  1315. depends on CPU_FREQ_S3C24XX && DEBUG_FS
  1316. help
  1317. Export status information via debugfs.
  1318. endif
  1319. source "drivers/cpuidle/Kconfig"
  1320. endmenu
  1321. menu "Floating point emulation"
  1322. comment "At least one emulation must be selected"
  1323. config FPE_NWFPE
  1324. bool "NWFPE math emulation"
  1325. depends on !AEABI || OABI_COMPAT
  1326. ---help---
  1327. Say Y to include the NWFPE floating point emulator in the kernel.
  1328. This is necessary to run most binaries. Linux does not currently
  1329. support floating point hardware so you need to say Y here even if
  1330. your machine has an FPA or floating point co-processor podule.
  1331. You may say N here if you are going to load the Acorn FPEmulator
  1332. early in the bootup.
  1333. config FPE_NWFPE_XP
  1334. bool "Support extended precision"
  1335. depends on FPE_NWFPE
  1336. help
  1337. Say Y to include 80-bit support in the kernel floating-point
  1338. emulator. Otherwise, only 32 and 64-bit support is compiled in.
  1339. Note that gcc does not generate 80-bit operations by default,
  1340. so in most cases this option only enlarges the size of the
  1341. floating point emulator without any good reason.
  1342. You almost surely want to say N here.
  1343. config FPE_FASTFPE
  1344. bool "FastFPE math emulation (EXPERIMENTAL)"
  1345. depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL
  1346. ---help---
  1347. Say Y here to include the FAST floating point emulator in the kernel.
  1348. This is an experimental much faster emulator which now also has full
  1349. precision for the mantissa. It does not support any exceptions.
  1350. It is very simple, and approximately 3-6 times faster than NWFPE.
  1351. It should be sufficient for most programs. It may be not suitable
  1352. for scientific calculations, but you have to check this for yourself.
  1353. If you do not feel you need a faster FP emulation you should better
  1354. choose NWFPE.
  1355. config VFP
  1356. bool "VFP-format floating point maths"
  1357. depends on CPU_V6 || CPU_ARM926T || CPU_V7 || CPU_FEROCEON
  1358. help
  1359. Say Y to include VFP support code in the kernel. This is needed
  1360. if your hardware includes a VFP unit.
  1361. Please see <file:Documentation/arm/VFP/release-notes.txt> for
  1362. release notes and additional status information.
  1363. Say N if your target does not have VFP hardware.
  1364. config VFPv3
  1365. bool
  1366. depends on VFP
  1367. default y if CPU_V7
  1368. config NEON
  1369. bool "Advanced SIMD (NEON) Extension support"
  1370. depends on VFPv3 && CPU_V7
  1371. help
  1372. Say Y to include support code for NEON, the ARMv7 Advanced SIMD
  1373. Extension.
  1374. endmenu
  1375. menu "Userspace binary formats"
  1376. source "fs/Kconfig.binfmt"
  1377. config ARTHUR
  1378. tristate "RISC OS personality"
  1379. depends on !AEABI
  1380. help
  1381. Say Y here to include the kernel code necessary if you want to run
  1382. Acorn RISC OS/Arthur binaries under Linux. This code is still very
  1383. experimental; if this sounds frightening, say N and sleep in peace.
  1384. You can also say M here to compile this support as a module (which
  1385. will be called arthur).
  1386. endmenu
  1387. menu "Power management options"
  1388. source "kernel/power/Kconfig"
  1389. config ARCH_SUSPEND_POSSIBLE
  1390. def_bool y
  1391. endmenu
  1392. source "net/Kconfig"
  1393. source "drivers/Kconfig"
  1394. source "fs/Kconfig"
  1395. source "arch/arm/Kconfig.debug"
  1396. source "security/Kconfig"
  1397. source "crypto/Kconfig"
  1398. source "lib/Kconfig"