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