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