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        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
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.