Kconfig 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899
  1. # For a description of the syntax of this configuration file,
  2. # see Documentation/kbuild/kconfig-language.txt.
  3. #
  4. mainmenu "Linux/PowerPC Kernel Configuration"
  5. config PPC64
  6. bool "64-bit kernel"
  7. default n
  8. help
  9. This option selects whether a 32-bit or a 64-bit kernel
  10. will be built.
  11. config PPC_PM_NEEDS_RTC_LIB
  12. bool
  13. select RTC_LIB
  14. default y if PM
  15. config PPC32
  16. bool
  17. default y if !PPC64
  18. config 64BIT
  19. bool
  20. default y if PPC64
  21. config PPC_MERGE
  22. def_bool y
  23. config MMU
  24. bool
  25. default y
  26. config GENERIC_HARDIRQS
  27. bool
  28. default y
  29. config IRQ_PER_CPU
  30. bool
  31. default y
  32. config RWSEM_GENERIC_SPINLOCK
  33. bool
  34. config RWSEM_XCHGADD_ALGORITHM
  35. bool
  36. default y
  37. config ARCH_HAS_ILOG2_U32
  38. bool
  39. default y
  40. config ARCH_HAS_ILOG2_U64
  41. bool
  42. default y if 64BIT
  43. config GENERIC_HWEIGHT
  44. bool
  45. default y
  46. config GENERIC_CALIBRATE_DELAY
  47. bool
  48. default y
  49. config GENERIC_FIND_NEXT_BIT
  50. bool
  51. default y
  52. config PPC
  53. bool
  54. default y
  55. config EARLY_PRINTK
  56. bool
  57. default y
  58. config COMPAT
  59. bool
  60. default y if PPC64
  61. config SYSVIPC_COMPAT
  62. bool
  63. depends on COMPAT && SYSVIPC
  64. default y
  65. # All PPC32s use generic nvram driver through ppc_md
  66. config GENERIC_NVRAM
  67. bool
  68. default y if PPC32
  69. config SCHED_NO_NO_OMIT_FRAME_POINTER
  70. bool
  71. default y
  72. config ARCH_MAY_HAVE_PC_FDC
  73. bool
  74. default !PPC_PSERIES || PCI
  75. config PPC_OF
  76. def_bool y
  77. config PPC_UDBG_16550
  78. bool
  79. default n
  80. config GENERIC_TBSYNC
  81. bool
  82. default y if PPC32 && SMP
  83. default n
  84. config AUDIT_ARCH
  85. bool
  86. default y
  87. config GENERIC_BUG
  88. bool
  89. default y
  90. depends on BUG
  91. #
  92. # Powerpc uses the slab allocator to manage its ptes and the
  93. # page structs of ptes are used for splitting the page table
  94. # lock for configurations supporting more than SPLIT_PTLOCK_CPUS.
  95. #
  96. # In that special configuration the page structs of slabs are modified.
  97. # This setting disables the selection of SLUB as a slab allocator.
  98. #
  99. config ARCH_USES_SLAB_PAGE_STRUCT
  100. bool
  101. default y
  102. depends on SPLIT_PTLOCK_CPUS <= NR_CPUS
  103. config DEFAULT_UIMAGE
  104. bool
  105. help
  106. Used to allow a board to specify it wants a uImage built by default
  107. default n
  108. menu "Processor support"
  109. choice
  110. prompt "Processor Type"
  111. depends on PPC32
  112. default 6xx
  113. config CLASSIC32
  114. bool "52xx/6xx/7xx/74xx"
  115. select PPC_FPU
  116. select 6xx
  117. help
  118. There are four families of PowerPC chips supported. The more common
  119. types (601, 603, 604, 740, 750, 7400), the Motorola embedded
  120. versions (821, 823, 850, 855, 860, 52xx, 82xx, 83xx), the AMCC
  121. embedded versions (403 and 405) and the high end 64 bit Power
  122. processors (POWER 3, POWER4, and IBM PPC970 also known as G5).
  123. This option is the catch-all for 6xx types, including some of the
  124. embedded versions. Unless there is see an option for the specific
  125. chip family you are using, you want this option.
  126. You do not want this if you are building a kernel for a 64 bit
  127. IBM RS/6000 or an Apple G5, choose 6xx.
  128. If unsure, select this option
  129. Note that the kernel runs in 32-bit mode even on 64-bit chips.
  130. config PPC_82xx
  131. bool "Freescale 82xx"
  132. select 6xx
  133. select PPC_FPU
  134. config PPC_83xx
  135. bool "Freescale 83xx"
  136. select 6xx
  137. select FSL_SOC
  138. select 83xx
  139. select PPC_FPU
  140. select WANT_DEVICE_TREE
  141. config PPC_85xx
  142. bool "Freescale 85xx"
  143. select E500
  144. select FSL_SOC
  145. select 85xx
  146. select WANT_DEVICE_TREE
  147. config PPC_86xx
  148. bool "Freescale 86xx"
  149. select 6xx
  150. select FSL_SOC
  151. select FSL_PCIE
  152. select PPC_FPU
  153. select ALTIVEC
  154. help
  155. The Freescale E600 SoCs have 74xx cores.
  156. config PPC_8xx
  157. bool "Freescale 8xx"
  158. select FSL_SOC
  159. select 8xx
  160. config 40x
  161. bool "AMCC 40x"
  162. select PPC_DCR_NATIVE
  163. config 44x
  164. bool "AMCC 44x"
  165. select PPC_DCR_NATIVE
  166. config E200
  167. bool "Freescale e200"
  168. endchoice
  169. config POWER4_ONLY
  170. bool "Optimize for POWER4"
  171. depends on PPC64
  172. default n
  173. ---help---
  174. Cause the compiler to optimize for POWER4/POWER5/PPC970 processors.
  175. The resulting binary will not work on POWER3 or RS64 processors
  176. when compiled with binutils 2.15 or later.
  177. config POWER3
  178. bool
  179. depends on PPC64
  180. default y if !POWER4_ONLY
  181. config POWER4
  182. depends on PPC64
  183. def_bool y
  184. config 6xx
  185. bool
  186. # this is temp to handle compat with arch=ppc
  187. config 8xx
  188. bool
  189. # this is temp to handle compat with arch=ppc
  190. config 83xx
  191. bool
  192. # this is temp to handle compat with arch=ppc
  193. config 85xx
  194. bool
  195. config E500
  196. bool
  197. config PPC_FPU
  198. bool
  199. default y if PPC64
  200. config PPC_DCR_NATIVE
  201. bool
  202. default n
  203. config PPC_DCR_MMIO
  204. bool
  205. default n
  206. config PPC_DCR
  207. bool
  208. depends on PPC_DCR_NATIVE || PPC_DCR_MMIO
  209. default y
  210. config PPC_OF_PLATFORM_PCI
  211. bool
  212. depends on PPC64 # not supported on 32 bits yet
  213. default n
  214. config BOOKE
  215. bool
  216. depends on E200 || E500
  217. default y
  218. config FSL_BOOKE
  219. bool
  220. depends on E200 || E500
  221. default y
  222. config PTE_64BIT
  223. bool
  224. depends on 44x || E500
  225. default y if 44x
  226. default y if E500 && PHYS_64BIT
  227. config PHYS_64BIT
  228. bool 'Large physical address support' if E500
  229. depends on 44x || E500
  230. select RESOURCES_64BIT
  231. default y if 44x
  232. ---help---
  233. This option enables kernel support for larger than 32-bit physical
  234. addresses. This features is not be available on all e500 cores.
  235. If in doubt, say N here.
  236. config ALTIVEC
  237. bool "AltiVec Support"
  238. depends on CLASSIC32 || POWER4
  239. ---help---
  240. This option enables kernel support for the Altivec extensions to the
  241. PowerPC processor. The kernel currently supports saving and restoring
  242. altivec registers, and turning on the 'altivec enable' bit so user
  243. processes can execute altivec instructions.
  244. This option is only usefully if you have a processor that supports
  245. altivec (G4, otherwise known as 74xx series), but does not have
  246. any affect on a non-altivec cpu (it does, however add code to the
  247. kernel).
  248. If in doubt, say Y here.
  249. config SPE
  250. bool "SPE Support"
  251. depends on E200 || E500
  252. default y
  253. ---help---
  254. This option enables kernel support for the Signal Processing
  255. Extensions (SPE) to the PowerPC processor. The kernel currently
  256. supports saving and restoring SPE registers, and turning on the
  257. 'spe enable' bit so user processes can execute SPE instructions.
  258. This option is only useful if you have a processor that supports
  259. SPE (e500, otherwise known as 85xx series), but does not have any
  260. effect on a non-spe cpu (it does, however add code to the kernel).
  261. If in doubt, say Y here.
  262. config PPC_STD_MMU
  263. bool
  264. depends on 6xx || POWER3 || POWER4 || PPC64
  265. default y
  266. config PPC_STD_MMU_32
  267. def_bool y
  268. depends on PPC_STD_MMU && PPC32
  269. config VIRT_CPU_ACCOUNTING
  270. bool "Deterministic task and CPU time accounting"
  271. depends on PPC64
  272. default y
  273. help
  274. Select this option to enable more accurate task and CPU time
  275. accounting. This is done by reading a CPU counter on each
  276. kernel entry and exit and on transitions within the kernel
  277. between system, softirq and hardirq state, so there is a
  278. small performance impact. This also enables accounting of
  279. stolen time on logically-partitioned systems running on
  280. IBM POWER5-based machines.
  281. If in doubt, say Y here.
  282. config SMP
  283. depends on PPC_STD_MMU
  284. bool "Symmetric multi-processing support"
  285. ---help---
  286. This enables support for systems with more than one CPU. If you have
  287. a system with only one CPU, say N. If you have a system with more
  288. than one CPU, say Y. Note that the kernel does not currently
  289. support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
  290. since they have inadequate hardware support for multiprocessor
  291. operation.
  292. If you say N here, the kernel will run on single and multiprocessor
  293. machines, but will use only one CPU of a multiprocessor machine. If
  294. you say Y here, the kernel will run on single-processor machines.
  295. On a single-processor machine, the kernel will run faster if you say
  296. N here.
  297. If you don't know what to do here, say N.
  298. config NR_CPUS
  299. int "Maximum number of CPUs (2-128)"
  300. range 2 128
  301. depends on SMP
  302. default "32" if PPC64
  303. default "4"
  304. config NOT_COHERENT_CACHE
  305. bool
  306. depends on 4xx || 8xx || E200
  307. default y
  308. endmenu
  309. source "init/Kconfig"
  310. source "arch/powerpc/platforms/Kconfig"
  311. menu "Kernel options"
  312. config HIGHMEM
  313. bool "High memory support"
  314. depends on PPC32
  315. source kernel/Kconfig.hz
  316. source kernel/Kconfig.preempt
  317. source "fs/Kconfig.binfmt"
  318. # We optimistically allocate largepages from the VM, so make the limit
  319. # large enough (16MB). This badly named config option is actually
  320. # max order + 1
  321. config FORCE_MAX_ZONEORDER
  322. int
  323. depends on PPC64
  324. default "9" if PPC_64K_PAGES
  325. default "13"
  326. config MATH_EMULATION
  327. bool "Math emulation"
  328. depends on 4xx || 8xx || E200 || PPC_MPC832x || E500
  329. ---help---
  330. Some PowerPC chips designed for embedded applications do not have
  331. a floating-point unit and therefore do not implement the
  332. floating-point instructions in the PowerPC instruction set. If you
  333. say Y here, the kernel will include code to emulate a floating-point
  334. unit, which will allow programs that use floating-point
  335. instructions to run.
  336. config IOMMU_VMERGE
  337. bool "Enable IOMMU virtual merging (EXPERIMENTAL)"
  338. depends on EXPERIMENTAL && PPC64
  339. default n
  340. help
  341. Cause IO segments sent to a device for DMA to be merged virtually
  342. by the IOMMU when they happen to have been allocated contiguously.
  343. This doesn't add pressure to the IOMMU allocator. However, some
  344. drivers don't support getting large merged segments coming back
  345. from *_map_sg(). Say Y if you know the drivers you are using are
  346. properly handling this case.
  347. config HOTPLUG_CPU
  348. bool "Support for enabling/disabling CPUs"
  349. depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
  350. ---help---
  351. Say Y here to be able to disable and re-enable individual
  352. CPUs at runtime on SMP machines.
  353. Say N if you are unsure.
  354. config ARCH_ENABLE_MEMORY_HOTPLUG
  355. def_bool y
  356. config KEXEC
  357. bool "kexec system call (EXPERIMENTAL)"
  358. depends on PPC_MULTIPLATFORM && EXPERIMENTAL
  359. help
  360. kexec is a system call that implements the ability to shutdown your
  361. current kernel, and to start another kernel. It is like a reboot
  362. but it is independent of the system firmware. And like a reboot
  363. you can start any kernel with it, not just Linux.
  364. The name comes from the similarity to the exec system call.
  365. It is an ongoing process to be certain the hardware in a machine
  366. is properly shutdown, so do not be surprised if this code does not
  367. initially work for you. It may help to enable device hotplugging
  368. support. As of this writing the exact hardware interface is
  369. strongly in flux, so no good recommendation can be made.
  370. config CRASH_DUMP
  371. bool "Build a kdump crash kernel (EXPERIMENTAL)"
  372. depends on PPC_MULTIPLATFORM && PPC64 && EXPERIMENTAL
  373. help
  374. Build a kernel suitable for use as a kdump capture kernel.
  375. The kernel will be linked at a different address than normal, and
  376. so can only be used for Kdump.
  377. Don't change this unless you know what you are doing.
  378. config PPCBUG_NVRAM
  379. bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
  380. default y if PPC_PREP
  381. config IRQ_ALL_CPUS
  382. bool "Distribute interrupts on all CPUs by default"
  383. depends on SMP && !MV64360
  384. help
  385. This option gives the kernel permission to distribute IRQs across
  386. multiple CPUs. Saying N here will route all IRQs to the first
  387. CPU. Generally saying Y is safe, although some problems have been
  388. reported with SMP Power Macintoshes with this option enabled.
  389. config NUMA
  390. bool "NUMA support"
  391. depends on PPC64
  392. default y if SMP && PPC_PSERIES
  393. config NODES_SHIFT
  394. int
  395. default "4"
  396. depends on NEED_MULTIPLE_NODES
  397. config ARCH_SELECT_MEMORY_MODEL
  398. def_bool y
  399. depends on PPC64
  400. config ARCH_FLATMEM_ENABLE
  401. def_bool y
  402. depends on (PPC64 && !NUMA) || PPC32
  403. config ARCH_SPARSEMEM_ENABLE
  404. def_bool y
  405. depends on PPC64
  406. config ARCH_SPARSEMEM_DEFAULT
  407. def_bool y
  408. depends on (SMP && PPC_PSERIES) || PPC_PS3
  409. config ARCH_POPULATES_NODE_MAP
  410. def_bool y
  411. source "mm/Kconfig"
  412. config ARCH_MEMORY_PROBE
  413. def_bool y
  414. depends on MEMORY_HOTPLUG
  415. # Some NUMA nodes have memory ranges that span
  416. # other nodes. Even though a pfn is valid and
  417. # between a node's start and end pfns, it may not
  418. # reside on that node. See memmap_init_zone()
  419. # for details.
  420. config NODES_SPAN_OTHER_NODES
  421. def_bool y
  422. depends on NEED_MULTIPLE_NODES
  423. config PPC_64K_PAGES
  424. bool "64k page size"
  425. depends on PPC64
  426. help
  427. This option changes the kernel logical page size to 64k. On machines
  428. without processor support for 64k pages, the kernel will simulate
  429. them by loading each individual 4k page on demand transparently,
  430. while on hardware with such support, it will be used to map
  431. normal application pages.
  432. config SCHED_SMT
  433. bool "SMT (Hyperthreading) scheduler support"
  434. depends on PPC64 && SMP
  435. help
  436. SMT scheduler support improves the CPU scheduler's decision making
  437. when dealing with POWER5 cpus at a cost of slightly increased
  438. overhead in some places. If unsure say N here.
  439. config PROC_DEVICETREE
  440. bool "Support for device tree in /proc"
  441. depends on PROC_FS
  442. help
  443. This option adds a device-tree directory under /proc which contains
  444. an image of the device tree that the kernel copies from Open
  445. Firmware or other boot firmware. If unsure, say Y here.
  446. config CMDLINE_BOOL
  447. bool "Default bootloader kernel arguments"
  448. config CMDLINE
  449. string "Initial kernel command string"
  450. depends on CMDLINE_BOOL
  451. default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
  452. help
  453. On some platforms, there is currently no way for the boot loader to
  454. pass arguments to the kernel. For these platforms, you can supply
  455. some command-line options at build time by entering them here. In
  456. most cases you will need to specify the root device here.
  457. if !44x || BROKEN
  458. source kernel/power/Kconfig
  459. endif
  460. config SECCOMP
  461. bool "Enable seccomp to safely compute untrusted bytecode"
  462. depends on PROC_FS
  463. default y
  464. help
  465. This kernel feature is useful for number crunching applications
  466. that may need to compute untrusted bytecode during their
  467. execution. By using pipes or other transports made available to
  468. the process as file descriptors supporting the read/write
  469. syscalls, it's possible to isolate those applications in
  470. their own address space using seccomp. Once seccomp is
  471. enabled via /proc/<pid>/seccomp, it cannot be disabled
  472. and the task is only allowed to execute a few safe syscalls
  473. defined by each seccomp mode.
  474. If unsure, say Y. Only embedded should say N here.
  475. config WANT_DEVICE_TREE
  476. bool
  477. default n
  478. config DEVICE_TREE
  479. string "Static device tree source file"
  480. depends on WANT_DEVICE_TREE
  481. help
  482. This specifies the device tree source (.dts) file to be
  483. compiled and included when building the bootwrapper. If a
  484. relative filename is given, then it will be relative to
  485. arch/powerpc/boot/dts. If you are not using the bootwrapper,
  486. or do not need to build a dts into the bootwrapper, this
  487. field is ignored.
  488. For example, this is required when building a cuImage target
  489. for an older U-Boot, which cannot pass a device tree itself.
  490. Such a kernel will not work with a newer U-Boot that tries to
  491. pass a device tree (unless you tell it not to). If your U-Boot
  492. does not mention a device tree in "help bootm", then use the
  493. cuImage target and specify a device tree here. Otherwise, use
  494. the uImage target and leave this field blank.
  495. endmenu
  496. config ISA_DMA_API
  497. bool
  498. default y
  499. menu "Bus options"
  500. config ISA
  501. bool "Support for ISA-bus hardware"
  502. depends on PPC_PREP || PPC_CHRP
  503. select PPC_I8259
  504. help
  505. Find out whether you have ISA slots on your motherboard. ISA is the
  506. name of a bus system, i.e. the way the CPU talks to the other stuff
  507. inside your box. If you have an Apple machine, say N here; if you
  508. have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If
  509. you have an embedded board, consult your board documentation.
  510. config ZONE_DMA
  511. bool
  512. default y
  513. config GENERIC_ISA_DMA
  514. bool
  515. depends on PPC64 || POWER4 || 6xx && !CPM2
  516. default y
  517. config PPC_INDIRECT_PCI
  518. bool
  519. depends on PCI
  520. default y if 40x || 44x
  521. default n
  522. config PPC_INDIRECT_PCI_BE
  523. bool
  524. depends PPC_INDIRECT_PCI
  525. default n
  526. config EISA
  527. bool
  528. config SBUS
  529. bool
  530. config FSL_SOC
  531. bool
  532. config FSL_PCIE
  533. bool
  534. depends on PPC_86xx
  535. # Yes MCA RS/6000s exist but Linux-PPC does not currently support any
  536. config MCA
  537. bool
  538. config PCI
  539. bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \
  540. || PPC_MPC52xx || (EMBEDDED && (PPC_PSERIES || PPC_ISERIES)) \
  541. || MPC7448HPC2 || PPC_PS3
  542. default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx \
  543. && !PPC_85xx && !PPC_86xx
  544. default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
  545. default PCI_QSPAN if !4xx && !CPM2 && 8xx
  546. help
  547. Find out whether your system includes a PCI bus. PCI is the name of
  548. a bus system, i.e. the way the CPU talks to the other stuff inside
  549. your box. If you say Y here, the kernel will include drivers and
  550. infrastructure code to support PCI bus devices.
  551. config PCI_DOMAINS
  552. bool
  553. default PCI
  554. config PCI_QSPAN
  555. bool "QSpan PCI"
  556. depends on !4xx && !CPM2 && 8xx
  557. select PPC_I8259
  558. help
  559. Say Y here if you have a system based on a Motorola 8xx-series
  560. embedded processor with a QSPAN PCI interface, otherwise say N.
  561. config PCI_8260
  562. bool
  563. depends on PCI && 8260
  564. select PPC_INDIRECT_PCI
  565. default y
  566. config 8260_PCI9
  567. bool "Enable workaround for MPC826x erratum PCI 9"
  568. depends on PCI_8260 && !ADS8272
  569. default y
  570. choice
  571. prompt "IDMA channel for PCI 9 workaround"
  572. depends on 8260_PCI9
  573. config 8260_PCI9_IDMA1
  574. bool "IDMA1"
  575. config 8260_PCI9_IDMA2
  576. bool "IDMA2"
  577. config 8260_PCI9_IDMA3
  578. bool "IDMA3"
  579. config 8260_PCI9_IDMA4
  580. bool "IDMA4"
  581. endchoice
  582. source "drivers/pci/pcie/Kconfig"
  583. source "drivers/pci/Kconfig"
  584. source "drivers/pcmcia/Kconfig"
  585. source "drivers/pci/hotplug/Kconfig"
  586. endmenu
  587. menu "Advanced setup"
  588. depends on PPC32
  589. config ADVANCED_OPTIONS
  590. bool "Prompt for advanced kernel configuration options"
  591. help
  592. This option will enable prompting for a variety of advanced kernel
  593. configuration options. These options can cause the kernel to not
  594. work if they are set incorrectly, but can be used to optimize certain
  595. aspects of kernel memory management.
  596. Unless you know what you are doing, say N here.
  597. comment "Default settings for advanced configuration options are used"
  598. depends on !ADVANCED_OPTIONS
  599. config HIGHMEM_START_BOOL
  600. bool "Set high memory pool address"
  601. depends on ADVANCED_OPTIONS && HIGHMEM
  602. help
  603. This option allows you to set the base address of the kernel virtual
  604. area used to map high memory pages. This can be useful in
  605. optimizing the layout of kernel virtual memory.
  606. Say N here unless you know what you are doing.
  607. config HIGHMEM_START
  608. hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
  609. default "0xfe000000"
  610. config LOWMEM_SIZE_BOOL
  611. bool "Set maximum low memory"
  612. depends on ADVANCED_OPTIONS
  613. help
  614. This option allows you to set the maximum amount of memory which
  615. will be used as "low memory", that is, memory which the kernel can
  616. access directly, without having to set up a kernel virtual mapping.
  617. This can be useful in optimizing the layout of kernel virtual
  618. memory.
  619. Say N here unless you know what you are doing.
  620. config LOWMEM_SIZE
  621. hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
  622. default "0x30000000"
  623. config KERNEL_START_BOOL
  624. bool "Set custom kernel base address"
  625. depends on ADVANCED_OPTIONS
  626. help
  627. This option allows you to set the kernel virtual address at which
  628. the kernel will map low memory (the kernel image will be linked at
  629. this address). This can be useful in optimizing the virtual memory
  630. layout of the system.
  631. Say N here unless you know what you are doing.
  632. config KERNEL_START
  633. hex "Virtual address of kernel base" if KERNEL_START_BOOL
  634. default "0xc0000000"
  635. config TASK_SIZE_BOOL
  636. bool "Set custom user task size"
  637. depends on ADVANCED_OPTIONS
  638. help
  639. This option allows you to set the amount of virtual address space
  640. allocated to user tasks. This can be useful in optimizing the
  641. virtual memory layout of the system.
  642. Say N here unless you know what you are doing.
  643. config TASK_SIZE
  644. hex "Size of user task space" if TASK_SIZE_BOOL
  645. default "0x80000000"
  646. config CONSISTENT_START_BOOL
  647. bool "Set custom consistent memory pool address"
  648. depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
  649. help
  650. This option allows you to set the base virtual address
  651. of the consistent memory pool. This pool of virtual
  652. memory is used to make consistent memory allocations.
  653. config CONSISTENT_START
  654. hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
  655. default "0xff100000" if NOT_COHERENT_CACHE
  656. config CONSISTENT_SIZE_BOOL
  657. bool "Set custom consistent memory pool size"
  658. depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
  659. help
  660. This option allows you to set the size of the
  661. consistent memory pool. This pool of virtual memory
  662. is used to make consistent memory allocations.
  663. config CONSISTENT_SIZE
  664. hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
  665. default "0x00200000" if NOT_COHERENT_CACHE
  666. config BOOT_LOAD_BOOL
  667. bool "Set the boot link/load address"
  668. depends on ADVANCED_OPTIONS && !PPC_MULTIPLATFORM
  669. help
  670. This option allows you to set the initial load address of the zImage
  671. or zImage.initrd file. This can be useful if you are on a board
  672. which has a small amount of memory.
  673. Say N here unless you know what you are doing.
  674. config BOOT_LOAD
  675. hex "Link/load address for booting" if BOOT_LOAD_BOOL
  676. default "0x00400000" if 40x || 8xx || 8260
  677. default "0x01000000" if 44x
  678. default "0x00800000"
  679. config PIN_TLB
  680. bool "Pinned Kernel TLBs (860 ONLY)"
  681. depends on ADVANCED_OPTIONS && 8xx
  682. endmenu
  683. if PPC64
  684. config KERNEL_START
  685. hex
  686. default "0xc000000000000000"
  687. endif
  688. source "net/Kconfig"
  689. source "drivers/Kconfig"
  690. source "fs/Kconfig"
  691. # XXX source "arch/ppc/8xx_io/Kconfig"
  692. # XXX source "arch/ppc/8260_io/Kconfig"
  693. source "arch/powerpc/sysdev/qe_lib/Kconfig"
  694. source "lib/Kconfig"
  695. menu "Instrumentation Support"
  696. depends on EXPERIMENTAL
  697. source "arch/powerpc/oprofile/Kconfig"
  698. config KPROBES
  699. bool "Kprobes (EXPERIMENTAL)"
  700. depends on !BOOKE && !4xx && KALLSYMS && EXPERIMENTAL && MODULES
  701. help
  702. Kprobes allows you to trap at almost any kernel address and
  703. execute a callback function. register_kprobe() establishes
  704. a probepoint and specifies the callback. Kprobes is useful
  705. for kernel debugging, non-intrusive instrumentation and testing.
  706. If in doubt, say "N".
  707. endmenu
  708. source "arch/powerpc/Kconfig.debug"
  709. source "security/Kconfig"
  710. config KEYS_COMPAT
  711. bool
  712. depends on COMPAT && KEYS
  713. default y
  714. source "crypto/Kconfig"