linux/arch/mn10300/Kconfig
<<
>>
Prefs
   1config MN10300
   2        def_bool y
   3        select HAVE_OPROFILE
   4        select GENERIC_IRQ_SHOW
   5        select ARCH_WANT_IPC_PARSE_VERSION
   6        select HAVE_ARCH_TRACEHOOK
   7        select HAVE_ARCH_KGDB
   8        select GENERIC_ATOMIC64
   9        select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER
  10        select VIRT_TO_BUS
  11        select GENERIC_CLOCKEVENTS
  12        select MODULES_USE_ELF_RELA
  13        select OLD_SIGSUSPEND3
  14        select OLD_SIGACTION
  15        select HAVE_DEBUG_STACKOVERFLOW
  16
  17config AM33_2
  18        def_bool n
  19
  20config AM33_3
  21        def_bool n
  22
  23config AM34_2
  24        def_bool n
  25        select MN10300_HAS_ATOMIC_OPS_UNIT
  26        select MN10300_HAS_CACHE_SNOOP
  27
  28config ERRATUM_NEED_TO_RELOAD_MMUCTR
  29        def_bool y if AM33_3 || AM34_2
  30
  31config MMU
  32        def_bool y
  33
  34config HIGHMEM
  35        def_bool n
  36
  37config NUMA
  38        def_bool n
  39
  40config UID16
  41        def_bool y
  42
  43config RWSEM_GENERIC_SPINLOCK
  44        def_bool y
  45
  46config RWSEM_XCHGADD_ALGORITHM
  47        bool
  48
  49config GENERIC_CALIBRATE_DELAY
  50        def_bool y
  51
  52config GENERIC_HWEIGHT
  53        def_bool y
  54
  55config GENERIC_BUG
  56        def_bool y
  57
  58config QUICKLIST
  59        def_bool y
  60
  61config ARCH_HAS_ILOG2_U32
  62        def_bool y
  63
  64config HOTPLUG_CPU
  65        def_bool n
  66
  67source "init/Kconfig"
  68
  69source "kernel/Kconfig.freezer"
  70
  71
  72menu "Panasonic MN10300 system setup"
  73
  74choice
  75        prompt "Unit type"
  76        default MN10300_UNIT_ASB2303
  77        help
  78          This option specifies board for which the kernel will be
  79          compiled. It affects the external peripherals catered for.
  80
  81config MN10300_UNIT_ASB2303
  82        bool "ASB2303"
  83
  84config MN10300_UNIT_ASB2305
  85        bool "ASB2305"
  86
  87config MN10300_UNIT_ASB2364
  88        bool "ASB2364"
  89        select SMSC911X_ARCH_HOOKS if SMSC911X
  90
  91endchoice
  92
  93choice
  94        prompt "Processor support"
  95        default MN10300_PROC_MN103E010
  96        help
  97          This option specifies the processor for which the kernel will be
  98          compiled. It affects the on-chip peripherals catered for.
  99
 100config MN10300_PROC_MN103E010
 101        bool "MN103E010"
 102        depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
 103        select AM33_2
 104        select MN10300_PROC_HAS_TTYSM0
 105        select MN10300_PROC_HAS_TTYSM1
 106        select MN10300_PROC_HAS_TTYSM2
 107
 108config MN10300_PROC_MN2WS0050
 109        bool "MN2WS0050"
 110        depends on MN10300_UNIT_ASB2364
 111        select AM34_2
 112        select MN10300_PROC_HAS_TTYSM0
 113        select MN10300_PROC_HAS_TTYSM1
 114        select MN10300_PROC_HAS_TTYSM2
 115
 116endchoice
 117
 118config MN10300_HAS_ATOMIC_OPS_UNIT
 119        def_bool n
 120        help
 121          This should be enabled if the processor has an atomic ops unit
 122          capable of doing LL/SC equivalent operations.
 123
 124config FPU
 125        bool "FPU present"
 126        default y
 127        depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
 128
 129config LAZY_SAVE_FPU
 130        bool "Save FPU state lazily"
 131        default y
 132        depends on FPU && !SMP
 133        help
 134          Enable this to be lazy in the saving of the FPU state to the owning
 135          task's thread struct.  This is useful if most tasks on the system
 136          don't use the FPU as only those tasks that use it will pass it
 137          between them, and the state needn't be saved for a task that isn't
 138          using it.
 139
 140          This can't be so easily used on SMP as the process that owns the FPU
 141          state on a CPU may be currently running on another CPU, so for the
 142          moment, it is disabled.
 143
 144source "arch/mn10300/mm/Kconfig.cache"
 145
 146config MN10300_TLB_USE_PIDR
 147        def_bool y
 148
 149menu "Memory layout options"
 150
 151config KERNEL_RAM_BASE_ADDRESS
 152        hex "Base address of kernel RAM"
 153        default "0x90000000"
 154
 155config INTERRUPT_VECTOR_BASE
 156        hex "Base address of vector table"
 157        default "0x90000000"
 158        help
 159          The base address of the vector table will be programmed into
 160          the TBR register. It must be on 16MiB address boundary.
 161
 162config KERNEL_TEXT_ADDRESS
 163        hex "Base address of kernel"
 164        default "0x90001000"
 165
 166config KERNEL_ZIMAGE_BASE_ADDRESS
 167        hex "Base address of compressed vmlinux image"
 168        default "0x50700000"
 169
 170config BOOT_STACK_OFFSET
 171        hex
 172        default "0xF00" if SMP
 173        default "0xFF0" if !SMP
 174
 175config BOOT_STACK_SIZE
 176        hex
 177        depends on SMP
 178        default "0x100"
 179endmenu
 180
 181config SMP
 182        bool "Symmetric multi-processing support"
 183        default y
 184        depends on MN10300_PROC_MN2WS0038 || MN10300_PROC_MN2WS0050
 185        ---help---
 186          This enables support for systems with more than one CPU. If you have
 187          a system with only one CPU, say N. If you have a system with more
 188          than one CPU, say Y.
 189
 190          If you say N here, the kernel will run on uni- and multiprocessor
 191          machines, but will use only one CPU of a multiprocessor machine. If
 192          you say Y here, the kernel will run on many, but not all,
 193          uniprocessor machines. On a uniprocessor machine, the kernel
 194          will run faster if you say N here.
 195
 196          See also <file:Documentation/x86/i386/IO-APIC.txt>,
 197          <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
 198          <http://www.tldp.org/docs.html#howto>.
 199
 200          If you don't know what to do here, say N.
 201
 202config NR_CPUS
 203        int
 204        depends on SMP
 205        default "2"
 206
 207source "kernel/Kconfig.preempt"
 208
 209config MN10300_CURRENT_IN_E2
 210        bool "Hold current task address in E2 register"
 211        depends on !SMP
 212        default y
 213        help
 214          This option removes the E2/R2 register from the set available to gcc
 215          for normal use and instead uses it to store the address of the
 216          current process's task_struct whilst in the kernel.
 217
 218          This means the kernel doesn't need to calculate the address each time
 219          "current" is used (take SP, AND with mask and dereference pointer
 220          just to get the address), and instead can just use E2+offset
 221          addressing each time.
 222
 223          This has no effect on userspace.
 224
 225config MN10300_USING_JTAG
 226        bool "Using JTAG to debug kernel"
 227        default y
 228        help
 229          This options indicates that JTAG will be used to debug the kernel. It
 230          suppresses the use of certain hardware debugging features, such as
 231          single-stepping, which are taken over completely by the JTAG unit.
 232
 233source "kernel/Kconfig.hz"
 234
 235config MN10300_RTC
 236        bool "Using MN10300 RTC"
 237        depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
 238        select GENERIC_CMOS_UPDATE
 239        default n
 240        help
 241          This option enables support for the RTC, thus enabling time to be
 242          tracked, even when system is powered down. This is available on-chip
 243          on the MN103E010.
 244
 245config MN10300_WD_TIMER
 246        bool "Using MN10300 watchdog timer"
 247        default y
 248        help
 249          This options indicates that the watchdog timer will be used.
 250
 251config PCI
 252        bool "Use PCI"
 253        depends on MN10300_UNIT_ASB2305
 254        default y
 255        select GENERIC_PCI_IOMAP
 256        help
 257          Some systems (such as the ASB2305) have PCI onboard. If you have one
 258          of these boards and you wish to use the PCI facilities, say Y here.
 259
 260          The PCI-HOWTO, available from
 261          <http://www.tldp.org/docs.html#howto>, contains valuable
 262          information about which PCI hardware does work under Linux and which
 263          doesn't.
 264
 265source "drivers/pci/Kconfig"
 266
 267source "drivers/pcmcia/Kconfig"
 268
 269menu "MN10300 internal serial options"
 270
 271config MN10300_PROC_HAS_TTYSM0
 272        bool
 273        default n
 274
 275config MN10300_PROC_HAS_TTYSM1
 276        bool
 277        default n
 278
 279config MN10300_PROC_HAS_TTYSM2
 280        bool
 281        default n
 282
 283config MN10300_TTYSM
 284        bool "Support for ttySM serial ports"
 285        depends on MN10300
 286        default y
 287        select SERIAL_CORE
 288        help
 289          This option enables support for the on-chip serial ports that the
 290          MN10300 has available.
 291
 292config MN10300_TTYSM_CONSOLE
 293        bool "Support for console on ttySM serial ports"
 294        depends on MN10300_TTYSM
 295        select SERIAL_CORE_CONSOLE
 296        help
 297          This option enables support for a console on the on-chip serial ports
 298          that the MN10300 has available.
 299
 300#
 301# /dev/ttySM0
 302#
 303config MN10300_TTYSM0
 304        bool "Enable SIF0 (/dev/ttySM0)"
 305        depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
 306        help
 307          Enable access to SIF0 through /dev/ttySM0 or gdb-stub
 308
 309choice
 310        prompt "Select the timer to supply the clock for SIF0"
 311        default MN10300_TTYSM0_TIMER8
 312        depends on MN10300_TTYSM0
 313
 314config MN10300_TTYSM0_TIMER8
 315        bool "Use timer 8 (16-bit)"
 316
 317config MN10300_TTYSM0_TIMER2
 318        bool "Use timer 2 (8-bit)"
 319
 320endchoice
 321
 322#
 323# /dev/ttySM1
 324#
 325config MN10300_TTYSM1
 326        bool "Enable SIF1 (/dev/ttySM1)"
 327        depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
 328        help
 329          Enable access to SIF1 through /dev/ttySM1 or gdb-stub
 330
 331choice
 332        prompt "Select the timer to supply the clock for SIF1"
 333        default MN10300_TTYSM1_TIMER12 \
 334                if !(AM33_2 || AM33_3)
 335        default MN10300_TTYSM1_TIMER9 \
 336                if AM33_2 || AM33_3
 337        depends on MN10300_TTYSM1
 338
 339config MN10300_TTYSM1_TIMER12
 340        bool "Use timer 12 (16-bit)"
 341        depends on !(AM33_2 || AM33_3)
 342
 343config MN10300_TTYSM1_TIMER9
 344        bool "Use timer 9 (16-bit)"
 345        depends on AM33_2 || AM33_3
 346
 347config MN10300_TTYSM1_TIMER3
 348        bool "Use timer 3 (8-bit)"
 349        depends on AM33_2 || AM33_3
 350
 351endchoice
 352
 353#
 354# /dev/ttySM2
 355#
 356config MN10300_TTYSM2
 357        bool "Enable SIF2 (/dev/ttySM2)"
 358        depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
 359        help
 360          Enable access to SIF2 through /dev/ttySM2 or gdb-stub
 361
 362choice
 363        prompt "Select the timer to supply the clock for SIF2"
 364        default MN10300_TTYSM2_TIMER3 \
 365                if !(AM33_2 || AM33_3)
 366        default MN10300_TTYSM2_TIMER10 \
 367                if AM33_2 || AM33_3
 368        depends on MN10300_TTYSM2
 369
 370config MN10300_TTYSM2_TIMER9
 371        bool "Use timer 9 (16-bit)"
 372        depends on !(AM33_2 || AM33_3)
 373
 374config MN10300_TTYSM2_TIMER1
 375        bool "Use timer 1 (8-bit)"
 376        depends on !(AM33_2 || AM33_3)
 377
 378config MN10300_TTYSM2_TIMER3
 379        bool "Use timer 3 (8-bit)"
 380        depends on !(AM33_2 || AM33_3)
 381
 382config MN10300_TTYSM2_TIMER10
 383        bool "Use timer 10 (16-bit)"
 384        depends on AM33_2 || AM33_3
 385
 386endchoice
 387
 388config MN10300_TTYSM2_CTS
 389        bool "Enable the use of the CTS line /dev/ttySM2"
 390        depends on MN10300_TTYSM2 && AM33_2
 391
 392endmenu
 393
 394menu "Interrupt request priority options"
 395
 396comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
 397
 398comment "____Non-maskable interrupt levels____"
 399comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
 400
 401config DEBUGGER_IRQ_LEVEL
 402        int "DEBUGGER interrupt priority"
 403        depends on KERNEL_DEBUGGER
 404        range 0 1 if LINUX_CLI_LEVEL = 2
 405        range 0 2 if LINUX_CLI_LEVEL = 3
 406        range 0 3 if LINUX_CLI_LEVEL = 4
 407        range 0 4 if LINUX_CLI_LEVEL = 5
 408        range 0 5 if LINUX_CLI_LEVEL = 6
 409        default 0
 410
 411comment "The following must be set to a higher priority than local_irq_disable()"
 412
 413config MN10300_SERIAL_IRQ_LEVEL
 414        int "MN10300 on-chip serial interrupt priority"
 415        depends on MN10300_TTYSM
 416        range 1 1 if LINUX_CLI_LEVEL = 2
 417        range 1 2 if LINUX_CLI_LEVEL = 3
 418        range 1 3 if LINUX_CLI_LEVEL = 4
 419        range 1 4 if LINUX_CLI_LEVEL = 5
 420        range 1 5 if LINUX_CLI_LEVEL = 6
 421        default 1
 422
 423comment "-"
 424comment "____Maskable interrupt levels____"
 425
 426config LINUX_CLI_LEVEL
 427        int "The highest interrupt priority excluded by local_irq_disable() (2-6)"
 428        range 2 6
 429        default 2
 430        help
 431          local_irq_disable() doesn't actually disable maskable interrupts -
 432          what it does is restrict the levels of interrupt which are permitted
 433          (a lower level indicates a higher priority) by lowering the value in
 434          EPSW.IM from 7.  Any interrupt is permitted for which the level is
 435          lower than EPSW.IM.
 436
 437          Certain interrupts, such as DEBUGGER and virtual MN10300 on-chip
 438          serial DMA interrupts are allowed to interrupt normal disabled
 439          sections.
 440
 441comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
 442
 443config TIMER_IRQ_LEVEL
 444        int "Kernel timer interrupt priority"
 445        range LINUX_CLI_LEVEL 6
 446        default 4
 447
 448config PCI_IRQ_LEVEL
 449        int "PCI interrupt priority"
 450        depends on PCI
 451        range LINUX_CLI_LEVEL 6
 452        default 5
 453
 454config ETHERNET_IRQ_LEVEL
 455        int "Ethernet interrupt priority"
 456        depends on SMC91X || SMC911X || SMSC911X
 457        range LINUX_CLI_LEVEL 6
 458        default 6
 459
 460config EXT_SERIAL_IRQ_LEVEL
 461        int "External serial port interrupt priority"
 462        depends on SERIAL_8250
 463        range LINUX_CLI_LEVEL 6
 464        default 6
 465
 466endmenu
 467
 468source "mm/Kconfig"
 469
 470menu "Power management options"
 471source kernel/power/Kconfig
 472endmenu
 473
 474endmenu
 475
 476
 477menu "Executable formats"
 478
 479source "fs/Kconfig.binfmt"
 480
 481endmenu
 482
 483source "net/Kconfig"
 484
 485source "drivers/Kconfig"
 486
 487source "fs/Kconfig"
 488
 489source "arch/mn10300/Kconfig.debug"
 490
 491source "security/Kconfig"
 492
 493source "crypto/Kconfig"
 494
 495source "lib/Kconfig"
 496