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