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