linux/arch/powerpc/Kconfig
<<
>>
Prefs
   1source "arch/powerpc/platforms/Kconfig.cputype"
   2
   3config PPC32
   4        bool
   5        default y if !PPC64
   6
   7config 32BIT
   8        bool
   9        default y if PPC32
  10
  11config 64BIT
  12        bool
  13        default y if PPC64
  14
  15config WORD_SIZE
  16        int
  17        default 64 if PPC64
  18        default 32 if !PPC64
  19
  20config ARCH_PHYS_ADDR_T_64BIT
  21       def_bool PPC64 || PHYS_64BIT
  22
  23config ARCH_DMA_ADDR_T_64BIT
  24        def_bool ARCH_PHYS_ADDR_T_64BIT
  25
  26config MMU
  27        bool
  28        default y
  29
  30config GENERIC_CMOS_UPDATE
  31        def_bool y
  32
  33config GENERIC_TIME_VSYSCALL
  34        def_bool y
  35
  36config GENERIC_CLOCKEVENTS
  37        def_bool y
  38
  39config HAVE_SETUP_PER_CPU_AREA
  40        def_bool PPC64
  41
  42config NEED_PER_CPU_EMBED_FIRST_CHUNK
  43        def_bool PPC64
  44
  45config NR_IRQS
  46        int "Number of virtual interrupt numbers"
  47        range 32 32768
  48        default "512"
  49        help
  50          This defines the number of virtual interrupt numbers the kernel
  51          can manage. Virtual interrupt numbers are what you see in
  52          /proc/interrupts. If you configure your system to have too few,
  53          drivers will fail to load or worse - handle with care.
  54
  55config STACKTRACE_SUPPORT
  56        bool
  57        default y
  58
  59config HAVE_LATENCYTOP_SUPPORT
  60        def_bool y
  61
  62config TRACE_IRQFLAGS_SUPPORT
  63        bool
  64        default y
  65
  66config LOCKDEP_SUPPORT
  67        bool
  68        default y
  69
  70config RWSEM_GENERIC_SPINLOCK
  71        bool
  72
  73config RWSEM_XCHGADD_ALGORITHM
  74        bool
  75        default y
  76
  77config GENERIC_LOCKBREAK
  78        bool
  79        default y
  80        depends on SMP && PREEMPT
  81
  82config ARCH_HAS_ILOG2_U32
  83        bool
  84        default y
  85
  86config ARCH_HAS_ILOG2_U64
  87        bool
  88        default y if 64BIT
  89
  90config GENERIC_HWEIGHT
  91        bool
  92        default y
  93
  94config GENERIC_FIND_NEXT_BIT
  95        bool
  96        default y
  97
  98config GENERIC_GPIO
  99        bool
 100        help
 101          Generic GPIO API support
 102
 103config ARCH_NO_VIRT_TO_BUS
 104        def_bool PPC64
 105
 106config PPC
 107        bool
 108        default y
 109        select OF
 110        select OF_EARLY_FLATTREE
 111        select HAVE_FTRACE_MCOUNT_RECORD
 112        select HAVE_DYNAMIC_FTRACE
 113        select HAVE_FUNCTION_TRACER
 114        select HAVE_FUNCTION_GRAPH_TRACER
 115        select ARCH_WANT_OPTIONAL_GPIOLIB
 116        select HAVE_IDE
 117        select HAVE_IOREMAP_PROT
 118        select HAVE_EFFICIENT_UNALIGNED_ACCESS
 119        select HAVE_KPROBES
 120        select HAVE_ARCH_KGDB
 121        select HAVE_KRETPROBES
 122        select HAVE_ARCH_TRACEHOOK
 123        select HAVE_MEMBLOCK
 124        select HAVE_DMA_ATTRS
 125        select HAVE_DMA_API_DEBUG
 126        select USE_GENERIC_SMP_HELPERS if SMP
 127        select HAVE_OPROFILE
 128        select HAVE_SYSCALL_WRAPPERS if PPC64
 129        select GENERIC_ATOMIC64 if PPC32
 130        select HAVE_IRQ_WORK
 131        select HAVE_PERF_EVENTS
 132        select HAVE_REGS_AND_STACK_ACCESS_API
 133        select HAVE_HW_BREAKPOINT if PERF_EVENTS && PPC_BOOK3S_64
 134        select HAVE_GENERIC_HARDIRQS
 135        select HAVE_SPARSE_IRQ
 136        select IRQ_PER_CPU
 137
 138config EARLY_PRINTK
 139        bool
 140        default y
 141
 142config COMPAT
 143        bool
 144        default y if PPC64
 145        select COMPAT_BINFMT_ELF
 146
 147config SYSVIPC_COMPAT
 148        bool
 149        depends on COMPAT && SYSVIPC
 150        default y
 151
 152# All PPC32s use generic nvram driver through ppc_md
 153config GENERIC_NVRAM
 154        bool
 155        default y if PPC32
 156
 157config SCHED_OMIT_FRAME_POINTER
 158        bool
 159        default y
 160
 161config ARCH_MAY_HAVE_PC_FDC
 162        bool
 163        default !PPC_PSERIES || PCI
 164
 165config PPC_OF
 166        def_bool y
 167
 168config PPC_UDBG_16550
 169        bool
 170        default n
 171
 172config GENERIC_TBSYNC
 173        bool
 174        default y if PPC32 && SMP
 175        default n
 176
 177config AUDIT_ARCH
 178        bool
 179        default y
 180
 181config GENERIC_BUG
 182        bool
 183        default y
 184        depends on BUG
 185
 186config SYS_SUPPORTS_APM_EMULATION
 187        default y if PMAC_APM_EMU
 188        bool
 189
 190config DEFAULT_UIMAGE
 191        bool
 192        help
 193          Used to allow a board to specify it wants a uImage built by default
 194        default n
 195
 196config REDBOOT
 197        bool
 198
 199config ARCH_HIBERNATION_POSSIBLE
 200        bool
 201        default y
 202
 203config ARCH_SUSPEND_POSSIBLE
 204        def_bool y
 205        depends on ADB_PMU || PPC_EFIKA || PPC_LITE5200 || PPC_83xx || \
 206                   PPC_85xx || PPC_86xx || PPC_PSERIES || 44x || 40x
 207
 208config PPC_DCR_NATIVE
 209        bool
 210        default n
 211
 212config PPC_DCR_MMIO
 213        bool
 214        default n
 215
 216config PPC_DCR
 217        bool
 218        depends on PPC_DCR_NATIVE || PPC_DCR_MMIO
 219        default y
 220
 221config PPC_OF_PLATFORM_PCI
 222        bool
 223        depends on PCI
 224        depends on PPC64 # not supported on 32 bits yet
 225        default n
 226
 227config ARCH_SUPPORTS_DEBUG_PAGEALLOC
 228        def_bool y
 229
 230config PPC_ADV_DEBUG_REGS
 231        bool
 232        depends on 40x || BOOKE
 233        default y
 234
 235config PPC_ADV_DEBUG_IACS
 236        int
 237        depends on PPC_ADV_DEBUG_REGS
 238        default 4 if 44x
 239        default 2
 240
 241config PPC_ADV_DEBUG_DACS
 242        int
 243        depends on PPC_ADV_DEBUG_REGS
 244        default 2
 245
 246config PPC_ADV_DEBUG_DVCS
 247        int
 248        depends on PPC_ADV_DEBUG_REGS
 249        default 2 if 44x
 250        default 0
 251
 252config PPC_ADV_DEBUG_DAC_RANGE
 253        bool
 254        depends on PPC_ADV_DEBUG_REGS && 44x
 255        default y
 256
 257source "init/Kconfig"
 258
 259source "kernel/Kconfig.freezer"
 260
 261source "arch/powerpc/sysdev/Kconfig"
 262source "arch/powerpc/platforms/Kconfig"
 263
 264menu "Kernel options"
 265
 266config HIGHMEM
 267        bool "High memory support"
 268        depends on PPC32
 269
 270source kernel/time/Kconfig
 271source kernel/Kconfig.hz
 272source kernel/Kconfig.preempt
 273source "fs/Kconfig.binfmt"
 274
 275config HUGETLB_PAGE_SIZE_VARIABLE
 276        bool
 277        depends on HUGETLB_PAGE
 278        default y
 279
 280config MATH_EMULATION
 281        bool "Math emulation"
 282        depends on 4xx || 8xx || E200 || PPC_MPC832x || E500
 283        ---help---
 284          Some PowerPC chips designed for embedded applications do not have
 285          a floating-point unit and therefore do not implement the
 286          floating-point instructions in the PowerPC instruction set.  If you
 287          say Y here, the kernel will include code to emulate a floating-point
 288          unit, which will allow programs that use floating-point
 289          instructions to run.
 290
 291config 8XX_MINIMAL_FPEMU
 292        bool "Minimal math emulation for 8xx"
 293        depends on 8xx && !MATH_EMULATION
 294        help
 295          Older arch/ppc kernels still emulated a few floating point
 296          instructions such as load and store, even when full math
 297          emulation is disabled.  Say "Y" here if you want to preserve
 298          this behavior.
 299
 300          It is recommended that you build a soft-float userspace instead.
 301
 302config IOMMU_HELPER
 303        def_bool PPC64
 304
 305config SWIOTLB
 306        bool "SWIOTLB support"
 307        default n
 308        select IOMMU_HELPER
 309        ---help---
 310          Support for IO bounce buffering for systems without an IOMMU.
 311          This allows us to DMA to the full physical address space on
 312          platforms where the size of a physical address is larger
 313          than the bus address.  Not all platforms support this.
 314
 315config HOTPLUG_CPU
 316        bool "Support for enabling/disabling CPUs"
 317        depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
 318        ---help---
 319          Say Y here to be able to disable and re-enable individual
 320          CPUs at runtime on SMP machines.
 321
 322          Say N if you are unsure.
 323
 324config ARCH_CPU_PROBE_RELEASE
 325        def_bool y
 326        depends on HOTPLUG_CPU
 327
 328config ARCH_ENABLE_MEMORY_HOTPLUG
 329        def_bool y
 330
 331config ARCH_HAS_WALK_MEMORY
 332        def_bool y
 333
 334config ARCH_ENABLE_MEMORY_HOTREMOVE
 335        def_bool y
 336
 337config KEXEC
 338        bool "kexec system call (EXPERIMENTAL)"
 339        depends on (PPC_BOOK3S || FSL_BOOKE) && EXPERIMENTAL
 340        help
 341          kexec is a system call that implements the ability to shutdown your
 342          current kernel, and to start another kernel.  It is like a reboot
 343          but it is independent of the system firmware.   And like a reboot
 344          you can start any kernel with it, not just Linux.
 345
 346          The name comes from the similarity to the exec system call.
 347
 348          It is an ongoing process to be certain the hardware in a machine
 349          is properly shutdown, so do not be surprised if this code does not
 350          initially work for you.  It may help to enable device hotplugging
 351          support.  As of this writing the exact hardware interface is
 352          strongly in flux, so no good recommendation can be made.
 353
 354config CRASH_DUMP
 355        bool "Build a kdump crash kernel"
 356        depends on PPC64 || 6xx || FSL_BOOKE
 357        select RELOCATABLE if PPC64 || FSL_BOOKE
 358        help
 359          Build a kernel suitable for use as a kdump capture kernel.
 360          The same kernel binary can be used as production kernel and dump
 361          capture kernel.
 362
 363config PHYP_DUMP
 364        bool "Hypervisor-assisted dump (EXPERIMENTAL)"
 365        depends on PPC_PSERIES && EXPERIMENTAL
 366        help
 367          Hypervisor-assisted dump is meant to be a kdump replacement
 368          offering robustness and speed not possible without system
 369          hypervisor assistance.
 370
 371          If unsure, say "N"
 372
 373config PPCBUG_NVRAM
 374        bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
 375        default y if PPC_PREP
 376
 377config IRQ_ALL_CPUS
 378        bool "Distribute interrupts on all CPUs by default"
 379        depends on SMP && !MV64360
 380        help
 381          This option gives the kernel permission to distribute IRQs across
 382          multiple CPUs.  Saying N here will route all IRQs to the first
 383          CPU.  Generally saying Y is safe, although some problems have been
 384          reported with SMP Power Macintoshes with this option enabled.
 385
 386config NUMA
 387        bool "NUMA support"
 388        depends on PPC64
 389        default y if SMP && PPC_PSERIES
 390
 391config NODES_SHIFT
 392        int
 393        default "8" if PPC64
 394        default "4"
 395        depends on NEED_MULTIPLE_NODES
 396
 397config MAX_ACTIVE_REGIONS
 398        int
 399        default "256" if PPC64
 400        default "32"
 401
 402config ARCH_SELECT_MEMORY_MODEL
 403        def_bool y
 404        depends on PPC64
 405
 406config ARCH_FLATMEM_ENABLE
 407        def_bool y
 408        depends on (PPC64 && !NUMA) || PPC32
 409
 410config ARCH_SPARSEMEM_ENABLE
 411        def_bool y
 412        depends on PPC64
 413        select SPARSEMEM_VMEMMAP_ENABLE
 414
 415config ARCH_SPARSEMEM_DEFAULT
 416        def_bool y
 417        depends on (SMP && PPC_PSERIES) || PPC_PS3
 418
 419config ARCH_POPULATES_NODE_MAP
 420        def_bool y
 421
 422config SYS_SUPPORTS_HUGETLBFS
 423       def_bool y
 424       depends on PPC_BOOK3S_64
 425
 426source "mm/Kconfig"
 427
 428config ARCH_MEMORY_PROBE
 429        def_bool y
 430        depends on MEMORY_HOTPLUG
 431
 432# Some NUMA nodes have memory ranges that span
 433# other nodes.  Even though a pfn is valid and
 434# between a node's start and end pfns, it may not
 435# reside on that node.  See memmap_init_zone()
 436# for details.
 437config NODES_SPAN_OTHER_NODES
 438        def_bool y
 439        depends on NEED_MULTIPLE_NODES
 440
 441config PPC_HAS_HASH_64K
 442        bool
 443        depends on PPC64
 444        default n
 445
 446config STDBINUTILS
 447        bool "Using standard binutils settings"
 448        depends on 44x
 449        default y
 450        help
 451          Turning this option off allows you to select 256KB PAGE_SIZE on 44x.
 452          Note, that kernel will be able to run only those applications,
 453          which had been compiled using binutils later than 2.17.50.0.3 with
 454          '-zmax-page-size' set to 256K (the default is 64K). Or, if using
 455          the older binutils, you can patch them with a trivial patch, which
 456          changes the ELF_MAXPAGESIZE definition from 0x10000 to 0x40000.
 457
 458choice
 459        prompt "Page size"
 460        default PPC_4K_PAGES
 461        help
 462          Select the kernel logical page size. Increasing the page size
 463          will reduce software overhead at each page boundary, allow
 464          hardware prefetch mechanisms to be more effective, and allow
 465          larger dma transfers increasing IO efficiency and reducing
 466          overhead. However the utilization of memory will increase.
 467          For example, each cached file will using a multiple of the
 468          page size to hold its contents and the difference between the
 469          end of file and the end of page is wasted.
 470
 471          Some dedicated systems, such as software raid serving with
 472          accelerated calculations, have shown significant increases.
 473
 474          If you configure a 64 bit kernel for 64k pages but the
 475          processor does not support them, then the kernel will simulate
 476          them with 4k pages, loading them on demand, but with the
 477          reduced software overhead and larger internal fragmentation.
 478          For the 32 bit kernel, a large page option will not be offered
 479          unless it is supported by the configured processor.
 480
 481          If unsure, choose 4K_PAGES.
 482
 483config PPC_4K_PAGES
 484        bool "4k page size"
 485
 486config PPC_16K_PAGES
 487        bool "16k page size" if 44x
 488
 489config PPC_64K_PAGES
 490        bool "64k page size" if 44x || PPC_STD_MMU_64 || PPC_BOOK3E_64
 491        select PPC_HAS_HASH_64K if PPC_STD_MMU_64
 492
 493config PPC_256K_PAGES
 494        bool "256k page size" if 44x
 495        depends on !STDBINUTILS
 496        help
 497          Make the page size 256k.
 498
 499          As the ELF standard only requires alignment to support page
 500          sizes up to 64k, you will need to compile all of your user
 501          space applications with a non-standard binutils settings
 502          (see the STDBINUTILS description for details).
 503
 504          Say N unless you know what you are doing.
 505
 506endchoice
 507
 508config FORCE_MAX_ZONEORDER
 509        int "Maximum zone order"
 510        range 9 64 if PPC64 && PPC_64K_PAGES
 511        default "9" if PPC64 && PPC_64K_PAGES
 512        range 13 64 if PPC64 && !PPC_64K_PAGES
 513        default "13" if PPC64 && !PPC_64K_PAGES
 514        range 9 64 if PPC32 && PPC_16K_PAGES
 515        default "9" if PPC32 && PPC_16K_PAGES
 516        range 7 64 if PPC32 && PPC_64K_PAGES
 517        default "7" if PPC32 && PPC_64K_PAGES
 518        range 5 64 if PPC32 && PPC_256K_PAGES
 519        default "5" if PPC32 && PPC_256K_PAGES
 520        range 11 64
 521        default "11"
 522        help
 523          The kernel memory allocator divides physically contiguous memory
 524          blocks into "zones", where each zone is a power of two number of
 525          pages.  This option selects the largest power of two that the kernel
 526          keeps in the memory allocator.  If you need to allocate very large
 527          blocks of physically contiguous memory, then you may need to
 528          increase this value.
 529
 530          This config option is actually maximum order plus one. For example,
 531          a value of 11 means that the largest free memory block is 2^10 pages.
 532
 533          The page size is not necessarily 4KB.  For example, on 64-bit
 534          systems, 64KB pages can be enabled via CONFIG_PPC_64K_PAGES.  Keep
 535          this in mind when choosing a value for this option.
 536
 537config PPC_SUBPAGE_PROT
 538        bool "Support setting protections for 4k subpages"
 539        depends on PPC_STD_MMU_64 && PPC_64K_PAGES
 540        help
 541          This option adds support for a system call to allow user programs
 542          to set access permissions (read/write, readonly, or no access)
 543          on the 4k subpages of each 64k page.
 544
 545config SCHED_SMT
 546        bool "SMT (Hyperthreading) scheduler support"
 547        depends on PPC64 && SMP
 548        help
 549          SMT scheduler support improves the CPU scheduler's decision making
 550          when dealing with POWER5 cpus at a cost of slightly increased
 551          overhead in some places. If unsure say N here.
 552
 553config CMDLINE_BOOL
 554        bool "Default bootloader kernel arguments"
 555
 556config CMDLINE
 557        string "Initial kernel command string"
 558        depends on CMDLINE_BOOL
 559        default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
 560        help
 561          On some platforms, there is currently no way for the boot loader to
 562          pass arguments to the kernel. For these platforms, you can supply
 563          some command-line options at build time by entering them here.  In
 564          most cases you will need to specify the root device here.
 565
 566config EXTRA_TARGETS
 567        string "Additional default image types"
 568        help
 569          List additional targets to be built by the bootwrapper here (separated
 570          by spaces).  This is useful for targets that depend of device tree
 571          files in the .dts directory.
 572
 573          Targets in this list will be build as part of the default build
 574          target, or when the user does a 'make zImage' or a
 575          'make zImage.initrd'.
 576
 577          If unsure, leave blank
 578
 579config ARCH_WANTS_FREEZER_CONTROL
 580        def_bool y
 581        depends on ADB_PMU
 582
 583source kernel/power/Kconfig
 584
 585config SECCOMP
 586        bool "Enable seccomp to safely compute untrusted bytecode"
 587        depends on PROC_FS
 588        default y
 589        help
 590          This kernel feature is useful for number crunching applications
 591          that may need to compute untrusted bytecode during their
 592          execution. By using pipes or other transports made available to
 593          the process as file descriptors supporting the read/write
 594          syscalls, it's possible to isolate those applications in
 595          their own address space using seccomp. Once seccomp is
 596          enabled via /proc/<pid>/seccomp, it cannot be disabled
 597          and the task is only allowed to execute a few safe syscalls
 598          defined by each seccomp mode.
 599
 600          If unsure, say Y. Only embedded should say N here.
 601
 602endmenu
 603
 604config ISA_DMA_API
 605        bool
 606        default !PPC_ISERIES || PCI
 607
 608menu "Bus options"
 609
 610config ISA
 611        bool "Support for ISA-bus hardware"
 612        depends on PPC_PREP || PPC_CHRP
 613        select PPC_I8259
 614        help
 615          Find out whether you have ISA slots on your motherboard.  ISA is the
 616          name of a bus system, i.e. the way the CPU talks to the other stuff
 617          inside your box.  If you have an Apple machine, say N here; if you
 618          have an IBM RS/6000 or pSeries machine or a PReP machine, say Y.  If
 619          you have an embedded board, consult your board documentation.
 620
 621config ZONE_DMA
 622        bool
 623        default y
 624
 625config NEED_DMA_MAP_STATE
 626        def_bool (PPC64 || NOT_COHERENT_CACHE)
 627
 628config NEED_SG_DMA_LENGTH
 629        def_bool y
 630
 631config GENERIC_ISA_DMA
 632        bool
 633        depends on ISA_DMA_API
 634        default y
 635
 636config PPC_INDIRECT_PCI
 637        bool
 638        depends on PCI
 639        default y if 40x || 44x
 640        default n
 641
 642config EISA
 643        bool
 644
 645config SBUS
 646        bool
 647
 648config FSL_SOC
 649        bool
 650
 651config FSL_PCI
 652        bool
 653        select PPC_INDIRECT_PCI
 654        select PCI_QUIRKS
 655
 656config FSL_PMC
 657        bool
 658        default y
 659        depends on SUSPEND && (PPC_85xx || PPC_86xx)
 660        help
 661          Freescale MPC85xx/MPC86xx power management controller support
 662          (suspend/resume). For MPC83xx see platforms/83xx/suspend.c
 663
 664config PPC4xx_CPM
 665        bool
 666        default y
 667        depends on SUSPEND && (44x || 40x)
 668        help
 669          PPC4xx Clock Power Management (CPM) support (suspend/resume).
 670          It also enables support for two different idle states (idle-wait
 671          and idle-doze).
 672
 673config 4xx_SOC
 674        bool
 675
 676config FSL_LBC
 677        bool "Freescale Local Bus support"
 678        depends on FSL_SOC
 679        help
 680          Enables reporting of errors from the Freescale local bus
 681          controller.  Also contains some common code used by
 682          drivers for specific local bus peripherals.
 683
 684config FSL_GTM
 685        bool
 686        depends on PPC_83xx || QUICC_ENGINE || CPM2
 687        help
 688          Freescale General-purpose Timers support
 689
 690# Yes MCA RS/6000s exist but Linux-PPC does not currently support any
 691config MCA
 692        bool
 693
 694# Platforms that what PCI turned unconditionally just do select PCI
 695# in their config node.  Platforms that want to choose at config
 696# time should select PPC_PCI_CHOICE
 697config PPC_PCI_CHOICE
 698        bool
 699
 700config PCI
 701        bool "PCI support" if PPC_PCI_CHOICE
 702        default y if !40x && !CPM2 && !8xx && !PPC_83xx \
 703                && !PPC_85xx && !PPC_86xx && !GAMECUBE_COMMON
 704        default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
 705        default PCI_QSPAN if !4xx && !CPM2 && 8xx
 706        select ARCH_SUPPORTS_MSI
 707        help
 708          Find out whether your system includes a PCI bus. PCI is the name of
 709          a bus system, i.e. the way the CPU talks to the other stuff inside
 710          your box.  If you say Y here, the kernel will include drivers and
 711          infrastructure code to support PCI bus devices.
 712
 713config PCI_DOMAINS
 714        def_bool PCI
 715
 716config PCI_SYSCALL
 717        def_bool PCI
 718
 719config PCI_QSPAN
 720        bool "QSpan PCI"
 721        depends on !4xx && !CPM2 && 8xx
 722        select PPC_I8259
 723        help
 724          Say Y here if you have a system based on a Motorola 8xx-series
 725          embedded processor with a QSPAN PCI interface, otherwise say N.
 726
 727config PCI_8260
 728        bool
 729        depends on PCI && 8260
 730        select PPC_INDIRECT_PCI
 731        default y
 732
 733config 8260_PCI9
 734        bool "Enable workaround for MPC826x erratum PCI 9"
 735        depends on PCI_8260 && !8272
 736        default y
 737
 738choice
 739        prompt "IDMA channel for PCI 9 workaround"
 740        depends on 8260_PCI9
 741
 742config 8260_PCI9_IDMA1
 743        bool "IDMA1"
 744
 745config 8260_PCI9_IDMA2
 746        bool "IDMA2"
 747
 748config 8260_PCI9_IDMA3
 749        bool "IDMA3"
 750
 751config 8260_PCI9_IDMA4
 752        bool "IDMA4"
 753
 754endchoice
 755
 756source "drivers/pci/pcie/Kconfig"
 757
 758source "drivers/pci/Kconfig"
 759
 760source "drivers/pcmcia/Kconfig"
 761
 762source "drivers/pci/hotplug/Kconfig"
 763
 764config HAS_RAPIDIO
 765        bool
 766        default n
 767
 768config RAPIDIO
 769        bool "RapidIO support"
 770        depends on HAS_RAPIDIO
 771        help
 772          If you say Y here, the kernel will include drivers and
 773          infrastructure code to support RapidIO interconnect devices.
 774
 775source "drivers/rapidio/Kconfig"
 776
 777endmenu
 778
 779menu "Advanced setup"
 780        depends on PPC32
 781
 782config ADVANCED_OPTIONS
 783        bool "Prompt for advanced kernel configuration options"
 784        help
 785          This option will enable prompting for a variety of advanced kernel
 786          configuration options.  These options can cause the kernel to not
 787          work if they are set incorrectly, but can be used to optimize certain
 788          aspects of kernel memory management.
 789
 790          Unless you know what you are doing, say N here.
 791
 792comment "Default settings for advanced configuration options are used"
 793        depends on !ADVANCED_OPTIONS
 794
 795config LOWMEM_SIZE_BOOL
 796        bool "Set maximum low memory"
 797        depends on ADVANCED_OPTIONS
 798        help
 799          This option allows you to set the maximum amount of memory which
 800          will be used as "low memory", that is, memory which the kernel can
 801          access directly, without having to set up a kernel virtual mapping.
 802          This can be useful in optimizing the layout of kernel virtual
 803          memory.
 804
 805          Say N here unless you know what you are doing.
 806
 807config LOWMEM_SIZE
 808        hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
 809        default "0x30000000"
 810
 811config LOWMEM_CAM_NUM_BOOL
 812        bool "Set number of CAMs to use to map low memory"
 813        depends on ADVANCED_OPTIONS && FSL_BOOKE
 814        help
 815          This option allows you to set the maximum number of CAM slots that
 816          will be used to map low memory.  There are a limited number of slots
 817          available and even more limited number that will fit in the L1 MMU.
 818          However, using more entries will allow mapping more low memory.  This
 819          can be useful in optimizing the layout of kernel virtual memory.
 820
 821          Say N here unless you know what you are doing.
 822
 823config LOWMEM_CAM_NUM
 824        depends on FSL_BOOKE
 825        int "Number of CAMs to use to map low memory" if LOWMEM_CAM_NUM_BOOL
 826        default 3
 827
 828config RELOCATABLE
 829        bool "Build a relocatable kernel (EXPERIMENTAL)"
 830        depends on EXPERIMENTAL && ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE
 831        help
 832          This builds a kernel image that is capable of running at the
 833          location the kernel is loaded at (some alignment restrictions may
 834          exist).
 835
 836          One use is for the kexec on panic case where the recovery kernel
 837          must live at a different physical address than the primary
 838          kernel.
 839
 840          Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address
 841          it has been loaded at and the compile time physical addresses
 842          CONFIG_PHYSICAL_START is ignored.  However CONFIG_PHYSICAL_START
 843          setting can still be useful to bootwrappers that need to know the
 844          load location of the kernel (eg. u-boot/mkimage).
 845
 846config PAGE_OFFSET_BOOL
 847        bool "Set custom page offset address"
 848        depends on ADVANCED_OPTIONS
 849        help
 850          This option allows you to set the kernel virtual address at which
 851          the kernel will map low memory.  This can be useful in optimizing
 852          the virtual memory layout of the system.
 853
 854          Say N here unless you know what you are doing.
 855
 856config PAGE_OFFSET
 857        hex "Virtual address of memory base" if PAGE_OFFSET_BOOL
 858        default "0xc0000000"
 859
 860config KERNEL_START_BOOL
 861        bool "Set custom kernel base address"
 862        depends on ADVANCED_OPTIONS
 863        help
 864          This option allows you to set the kernel virtual address at which
 865          the kernel will be loaded.  Normally this should match PAGE_OFFSET
 866          however there are times (like kdump) that one might not want them
 867          to be the same.
 868
 869          Say N here unless you know what you are doing.
 870
 871config KERNEL_START
 872        hex "Virtual address of kernel base" if KERNEL_START_BOOL
 873        default PAGE_OFFSET if PAGE_OFFSET_BOOL
 874        default "0xc2000000" if CRASH_DUMP && !RELOCATABLE
 875        default "0xc0000000"
 876
 877config PHYSICAL_START_BOOL
 878        bool "Set physical address where the kernel is loaded"
 879        depends on ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE
 880        help
 881          This gives the physical address where the kernel is loaded.
 882
 883          Say N here unless you know what you are doing.
 884
 885config PHYSICAL_START
 886        hex "Physical address where the kernel is loaded" if PHYSICAL_START_BOOL
 887        default "0x02000000" if PPC_STD_MMU && CRASH_DUMP && !RELOCATABLE
 888        default "0x00000000"
 889
 890config PHYSICAL_ALIGN
 891        hex
 892        default "0x04000000" if FSL_BOOKE
 893        help
 894          This value puts the alignment restrictions on physical address
 895          where kernel is loaded and run from. Kernel is compiled for an
 896          address which meets above alignment restriction.
 897
 898config TASK_SIZE_BOOL
 899        bool "Set custom user task size"
 900        depends on ADVANCED_OPTIONS
 901        help
 902          This option allows you to set the amount of virtual address space
 903          allocated to user tasks.  This can be useful in optimizing the
 904          virtual memory layout of the system.
 905
 906          Say N here unless you know what you are doing.
 907
 908config TASK_SIZE
 909        hex "Size of user task space" if TASK_SIZE_BOOL
 910        default "0x80000000" if PPC_PREP || PPC_8xx
 911        default "0xc0000000"
 912
 913config CONSISTENT_SIZE_BOOL
 914        bool "Set custom consistent memory pool size"
 915        depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
 916        help
 917          This option allows you to set the size of the
 918          consistent memory pool.  This pool of virtual memory
 919          is used to make consistent memory allocations.
 920
 921config CONSISTENT_SIZE
 922        hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
 923        default "0x00200000" if NOT_COHERENT_CACHE
 924
 925config PIN_TLB
 926        bool "Pinned Kernel TLBs (860 ONLY)"
 927        depends on ADVANCED_OPTIONS && 8xx
 928endmenu
 929
 930if PPC64
 931config RELOCATABLE
 932        bool "Build a relocatable kernel"
 933        help
 934          This builds a kernel image that is capable of running anywhere
 935          in the RMA (real memory area) at any 16k-aligned base address.
 936          The kernel is linked as a position-independent executable (PIE)
 937          and contains dynamic relocations which are processed early
 938          in the bootup process.
 939
 940          One use is for the kexec on panic case where the recovery kernel
 941          must live at a different physical address than the primary
 942          kernel.
 943
 944config PAGE_OFFSET
 945        hex
 946        default "0xc000000000000000"
 947config KERNEL_START
 948        hex
 949        default "0xc000000000000000"
 950config PHYSICAL_START
 951        hex
 952        default "0x00000000"
 953endif
 954
 955source "net/Kconfig"
 956
 957source "drivers/Kconfig"
 958
 959source "fs/Kconfig"
 960
 961source "arch/powerpc/sysdev/qe_lib/Kconfig"
 962
 963source "lib/Kconfig"
 964
 965source "arch/powerpc/Kconfig.debug"
 966
 967source "security/Kconfig"
 968
 969config KEYS_COMPAT
 970        bool
 971        depends on COMPAT && KEYS
 972        default y
 973
 974source "crypto/Kconfig"
 975
 976config PPC_CLOCK
 977        bool
 978        default n
 979        select HAVE_CLK
 980
 981config PPC_LIB_RHEAP
 982        bool
 983
 984source "arch/powerpc/kvm/Kconfig"
 985