1536 lines
43 KiB
Plaintext
1536 lines
43 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see Documentation/kbuild/kconfig-language.txt.
|
|
#
|
|
|
|
config E2K
|
|
bool
|
|
default y
|
|
select ARCH_HAVE_NMI_SAFE_CMPXCHG
|
|
select ARCH_MIGHT_HAVE_PC_SERIO
|
|
select ARCH_SUPPORTS_ATOMIC_RMW
|
|
select ARCH_USE_BUILTIN_BSWAP
|
|
select ARCH_USE_CMPXCHG_LOCKREF
|
|
select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
|
|
select ARCH_WANT_FRAME_POINTERS
|
|
select ARCH_WANT_IPC_PARSE_VERSION
|
|
select ARCH_WANT_OPTIONAL_GPIOLIB
|
|
select ARCH_THREAD_INFO_ALLOCATOR
|
|
select ARCH_TASK_STRUCT_ALLOCATOR
|
|
select ARCH_SUPPORTS_MSI
|
|
select HAVE_CONTEXT_TRACKING
|
|
select HAVE_DEBUG_BUGVERBOSE
|
|
select HAVE_DEBUG_KMEMLEAK
|
|
select HAVE_DYNAMIC_FTRACE
|
|
select HAVE_EFFICIENT_UNALIGNED_ACCESS
|
|
select HAVE_EL_POSIX_SYSCALL
|
|
select HAVE_FUNCTION_TRACER
|
|
select HAVE_IDE
|
|
select HAVE_PERF_EVENTS
|
|
select HAVE_TRACE_CLOCK
|
|
select HAVE_SYSCALL_TRACEPOINTS
|
|
select HAVE_KPROBES
|
|
select GENERIC_IRQ_PROBE
|
|
select GENERIC_IRQ_SHOW
|
|
select IRQ_FORCED_THREADING
|
|
select MODULES_USE_ELF_RELA
|
|
select RTC_CLASS
|
|
select SPARSE_IRQ
|
|
select USER_STACKTRACE_SUPPORT
|
|
help
|
|
This is a port of Linux on Elbrus microprocessor architecture.
|
|
It runs on E2K_0.5.3 machine simulator. It will also run on upcoming
|
|
Elbrus 3M supercomputing system.
|
|
|
|
config 64BIT
|
|
def_bool y
|
|
|
|
config MMU
|
|
bool
|
|
default y
|
|
|
|
config NEED_DMA_MAP_STATE
|
|
def_bool y
|
|
|
|
config ZONE_DMA
|
|
def_bool y
|
|
|
|
config SBUS
|
|
bool
|
|
|
|
config UID16
|
|
bool
|
|
default y
|
|
|
|
config GENEREIC_FIND_FIRST_BIT
|
|
def_bool y
|
|
|
|
config GENERIC_FIND_NEXT_BIT
|
|
def_bool y
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_ISA_DMA
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_HWEIGHT
|
|
def_bool y if !E2K_HAS_OPT_BITOPS
|
|
|
|
config EARLY_PRINTK
|
|
bool
|
|
default y
|
|
|
|
config ARCH_MAY_HAVE_PC_FDC
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_IOMAP
|
|
bool
|
|
default y
|
|
|
|
config HAVE_SETUP_PER_CPU_AREA
|
|
def_bool y
|
|
|
|
config NEED_PER_CPU_EMBED_FIRST_CHUNK
|
|
def_bool y
|
|
|
|
config NEED_PER_CPU_PAGE_FIRST_CHUNK
|
|
def_bool y
|
|
|
|
config NEED_SG_DMA_LENGTH
|
|
def_bool y
|
|
|
|
config SYS_SUPPORTS_HUGETLBFS
|
|
def_bool y
|
|
|
|
config ARCH_SUSPEND_POSSIBLE
|
|
def_bool y
|
|
|
|
config ARCH_BOOT_TRACE_POSSIBLE
|
|
def_bool y
|
|
|
|
config HOTPLUG_CPU
|
|
def_bool n
|
|
depends on SMP
|
|
---help---
|
|
Say Y here to allow turning CPUs off and on. CPUs can be
|
|
controlled through /sys/devices/system/cpu.
|
|
( Note: power management support will enable this option
|
|
automatically on SMP systems. )
|
|
Say N if you want to disable CPU hotplug.
|
|
|
|
config GENERIC_GPIO
|
|
def_bool y
|
|
|
|
config ARCH_HAS_DEFAULT_IDLE
|
|
def_bool y
|
|
|
|
config ARCH_DMA_ADDR_T_64BIT
|
|
def_bool y
|
|
|
|
source "init/Kconfig"
|
|
|
|
|
|
menu "Processor type and features"
|
|
|
|
config E2K_MACHINE_SIC
|
|
bool
|
|
default n
|
|
|
|
config E2K_MACHINE_IOHUB
|
|
bool
|
|
default n
|
|
|
|
config E2K_HAS_OPT_BITOPS
|
|
bool
|
|
default y if E2K_MACHINE && !(E2K_E3M_SIM || E2K_E3M || \
|
|
E2K_E3M_IOHUB_SIM || E2K_E3M_IOHUB)
|
|
help
|
|
Set this if the platform has optimized bit operations.
|
|
|
|
config E2K_MACHINE
|
|
bool "E2K machines support"
|
|
default n
|
|
help
|
|
Support only specified E2K machine type
|
|
If you say Y only one specified machine type will be supported
|
|
by this kernel.
|
|
The better way here say N to support all range of machines
|
|
|
|
# Support some tracing features
|
|
config E2K_ARCH
|
|
def_bool y
|
|
select HAVE_FTRACE_MCOUNT_RECORD
|
|
select HAVE_DYNAMIC_FTRACE
|
|
select HAVE_FUNCTION_TRACER
|
|
select HAVE_FUNCTION_GRAPH_TRACER
|
|
select HAVE_FUNCTION_TRACE_MCOUNT_TEST
|
|
select TRACING_SUPPORT
|
|
|
|
config LOCKDEP_SUPPORT
|
|
def_bool y
|
|
|
|
config STACKTRACE_SUPPORT
|
|
def_bool y
|
|
|
|
config HAVE_LATENCYTOP_SUPPORT
|
|
def_bool y
|
|
|
|
config CPU_E3M
|
|
def_bool !E2K_MACHINE
|
|
|
|
config CPU_E3S
|
|
def_bool !E2K_MACHINE
|
|
|
|
config CPU_ES2
|
|
def_bool !E2K_MACHINE
|
|
|
|
config CPU_E2S
|
|
def_bool !E2K_MACHINE
|
|
|
|
config CPU_E8C
|
|
def_bool !E2K_MACHINE
|
|
|
|
config CPU_E1CP
|
|
def_bool !E2K_MACHINE
|
|
|
|
config CPU_E8C2
|
|
def_bool !E2K_MACHINE
|
|
|
|
choice
|
|
prompt "Subarchitecture Type"
|
|
depends on E2K_MACHINE
|
|
default E2K_E3M
|
|
|
|
config E2K_E3M_SIM
|
|
bool "Simulator of Elbrus 3M"
|
|
select CPU_E3M
|
|
help
|
|
Support for Elbrus 3M systems. Say 'Y' here if this kernel is
|
|
supposed to run on an Elbrus 3M system.
|
|
Choose this option if you working on machine simulator ('lms').
|
|
|
|
config E2K_E3M
|
|
bool "Elbrus 3M"
|
|
select CPU_E3M
|
|
help
|
|
Support for Elbrus 3M systems. Say 'Y' here if this kernel is
|
|
supposed to run on an Elbrus 3M system.
|
|
Only choose this option if you have such a system, otherwise you
|
|
should say N here.
|
|
|
|
config E3M_FPGA_MODEL
|
|
bool "E3M FPGA model"
|
|
depends on E2K_E3M
|
|
default n
|
|
help
|
|
"Frankenstein" on ALTERA FPGA chips.
|
|
|
|
config E2K_E3M_IOHUB_SIM
|
|
bool "Simulator of Elbrus 3M + IOHUB"
|
|
select E2K_MACHINE_IOHUB # should be set always for e3m+iohub #
|
|
select CPU_E3M
|
|
help
|
|
Support for Elbrus 3M + IOHUB (Hybrid) systems. Say 'Y' here if
|
|
this kernel is supposed to run on an Elbrus 3M + IOHUB (Hybrid)
|
|
system.
|
|
Choose this option if you working on machine simulator ('lms').
|
|
|
|
config E2K_E3M_IOHUB
|
|
bool "Elbrus 3M + IOHUB"
|
|
select E2K_MACHINE_IOHUB # should be set always for e3m+iohub #
|
|
select CPU_E3M
|
|
help
|
|
Support for Elbrus 3M + IOHUB (Hybrid) systems. Say 'Y' here if
|
|
this kernel is supposed to run on an Elbrus 3M + IOHUB (Hybrid)
|
|
system. Only choose this option if you have such a system, otherwise
|
|
you should say N here.
|
|
|
|
config E2K_E3S_SIM
|
|
bool "Simulator of Elbrus 3S (NUMA, IOHUB, SIC)"
|
|
select E2K_MACHINE_SIC # should be set allways for e3s #
|
|
select E2K_MACHINE_IOHUB # should be set always for e3s #
|
|
select CPU_E3S
|
|
help
|
|
Support for Elbrus 3S systems. Say 'Y' here if this kernel is
|
|
supposed to run on an Elbrus 3S system.
|
|
Choose this option if you working on machine simulator
|
|
('e3s_lms').
|
|
|
|
config E2K_E3S
|
|
bool "Elbrus 3S (NUMA, IOHUB, SIC)"
|
|
select E2K_MACHINE_SIC # should be set allways for e3s #
|
|
select E2K_MACHINE_IOHUB # should be set always for e3s #
|
|
select CPU_E3S
|
|
help
|
|
Support for Elbrus 3S systems. Say 'Y' here if this kernel is
|
|
supposed to run on an Elbrus 3S system.
|
|
Only choose this option if you have such a system and cannot run
|
|
the kernel on other machines types,
|
|
otherwise you should say N here.
|
|
|
|
config E2K_ES2_DSP_SIM
|
|
bool "Simulator of Elbrus e2c+ (Cubic, NUMA, 2 core, DSP, IOHUB, SIC)"
|
|
select E2K_MACHINE_SIC # should be set allways for e4c+/e4c #
|
|
select E2K_MACHINE_IOHUB # should be set always for e4c+/e4c #
|
|
select CPU_ES2
|
|
help
|
|
Support for Elbrus e2c+ (Cubic) systems.
|
|
Say 'Y' here if this kernel is supposed to run on
|
|
an Elbrus S2 (Cubic) system.
|
|
Choose this option if you working on machine simulator
|
|
('es2_lms').
|
|
|
|
config E2K_ES2_DSP
|
|
bool "Elbrus e2c+ (Cubic, NUMA, 2 core, DSP, IOHUB, SIC)"
|
|
select E2K_MACHINE_SIC # should be set allways for e4c+/e4c #
|
|
select E2K_MACHINE_IOHUB # should be set always for e4c+/e4c #
|
|
select CPU_ES2
|
|
help
|
|
Support for Elbrus e2c+ (Cubic) systems.
|
|
Say 'Y' here if this kernel is supposed to run on
|
|
an Elbrus S2 (Cubic) system.
|
|
Only choose this option if you have such a system and cannot run
|
|
the kernel on other machines types,
|
|
otherwise you should say N here.
|
|
|
|
config E2K_ES2_RU_SIM
|
|
bool "Simulator of Elbrus e2c (Micron, NUMA, 2 core, IOHUB, SIC)"
|
|
select E2K_MACHINE_SIC # should be set allways for e4c+/e4c #
|
|
select E2K_MACHINE_IOHUB # should be set always for e4c/e4c+ #
|
|
select CPU_ES2
|
|
help
|
|
Support for Elbrus e2c (Micron) systems.
|
|
Say 'Y' here if this kernel is supposed to run on
|
|
an Elbrus e2c (Micron) system.
|
|
Choose this option if you working on machine simulator
|
|
('es2_lms').
|
|
|
|
config E2K_ES2_RU
|
|
bool "Elbrus e2c (Micron, NUMA, 2 core, IOHUB, SIC)"
|
|
select E2K_MACHINE_SIC # should be set allways for e4c/e4c+ #
|
|
select E2K_MACHINE_IOHUB # should be set always for e4c/e4c+ #
|
|
select CPU_ES2
|
|
help
|
|
Support for Elbrus e2c (Micron) systems.
|
|
Say 'Y' here if this kernel is supposed to run on
|
|
an Elbrus e2c (Micron) system.
|
|
Only choose this option if you have such a system and cannot run
|
|
the kernel on other machines types,
|
|
otherwise you should say N here.
|
|
|
|
config E2K_E2S_SIM
|
|
bool "Simulator of Elbrus 2S (NUMA, 4 core, IOHUB, SIC)"
|
|
select E2K_MACHINE_SIC # should be set allways for e2s #
|
|
select E2K_MACHINE_IOHUB # should be set always for e2s #
|
|
select CPU_E2S
|
|
help
|
|
Support for Elbrus 2S systems. Say 'Y' here if this kernel is
|
|
supposed to run on an Elbrus 2S system.
|
|
Choose this option if you working on machine simulator
|
|
('e2s_lms').
|
|
|
|
config E2K_E2S
|
|
bool "Elbrus 2S (NUMA, 4 core, IOHUB, SIC)"
|
|
select E2K_MACHINE_SIC # should be set allways for e2s #
|
|
select E2K_MACHINE_IOHUB # should be set always for e2s #
|
|
select CPU_E2S
|
|
help
|
|
Support for Elbrus 2S systems. Say 'Y' here if this kernel is
|
|
supposed to run on an Elbrus 2S system.
|
|
Only choose this option if you have such a system and cannot run
|
|
the kernel on other machines types,
|
|
otherwise you should say N here.
|
|
|
|
config E2K_E8C_SIM
|
|
bool "Simulator of Elbrus 8C (NUMA, 8 core, IOHUB-2, SIC)"
|
|
select E2K_MACHINE_SIC # should be set allways for e8c #
|
|
select E2K_MACHINE_IOHUB # should be set always for e8c #
|
|
select CPU_E8C
|
|
help
|
|
Support for Elbrus 8C systems. Say 'Y' here if this kernel is
|
|
supposed to run on an Elbrus 8C system.
|
|
Choose this option if you working on machine simulator
|
|
('ep1_ms').
|
|
|
|
config E2K_E8C
|
|
bool "Elbrus 8C (NUMA, 8 core, IOHUB-2, SIC)"
|
|
select E2K_MACHINE_SIC # should be set allways for e8c #
|
|
select E2K_MACHINE_IOHUB # should be set always for e8c #
|
|
select CPU_E8C
|
|
help
|
|
Support for Elbrus 8C systems. Say 'Y' here if this kernel is
|
|
supposed to run on an Elbrus 8C system.
|
|
Only choose this option if you have such a system and cannot run
|
|
the kernel on other machines types,
|
|
otherwise you should say N here.
|
|
|
|
config E2K_E1CP_SIM
|
|
bool "Simulator of Elbrus 1C+ (1 core + GC, IOHUB-2, Legacy SIC)"
|
|
select E2K_MACHINE_SIC # should be set allways for e1c+ #
|
|
select E2K_MACHINE_IOHUB # should be set always for e1c+ #
|
|
select CPU_E1CP
|
|
help
|
|
Support for Elbrus 1C+ systems. Say 'Y' here if this kernel is
|
|
supposed to run on an Elbrus 1C+ system.
|
|
Choose this option if you working on machine simulator
|
|
('ep2_ms').
|
|
|
|
config E2K_E1CP
|
|
bool "Elbrus 1C+ (1 core + GC, IOHUB-2, Legscy SIC)"
|
|
select E2K_MACHINE_SIC # should be set allways for e1c+ #
|
|
select E2K_MACHINE_IOHUB # should be set always for e1c+ #
|
|
select CPU_E1CP
|
|
help
|
|
Support for Elbrus 1C+ systems. Say 'Y' here if this kernel is
|
|
supposed to run on an Elbrus 1C+ system.
|
|
Only choose this option if you have such a system and cannot run
|
|
the kernel on other machines types,
|
|
otherwise you should say N here.
|
|
|
|
config E2K_E8C2_SIM
|
|
bool "Simulator of Elbrus 8C2 (NUMA, 8 core, IOHUB-2, SIC)"
|
|
select E2K_MACHINE_SIC # should be set allways for e8c2 #
|
|
select E2K_MACHINE_IOHUB # should be set always for e8c2 #
|
|
select CPU_E8C2
|
|
help
|
|
Support for Elbrus 8C2 systems. Say 'Y' here if this kernel is
|
|
supposed to run on an Elbrus 8C2 system.
|
|
Choose this option if you working on machine simulator
|
|
('ep9_ms').
|
|
|
|
config E2K_E8C2
|
|
bool "Elbrus 8C2 (NUMA, 8 core, IOHUB-2, SIC)"
|
|
select E2K_MACHINE_SIC # should be set allways for e8c2 #
|
|
select E2K_MACHINE_IOHUB # should be set always for e8c2 #
|
|
select CPU_E8C2
|
|
help
|
|
Support for Elbrus 8C systems. Say 'Y' here if this kernel is
|
|
supposed to run on an Elbrus 8C2 system.
|
|
Only choose this option if you have such a system and cannot run
|
|
the kernel on other machines types,
|
|
otherwise you should say N here.
|
|
endchoice
|
|
|
|
choice
|
|
prompt "E3M processor revision"
|
|
depends on !E2K_MACHINE || CPU_E3M
|
|
default E3M_CPU_VERSION_3
|
|
|
|
config E3M_CPU_VERSION_2
|
|
bool "CPU version #2"
|
|
help
|
|
Choose this option if you working on CPU implementation version #2
|
|
|
|
config E3M_CPU_VERSION_3
|
|
bool "CPU version #3"
|
|
help
|
|
Choose this option if you working on CPU implementation version #3
|
|
|
|
config E3M_CPU_VERSION_4
|
|
bool "CPU version #4"
|
|
help
|
|
Choose this option if you working on CPU implementation version #3
|
|
|
|
endchoice
|
|
|
|
# e2s CPU hardware bug: RF should be empty before 'setwd' op
|
|
config E2S_CPU_RF_BUG
|
|
bool "Workaround e2s RF bug"
|
|
depends on !E2K_MACHINE || E2K_E2S
|
|
default E2K_MACHINE && E2K_E2S
|
|
|
|
# Unknown bug of hardware or software while compiler lift up some operations
|
|
# of load of data before call of spinlock function when data can be acceessed
|
|
# only after call completion. In this case compiler use DAM to detect that data
|
|
# were updated while spinlock completion and reload them if updated.
|
|
# Turn off compiler optimization while bug is not detected and fixed.
|
|
|
|
config SMP_DAM_BUG
|
|
bool
|
|
default SMP && (!E2K_MACHINE || (!E2K_E2S && !E2K_E8C && !E2K_E1CP && \
|
|
!E2K_E8C2))
|
|
|
|
config HZ
|
|
int "Timer frequency"
|
|
range 4 1000
|
|
default 100
|
|
help
|
|
Allows the configuration of the timer frequency. It is customary
|
|
to have the timer interrupt run at range 4-1000 HZ
|
|
but 100 HZ is more beneficial
|
|
|
|
config KERNEL_CODE_CONTEXT
|
|
bool "Enable kernel codes context (kernel CUT and non-zero CUIR)"
|
|
default y
|
|
help
|
|
Choose this option to enable compilation unit table for
|
|
kernel codes. In this case all kernel code units will have
|
|
non-zero compilation unit index (CUIR).
|
|
Say Y for E3M architecture because of hardware bug in SRU
|
|
does not allow to return from user signal handler to kernel
|
|
code without context (CUIR = 0)
|
|
|
|
config GLOBAL_CONTEXT
|
|
bool "Map kernel virtual space to global context"
|
|
default y
|
|
help
|
|
Choose this option to map virtual space of kernel to
|
|
global context, so all kernel virtual pages and
|
|
page tables will be global for all processes.
|
|
It should reduce TLB and caches missing
|
|
|
|
config SECONDARY_SPACE_SUPPORT
|
|
bool "Support Secondary Space feature in OS"
|
|
depends on MIGRATION # For E3M to move pages to the lower 4 Gbytes
|
|
select MLT_STORAGE
|
|
default y
|
|
help
|
|
Type 'y' if you are going to run native Linux-i386 code under
|
|
this OS.
|
|
|
|
config UPT_SUPPORT
|
|
bool "Support for United Page Tables in OS"
|
|
depends on SECONDARY_SPACE_SUPPORT
|
|
default n
|
|
help
|
|
Type 'y' if you are going to run native Linux-i386 code on E3S under
|
|
this OS.
|
|
|
|
config ENABLE_EXTMEM
|
|
bool "Extended Memory Support"
|
|
default y
|
|
---help---
|
|
E2K can use up to 64 Gigabytes of physical memory.
|
|
However, the address space of e2k processors has two regions this
|
|
hole between them:
|
|
|
|
main region from 0 up to 2 Gigabytes 0 - 8000 0000
|
|
extended region from 4 Gb up to 64 Gb 1 0000 0000 - 10 0000 0000
|
|
|
|
If you are compiling a kernel which will never run on a machine with
|
|
more than 2 Gigabyte total physical RAM, answer N here
|
|
|
|
If the machine has more than 2 Gigabytes physical RAM or it
|
|
use extended region of RAM, then answer Y here.
|
|
|
|
config ONLY_BSP_MEMORY
|
|
bool "Only specified nodes memory can be used by other CPUs"
|
|
default n
|
|
---help---
|
|
E3S CPUs can have own memory and access to memory of other CPUs.
|
|
If you see Y then all CPUs can use only memory of nodes from
|
|
following config parametr
|
|
and ignore own
|
|
|
|
config MEMORY_PRES_MAP
|
|
int "Specify mask of nodes with memory"
|
|
default 1
|
|
depends on ONLY_BSP_MEMORY
|
|
range 1 65536
|
|
|
|
config FORCE_MAX_ZONEORDER
|
|
int "Maximum zone order"
|
|
|
|
range 11 64
|
|
default "14"
|
|
help
|
|
The kernel memory allocator divides physically contiguous memory
|
|
blocks into "zones", where each zone is a power of two number of
|
|
pages. This option selects the largest power of two that the kernel
|
|
keeps in the memory allocator. If you need to allocate very large
|
|
blocks of physically contiguous memory, then you may need to
|
|
increase this value.
|
|
|
|
This config option is actually maximum order plus one. For example,
|
|
a value of 11 means that the largest free memory block is 2^10 pages.
|
|
|
|
The page size is not necessarily 4KB. Keep
|
|
this in mind when choosing a value for this option.
|
|
|
|
config ARCH_DISCONTIGMEM_ENABLE
|
|
bool "Discontiguous Memory Support"
|
|
default y
|
|
help
|
|
Say Y to support efficient handling of discontiguous physical memory,
|
|
for systems which have huge holes in the physical address space
|
|
or use extended physical memory region from 4Gb up to 64Gb.
|
|
|
|
# Max 8 Nodes now limited by BOOT_MAX_MEM_NUMNODES to confirm
|
|
# to boot_info structure size
|
|
config NODES_SHIFT
|
|
int "Maximum memory (NUMA) Nodes (as a power of 2)"
|
|
range 0 3
|
|
default "3" if SMP && DISCONTIGMEM
|
|
default "0"
|
|
depends on NEED_MULTIPLE_NODES
|
|
---help---
|
|
Specify the maximum number of memory (NUMA) Nodes available on the target
|
|
system. Increases memory reserved to accommodate various tables.
|
|
|
|
config ARCH_DISCONTIG_NODE_MEM_MAP
|
|
bool "Discontiguous Memory Map on node Support"
|
|
default y
|
|
depends on ARCH_DISCONTIGMEM_ENABLE
|
|
help
|
|
Say Y to minimize memory map tables for systems which
|
|
have huge holes in the physical address space on a node
|
|
(for example huge hole between low and high memory regions)
|
|
In this case each zone (low and high) will have own memory
|
|
map table, excluding maximally holes between zones.
|
|
This mode can reduce performance of page seaching and
|
|
conversion physical page number to/from page structure.
|
|
|
|
config HAVE_ARCH_EARLY_PFN_TO_NID
|
|
def_bool y
|
|
depends on ARCH_DISCONTIGMEM_ENABLE
|
|
|
|
# Some NUMA nodes (e3s) can have memory ranges that span
|
|
# other nodes. Even though a pfn is valid and
|
|
# between a node's start and end pfns, it may not
|
|
# reside on that node.
|
|
# For example while a few nodes have memory in low and high range
|
|
|
|
config NODES_SPAN_OTHER_NODES
|
|
def_bool y
|
|
depends on ARCH_DISCONTIGMEM_ENABLE
|
|
|
|
config NUMA
|
|
bool "NUMA support"
|
|
default y if DISCONTIGMEM || SPARSEMEM
|
|
depends on !(E2K_E3M_SIM || E2K_E3M) && SMP
|
|
|
|
config COPY_USER_PGD_TO_KERNEL_ROOT_PT
|
|
bool "Copy user process PGD entries to kernel root page table"
|
|
default y
|
|
depends on NUMA
|
|
help
|
|
If say Y then each CPU has own kernel PGD copy
|
|
User process PGD entries are copied to this kernel
|
|
PGD table while the process is activated on this CPU
|
|
|
|
config KTHREAD_ON_CPU
|
|
bool "Create kernel threads on specified CPU"
|
|
default y
|
|
depends on NUMA
|
|
help
|
|
Support creation of kernel threads on cpecified CPU
|
|
to allocate memory resources on the node of this CPU
|
|
|
|
config BOUNCE_BUFFERS_ON_CPU
|
|
bool "Get bounce buffer on specified node"
|
|
default y
|
|
depends on NUMA
|
|
help
|
|
Create DMA bounce buffers on each node
|
|
to enable allocation on specified node
|
|
|
|
config SERIAL_BOOT_PRINTK
|
|
bool "boot_printk() support"
|
|
default y
|
|
help
|
|
boot_printk() outputs directly to serial port bypassing all
|
|
buffers and locks and can work both before and after the switch
|
|
to virtual memory addressing. It is useful for hardware debugging.
|
|
|
|
Only two devices are supported currently: ns16550 (== 8550)
|
|
and l_zilog (== am85c30).
|
|
|
|
On simulator boot_printk() also outputs to LMS console.
|
|
|
|
|
|
config SERIAL_NS16550_BOOT_CONSOLE
|
|
bool "Boot-time serial console on 8250/16550 and compatible serial port"
|
|
depends on SERIAL_BOOT_PRINTK
|
|
default y
|
|
help
|
|
Sey Y to support boot-time console based on 8250/16550 serial
|
|
port.
|
|
|
|
config SERIAL_AM85C30_BOOT_CONSOLE
|
|
bool "Boot-time serial console on Am85c30 zilog and compatible devices"
|
|
depends on SERIAL_BOOT_PRINTK
|
|
default y
|
|
help
|
|
Sey Y to support boot-time console based on Am85c30 serial
|
|
PCI device.
|
|
|
|
config BOOT_SERIAL_BAUD
|
|
int "Boot printk serial rate (4800-115200)"
|
|
range 4800 115200
|
|
depends on SERIAL_BOOT_PRINTK || SERIAL_PRINTK
|
|
default "115200"
|
|
help
|
|
Speed rate for boot printk console
|
|
|
|
|
|
|
|
source "mm/Kconfig"
|
|
|
|
config MEMLIMIT
|
|
int "Physical memory probing range (main region of RAM)"
|
|
range 0 2048
|
|
default 64
|
|
|
|
config EXT_MEMLIMIT
|
|
int "Extended physical memory probing range (Megabytes)"
|
|
depends on ENABLE_EXTMEM
|
|
range 0 61440
|
|
default 64
|
|
|
|
choice
|
|
prompt "Embeded Video RAM size"
|
|
default VRAM_SIZE_128
|
|
help
|
|
Embeded graphical controller video ram size
|
|
Option is usfull only for e2k internal boot loader on simulator
|
|
|
|
config VRAM_SIZE_128
|
|
bool "128 Mb"
|
|
help
|
|
Embeded graphical controller video ram size
|
|
is 128 Mb
|
|
Option is usfull only for e2k internal boot loader on simulator
|
|
|
|
config VRAM_SIZE_256
|
|
bool "256 Mb"
|
|
help
|
|
Embeded graphical controller video ram size
|
|
is 256 Mb
|
|
Option is usfull only for e2k internal boot loader on simulator
|
|
|
|
config VRAM_SIZE_512
|
|
bool "512 Mb"
|
|
help
|
|
Embeded graphical controller video ram size
|
|
is 512 Mb
|
|
Option is usfull only for e2k internal boot loader on simulator
|
|
|
|
config VRAM_SIZE_1024
|
|
bool "1 Gb"
|
|
help
|
|
Embeded graphical controller video ram size
|
|
is 1 Gb
|
|
Option is usfull only for e2k internal boot loader on simulator
|
|
|
|
config VRAM_DISABLE
|
|
bool "Disable embeded graphic support"
|
|
help
|
|
Embeded graphical controller video ram can be disabled
|
|
Option is usfull only for e2k internal boot loader on simulator
|
|
|
|
endchoice
|
|
|
|
config ACCESS_CONTROL
|
|
bool
|
|
default N
|
|
|
|
config USR_CONTROL_INTERRUPTS
|
|
bool "USER can control interrupts"
|
|
default N
|
|
help
|
|
USER can use UPSR register to control interrupts
|
|
(only for hardware debugging)
|
|
To control interrupts in user mode it needs to call:
|
|
e2k_syswork(USER_CONTROL_INTERRUPT, 1, 0); // start
|
|
e2k_syswork(USER_CONTROL_INTERRUPT, 0, 0); // stop
|
|
|
|
config KERNEL_TIMES_ACCOUNT
|
|
bool "Collect kernel traps and system calls clock time info"
|
|
default N
|
|
|
|
config MAX_KERNEL_TIMES_NUM
|
|
depends on KERNEL_TIMES_ACCOUNT
|
|
int "Max Number of last events to collect (1-1024)"
|
|
range 1 1024
|
|
default 20
|
|
|
|
config CLI_CHECK_TIME
|
|
bool "CLI check time"
|
|
|
|
choice
|
|
depends on SWAP
|
|
prompt "Software swap tags"
|
|
default SOFTWARE_SWAP_TAGS_V2
|
|
|
|
config SOFTWARE_SWAP_NONE
|
|
bool "Off"
|
|
|
|
config SOFTWARE_SWAP_TAGS
|
|
bool "version 1"
|
|
|
|
config SOFTWARE_SWAP_TAGS_V2
|
|
bool "version 2"
|
|
|
|
endchoice
|
|
|
|
config ARCH_CACHES
|
|
bool # Now it is enabled permanently
|
|
default y
|
|
|
|
# bool 'Symmetric multi-processing support' CONFIG_SMP
|
|
|
|
config CMDLINE_PROMPT
|
|
bool "Enable prompt for kernel command string"
|
|
default n
|
|
|
|
config MAKE_ALL_PAGES_VALID
|
|
bool "Make all virtual pages valid"
|
|
default y
|
|
|
|
config FAST_ADDRESS_PROBE
|
|
depends on MAKE_ALL_PAGES_VALID
|
|
bool "Fast probe of validity of virtual addresses"
|
|
default y
|
|
|
|
config SET_STACKS_SIZE
|
|
bool "Define max hardware and user data stacks size"
|
|
default n
|
|
|
|
config PSP_STACK_SIZE
|
|
int "Size of (MBytes) hardware procedure stack (PSP) (PCSP size will be PSP size / 16)"
|
|
depends on SET_STACKS_SIZE
|
|
range 1 2048
|
|
default 1
|
|
|
|
config PSP_WIN_SIZE
|
|
int "Size of (pages number) active window of hardware procedure stack (PSP) (PCSP size will be PSP size / 16)"
|
|
depends on SET_STACKS_SIZE
|
|
range 1 512
|
|
default 8
|
|
|
|
config USER_STACK_SIZE
|
|
int "Size of (MBytes) user data stack (C stack)"
|
|
depends on SET_STACKS_SIZE
|
|
range 1 4096
|
|
default 2
|
|
|
|
config UPS_AREA_SIZE
|
|
int "Number of pages in user p stack area"
|
|
depends on SET_STACKS_SIZE
|
|
default 42
|
|
|
|
config UPCS_AREA_SIZE
|
|
int "Number of pages in user pc stack area"
|
|
depends on SET_STACKS_SIZE
|
|
default 4
|
|
|
|
config ALLOC_MAX_STACK
|
|
bool "Allocate just max defined above user data stacks size"
|
|
default n
|
|
help
|
|
Say Y to allocate user data stack of max defined size.
|
|
If say N then user data stack will be allocated of minimal
|
|
needed size and will be expanded as required in the running
|
|
of the process
|
|
|
|
config USER_STACK_INCR
|
|
int "User local data stack (USD) increment value (number of 4K pages)"
|
|
depends on ALLOC_MAX_STACK = n
|
|
range 1 4096
|
|
default 4
|
|
help
|
|
You can here define number of pages to increment user local
|
|
data stack size when stack overflow occures.
|
|
|
|
config USE_AAU
|
|
bool # Now it is enabled permanently
|
|
default y
|
|
|
|
config STACK_REG_WINDOW
|
|
bool "Enable local registers window show while fancy stack listing"
|
|
default y
|
|
help
|
|
Say Y here to enable printing of local registers while
|
|
stack's printing.
|
|
|
|
Do "echo 1 > /proc/sys/debug/userstack" to show user's registers.
|
|
|
|
config DATA_STACK_WINDOW
|
|
bool "Enable kernel data stack show while fancy stack listing"
|
|
default y
|
|
help
|
|
Say Y here to enable printing of data stack while stack's
|
|
printing.
|
|
|
|
Do "echo 1 > /proc/sys/debug/datastack" to show the stack.
|
|
|
|
config DUMP_ON_OTHER_CPUS
|
|
bool "Enable stack dump of tasks running on other CPUs"
|
|
default n
|
|
help
|
|
dump of running task on other CPU use smp call, so this
|
|
mode can hang up the system in the case of emergency dump
|
|
|
|
config BINFMT_ELF32
|
|
tristate "Kernel support for 32-bit ELF binaries"
|
|
select COMPAT_BINFMT_ELF
|
|
|
|
config COMPAT
|
|
def_bool y
|
|
depends on BINFMT_ELF32
|
|
select ARCH_WANT_OLD_COMPAT_IPC
|
|
|
|
config PROTECTED_MODE
|
|
tristate "Security mode"
|
|
|
|
config DBG_RTL_TRACE
|
|
bool "Enable printing rtl messages in security mode"
|
|
depends on PROTECTED_MODE
|
|
default N
|
|
|
|
config CLW_ENABLE
|
|
bool "Enable clean of user stack window"
|
|
depends on PROTECTED_MODE
|
|
default y
|
|
|
|
config IPD_DISABLE
|
|
bool "Disable Instruction Cache prefetch for kernel"
|
|
help
|
|
If you say 'Y' then Instruction Cache prefetch will be
|
|
disable for kernel threads
|
|
Otherwise two line of ICACHE prefetch will be set
|
|
default N
|
|
|
|
config GREGS_CONTEXT
|
|
bool # Now it is enabled permanently
|
|
default y
|
|
|
|
config MLT_STORAGE
|
|
bool "Store MLT registers"
|
|
help
|
|
Store when task switch
|
|
default N
|
|
|
|
config TC_STORAGE
|
|
bool "Store Table Cache default line"
|
|
help
|
|
Flushing Table Cashe and storing default string of TC
|
|
when tasks switch
|
|
default N
|
|
|
|
config IGNORE_MEM_LOCK_AS
|
|
bool "Ignore exc_mem_lock_as"
|
|
help
|
|
Ignore mem_lock_as exception in binary compiler task
|
|
default N
|
|
|
|
config EMERGENCY_DUMP
|
|
bool "Prepare system to dump all memory on emergency events"
|
|
select RECOVERY
|
|
help
|
|
Kernel prepare system to can do core dump of all memory
|
|
If some emergency event will occure and system restart
|
|
then boot do core dump
|
|
default N
|
|
|
|
config DUMP_DEV
|
|
string "Core dump device or special file path"
|
|
depends on EMERGENCY_DUMP
|
|
help
|
|
You can specify path to block device or regular file
|
|
as for swap files. You can redefine the file in the
|
|
command line string typing dumpdev=/dev/xxxx
|
|
This device or file will be used to dump and to save/restore
|
|
control points
|
|
default ""
|
|
|
|
config CORE_AREA_MAX_SIZE
|
|
int "Max size (Mgb) of core dump area in the special file"
|
|
depends on EMERGENCY_DUMP
|
|
help
|
|
You should specify max size in Mgb on the disk of area
|
|
to do core dump of all memory. You can redefine the size in the
|
|
command line string typing dumpmax=NNN
|
|
Size of disk area should be greater as all memory size
|
|
default 16384
|
|
|
|
config RECOVERY
|
|
bool "Enable system recovery"
|
|
select PM
|
|
help
|
|
Enable mode to support control points and dump analyzing mode
|
|
default y
|
|
|
|
config TIME_TO_RESTART
|
|
int "Time period (secs) to restart system (RECOVERY debugging)"
|
|
range 0 255
|
|
depends on RECOVERY
|
|
default "0"
|
|
|
|
config CNT_POINTS_RECREATE
|
|
bool "Recreate control points each time period to restart"
|
|
depends on RECOVERY && TIME_TO_RESTART != 0
|
|
help
|
|
Control points will be recreated after each time period,
|
|
else points created only one time before first restart
|
|
default n
|
|
|
|
config CNT_POINTS_NUM
|
|
int "Number of control points in the memory"
|
|
range 0 8
|
|
depends on RECOVERY
|
|
help
|
|
All physical memory will be devided to specified number
|
|
of control points. Each control point can use only own
|
|
part of the memory. If number is 0 then no any control
|
|
points. If number is 1 then control point only on a disk.
|
|
default "0"
|
|
|
|
config CNT_POINTS_DEV
|
|
string "Control points special file path"
|
|
depends on RECOVERY && CNT_POINTS_NUM != 0 && !DUMP_DEV
|
|
help
|
|
You can specify path to block device or regular file
|
|
as for swap files. You can redefine the file in the
|
|
command line string typing cntpdev=/dev/xxxx
|
|
This device or file will be used to save and restore
|
|
control points.
|
|
default ""
|
|
|
|
config CNTP_AREA_MAX_SIZE
|
|
int "Max size (Mgb) of one control point area in the special file"
|
|
depends on RECOVERY && CNT_POINTS_NUM != 0
|
|
help
|
|
You should specify max size in Mgb on the disk of one
|
|
control point. You can redefine the size in the
|
|
command line string typing cntpmax=NNN
|
|
Size of the saved control point should be smaller
|
|
specified size in Mgb.
|
|
default 1024
|
|
|
|
config SMALL_KERN_MEM_DIV
|
|
int "The part of full physical memory to load 'small' kernel"
|
|
depends on RECOVERY && !(CNT_POINTS_NUM != 0 && CNT_POINTS_NUM != 1)
|
|
help
|
|
The part of full physical memory of size
|
|
(full physical memory) \ SMALL_KERN_MEM_DIV
|
|
will be used to load 'small' kernel at the end of the
|
|
physical memory for creating control point for quick restart
|
|
or for starting dump analyzing mode.
|
|
default "3"
|
|
|
|
config MONITORS
|
|
bool "Hardware monitor counters support"
|
|
depends on PROC_FS
|
|
help
|
|
Say Y here to enable the monitors supporting mechanism used
|
|
for counting of variuos hardware events
|
|
|
|
config STATE_SAVE
|
|
bool # Now it is not supported
|
|
depends on RECOVERY
|
|
help
|
|
This mode now does not support
|
|
default N
|
|
|
|
config DUMP_ALL_STACKS
|
|
bool "Enable dump of all stacks"
|
|
default Y
|
|
|
|
config PRINT_KERNEL_THREADS
|
|
bool "Dump all kernel threads"
|
|
help
|
|
If you say 'Y' then stacks of all processes including
|
|
all kernel threads will be dumped,
|
|
otherwise only user tasks stacks will be dumped
|
|
depends on DUMP_ALL_STACKS
|
|
default N
|
|
|
|
config CMDLINE
|
|
string "Initial kernel command string"
|
|
default "root=/dev/hda3 console=ttyLMS "
|
|
|
|
#
|
|
# Define implied options from the CPU selection here
|
|
#
|
|
|
|
config SMP
|
|
bool "Symmetric multi-processing support"
|
|
default y
|
|
---help---
|
|
This enables support for systems with more than one CPU. If you have
|
|
a system with only one CPU, like most personal computers, say N. If
|
|
you have a system with more than one CPU, say Y.
|
|
|
|
If you say N here, the kernel will run on single and multiprocessor
|
|
machines, but will use only one CPU of a multiprocessor machine. If
|
|
you say Y here, the kernel will run on many, but not all,
|
|
singleprocessor machines. On a singleprocessor machine, the kernel
|
|
will run faster if you say N here.
|
|
|
|
Note that if you say Y here and choose architecture "586" or
|
|
"Pentium" under "Processor family", the kernel will not work on 486
|
|
architectures. Similarly, multiprocessor kernels for the "PPro"
|
|
architecture may not work on all Pentium based boards.
|
|
|
|
People using multiprocessor machines who say Y here should also say
|
|
Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
|
|
Management" code will be disabled if you say Y here.
|
|
|
|
See also the <file:Documentation/smp.txt>,
|
|
<file:Documentation/i386/IO-APIC.txt>,
|
|
<file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
|
|
<http://www.tldp.org/docs.html#howto>.
|
|
|
|
If you don't know what to do here, say N.
|
|
|
|
config NR_CPUS
|
|
int "Maximum number of CPUs (2-255)"
|
|
range 2 255
|
|
depends on SMP
|
|
default "2"
|
|
help
|
|
This allows you to specify the maximum number of CPUs which this
|
|
kernel will support. The maximum supported value is 255 and the
|
|
minimum value which makes sense is 2.
|
|
|
|
This is purely to save memory - each supported CPU adds
|
|
approximately eight kilobytes to the kernel image.
|
|
|
|
config MCST
|
|
bool "MCST additions"
|
|
default y
|
|
|
|
source "kernel/Kconfig.preempt"
|
|
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
def_bool PREEMPT_RT_FULL
|
|
|
|
config RWSEM_XCHGADD_ALGORITHM
|
|
def_bool !RWSEM_GENERIC_SPINLOCK && !PREEMPT_RT_FULL
|
|
|
|
config GENERIC_TIME
|
|
def_bool y
|
|
|
|
config GENERIC_TIME_VSYSCALL
|
|
def_bool y
|
|
|
|
config GENERIC_CMOS_UPDATE
|
|
def_bool y
|
|
|
|
config GENERIC_CLOCKEVENTS
|
|
def_bool y
|
|
|
|
source "kernel/time/Kconfig"
|
|
|
|
config BIOS
|
|
bool "Enable bios chipset settings"
|
|
default y
|
|
help
|
|
Enable bios chipset settings such as io apic serial ports
|
|
keyboard, mouse etc.
|
|
|
|
config ENABLE_BIOS_MPTABLE
|
|
bool "Set mptable"
|
|
depends on BIOS && L_IO_APIC
|
|
default y
|
|
help
|
|
Constructing bios MP configuration table.
|
|
|
|
config ENABLE_ELBRUS_PCIBIOS
|
|
bool "Enable pcibios"
|
|
depends on BIOS
|
|
default y
|
|
help
|
|
Enable pci initialization in bios.
|
|
|
|
config ENABLE_IDE
|
|
bool "Enable hard drive"
|
|
depends on BIOS
|
|
default y
|
|
help
|
|
Enable ide in southbridge chip.
|
|
|
|
config ENABLE_KEYBOARD
|
|
bool "Enable keyboard"
|
|
depends on BIOS
|
|
default y
|
|
help
|
|
Enable keyboard in superio chip.
|
|
|
|
config ENABLE_MOUSE
|
|
bool "Enable mouse"
|
|
depends on BIOS
|
|
default y
|
|
help
|
|
Enable mouse in superio chip.
|
|
|
|
config ENABLE_FLOPPY
|
|
bool "Enable floppy"
|
|
depends on BIOS
|
|
default y
|
|
help
|
|
Enable fdc in superio chip.
|
|
|
|
config ENABLE_MGA
|
|
bool "Enable MGA"
|
|
depends on BIOS
|
|
default y
|
|
|
|
|
|
config ENABLE_RTC
|
|
bool "Enable rtc"
|
|
depends on BIOS
|
|
default y
|
|
help
|
|
Enable rtc in southbridge chip.
|
|
|
|
config ENABLE_SERIAL
|
|
bool "Enable serial ports"
|
|
depends on BIOS
|
|
default y
|
|
help
|
|
Enable com1 com2 in superio chip.
|
|
|
|
config ENABLE_PARALLEL_PORT
|
|
bool "Enable parallel port"
|
|
depends on BIOS
|
|
default y
|
|
help
|
|
Enable lpt in superio chip.
|
|
|
|
config ENABLE_IOAPIC
|
|
bool "Enable IO APIC"
|
|
depends on BIOS
|
|
default y
|
|
help
|
|
Set southbridge XBCS register io apic enable.
|
|
|
|
config ADC_DISABLE
|
|
bool "Disable second IO-link on e2c+ connected to ADC"
|
|
depends on BIOS
|
|
default n
|
|
help
|
|
In some case second link is not connected to anywhere
|
|
or not work properly
|
|
|
|
config OPTIMIZE_REGISTERS_ACCESS
|
|
bool "Optimize registers access"
|
|
default y
|
|
help
|
|
Disabling this option will prohibit lcc from optimizing
|
|
registers access instructions (rr/rw).
|
|
|
|
config E2K_STACKS_TRACER
|
|
bool "Trace kernel stacks usage"
|
|
default n
|
|
depends on !STACK_TRACER
|
|
select FUNCTION_TRACER
|
|
select STACKTRACE
|
|
select KALLSYMS
|
|
help
|
|
This special tracer records the maximum stack footprint of the
|
|
kernel and displays it in /sys/kernel/debug/tracing/stack_trace.
|
|
You can use 'stack_trace_filter' file to select which functions
|
|
to check the stacks on.
|
|
|
|
This tracer works by hooking into every function call that the
|
|
kernel executes, and keeping a maximum stack depth value and
|
|
stack-trace saved. If this is configured with DYNAMIC_FTRACE
|
|
then it will not have any overhead while the stack tracer
|
|
is disabled.
|
|
|
|
To enable the stack tracer on bootup, pass in 'stacktrace'
|
|
on the kernel command line. You can pass 'stacktrace=kernel'
|
|
to trace only kernel part of hardware stacks.
|
|
|
|
The stack tracer can also be enabled or disabled via the
|
|
sysctl kernel.stack_tracer_enabled
|
|
|
|
There is also sysctl kernel.stack_tracer_kernel_only knob
|
|
for controlling which threads to trace.
|
|
|
|
Pass stacktrace_filter= to the kernel command line to set
|
|
specific functions to check the stacks on.
|
|
|
|
Say N if unsure.
|
|
|
|
config FTRACE_E2K_PARAMETERS
|
|
bool "e2k specific ftrace parameters"
|
|
depends on FUNCTION_TRACER
|
|
default FUNCTION_TRACER
|
|
|
|
config FTRACE_DISABLE_ON_HIGH_LOAD
|
|
bool "Disable ftrace on high load"
|
|
depends on FTRACE_E2K_PARAMETERS && !DYNAMIC_FTRACE && FUNCTION_TRACER
|
|
default !DYNAMIC_FTRACE
|
|
help
|
|
Disable ftrace when number of nested interrupts exceeds MAX_HW_INTR / 2
|
|
|
|
config HAVE_FUNCTION_GRAPH_FP_TEST
|
|
bool "Ftrace: check frame pointer"
|
|
depends on FUNCTION_GRAPH_TRACER_CR_MAGIC && FTRACE_E2K_PARAMETERS
|
|
default n
|
|
help
|
|
If set ftrace will remember frame pointer on entry to the function
|
|
being traced and compare it with the frame pointer on return. This
|
|
option has little overhead.
|
|
|
|
config HW_BUG_IO_READ
|
|
bool "HW bug: insert WAIT_LD barrier after every IO read operation"
|
|
default n
|
|
help
|
|
e2c+ bug workaround. Bug appears at iohub2 razbrakovschik.
|
|
endmenu
|
|
|
|
source "arch/l/Kconfig"
|
|
|
|
menu "Power management options (ACPI, APM)"
|
|
|
|
source kernel/power/Kconfig
|
|
|
|
source "drivers/acpi/Kconfig"
|
|
|
|
config ARCH_HAS_CPU_IDLE_WAIT
|
|
def_bool y
|
|
|
|
config E2S_CLK_GATE
|
|
bool "E2S, E8C and E8C2 clock gating"
|
|
default y
|
|
help
|
|
If you say yes here you get support for e2s, e8c and e8c2 clock
|
|
gating.
|
|
|
|
source "drivers/cpufreq/Kconfig"
|
|
|
|
menu "APM (Advanced Power Management) BIOS Support"
|
|
depends on PM
|
|
|
|
config APM
|
|
tristate "APM (Advanced Power Management) BIOS support"
|
|
depends on PM
|
|
---help---
|
|
APM is a BIOS specification for saving power using several different
|
|
techniques. This is mostly useful for battery powered laptops with
|
|
APM compliant BIOSes. If you say Y here, the system time will be
|
|
reset after a RESUME operation, the /proc/apm device will provide
|
|
battery status information, and user-space programs will receive
|
|
notification of APM "events" (e.g. battery status change).
|
|
|
|
If you select "Y" here, you can disable actual use of the APM
|
|
BIOS by passing the "apm=off" option to the kernel at boot time.
|
|
|
|
Note that the APM support is almost completely disabled for
|
|
machines with more than one CPU.
|
|
|
|
In order to use APM, you will need supporting software. For location
|
|
and more information, read <file:Documentation/pm.txt> and the
|
|
Battery Powered Linux mini-HOWTO, available from
|
|
<http://www.tldp.org/docs.html#howto>.
|
|
|
|
This driver does not spin down disk drives (see the hdparm(8)
|
|
manpage ("man 8 hdparm") for that), and it doesn't turn off
|
|
VESA-compliant "green" monitors.
|
|
|
|
This driver does not support the TI 4000M TravelMate and the ACER
|
|
486/DX4/75 because they don't have compliant BIOSes. Many "green"
|
|
desktop machines also don't have compliant BIOSes, and this driver
|
|
may cause those machines to panic during the boot phase.
|
|
|
|
Generally, if you don't have a battery in your machine, there isn't
|
|
much point in using this driver and you should say N. If you get
|
|
random kernel OOPSes or reboots that don't seem to be related to
|
|
anything, try disabling/enabling this option (or disabling/enabling
|
|
APM in your BIOS).
|
|
|
|
Some other things you should try when experiencing seemingly random,
|
|
"weird" problems:
|
|
|
|
1) make sure that you have enough swap space and that it is
|
|
enabled.
|
|
2) pass the "no-hlt" option to the kernel
|
|
3) switch on floating point emulation in the kernel and pass
|
|
the "no387" option to the kernel
|
|
4) pass the "floppy=nodma" option to the kernel
|
|
5) pass the "mem=4M" option to the kernel (thereby disabling
|
|
all but the first 4 MB of RAM)
|
|
6) make sure that the CPU is not over clocked.
|
|
7) read the sig11 FAQ at <http://www.bitwizard.nl/sig11/>
|
|
8) disable the cache from your BIOS settings
|
|
9) install a fan for the video card or exchange video RAM
|
|
10) install a better fan for the CPU
|
|
11) exchange RAM chips
|
|
12) exchange the motherboard.
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
module will be called apm.
|
|
|
|
config APM_IGNORE_USER_SUSPEND
|
|
bool "Ignore USER SUSPEND"
|
|
depends on APM
|
|
help
|
|
This option will ignore USER SUSPEND requests. On machines with a
|
|
compliant APM BIOS, you want to say N. However, on the NEC Versa M
|
|
series notebooks, it is necessary to say Y because of a BIOS bug.
|
|
|
|
config APM_DO_ENABLE
|
|
bool "Enable PM at boot time"
|
|
depends on APM
|
|
---help---
|
|
Enable APM features at boot time. From page 36 of the APM BIOS
|
|
specification: "When disabled, the APM BIOS does not automatically
|
|
power manage devices, enter the Standby State, enter the Suspend
|
|
State, or take power saving steps in response to CPU Idle calls."
|
|
This driver will make CPU Idle calls when Linux is idle (unless this
|
|
feature is turned off -- see "Do CPU IDLE calls", below). This
|
|
should always save battery power, but more complicated APM features
|
|
will be dependent on your BIOS implementation. You may need to turn
|
|
this option off if your computer hangs at boot time when using APM
|
|
support, or if it beeps continuously instead of suspending. Turn
|
|
this off if you have a NEC UltraLite Versa 33/C or a Toshiba
|
|
T400CDT. This is off by default since most machines do fine without
|
|
this feature.
|
|
|
|
config APM_CPU_IDLE
|
|
bool "Make CPU Idle calls when idle"
|
|
depends on APM
|
|
help
|
|
Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop.
|
|
On some machines, this can activate improved power savings, such as
|
|
a slowed CPU clock rate, when the machine is idle. These idle calls
|
|
are made after the idle loop has run for some length of time (e.g.,
|
|
333 mS). On some machines, this will cause a hang at boot time or
|
|
whenever the CPU becomes idle. (On machines with more than one CPU,
|
|
this option does nothing.)
|
|
|
|
config APM_DISPLAY_BLANK
|
|
bool "Enable console blanking using APM"
|
|
depends on APM
|
|
help
|
|
Enable console blanking using the APM. Some laptops can use this to
|
|
turn off the LCD backlight when the screen blanker of the Linux
|
|
virtual console blanks the screen. Note that this is only used by
|
|
the virtual console screen blanker, and won't turn off the backlight
|
|
when using the X Window system. This also doesn't have anything to
|
|
do with your VESA-compliant power-saving monitor. Further, this
|
|
option doesn't work for all laptops -- it might not turn off your
|
|
backlight at all, or it might print a lot of errors to the console,
|
|
especially if you are using gpm.
|
|
|
|
config APM_RTC_IS_GMT
|
|
bool "RTC stores time in GMT"
|
|
depends on APM
|
|
help
|
|
Say Y here if your RTC (Real Time Clock a.k.a. hardware clock)
|
|
stores the time in GMT (Greenwich Mean Time). Say N if your RTC
|
|
stores localtime.
|
|
|
|
It is in fact recommended to store GMT in your RTC, because then you
|
|
don't have to worry about daylight savings time changes. The only
|
|
reason not to use GMT in your RTC is if you also run a broken OS
|
|
that doesn't understand GMT.
|
|
|
|
config APM_ALLOW_INTS
|
|
bool "Allow interrupts during APM BIOS calls"
|
|
depends on APM
|
|
help
|
|
Normally we disable external interrupts while we are making calls to
|
|
the APM BIOS as a measure to lessen the effects of a badly behaving
|
|
BIOS implementation. The BIOS should reenable interrupts if it
|
|
needs to. Unfortunately, some BIOSes do not -- especially those in
|
|
many of the newer IBM Thinkpads. If you experience hangs when you
|
|
suspend, try setting this to Y. Otherwise, say N.
|
|
|
|
config APM_REAL_MODE_POWER_OFF
|
|
bool "Use real mode APM BIOS call to power off"
|
|
depends on APM
|
|
help
|
|
Use real mode APM BIOS calls to switch off the computer. This is
|
|
a work-around for a number of buggy BIOSes. Switch this option on if
|
|
your computer crashes instead of powering off properly.
|
|
|
|
endmenu
|
|
|
|
source "drivers/cpuidle/Kconfig"
|
|
|
|
endmenu
|
|
|
|
|
|
menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
|
|
|
|
source "arch/l/pci/Kconfig" # should be set allways for e2k #
|
|
|
|
config PCI
|
|
bool "PCI support"
|
|
default y
|
|
select PCI_ELBRUS # should be set allways for e2k #
|
|
help
|
|
Find out whether you have a PCI motherboard. PCI is the name of a
|
|
bus system, i.e. the way the CPU talks to the other stuff inside
|
|
your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
|
|
VESA. If you have PCI, say Y, otherwise N.
|
|
|
|
The PCI-HOWTO, available from
|
|
<http://www.tldp.org/docs.html#howto>, contains valuable
|
|
information about which PCI hardware does work under Linux and which
|
|
doesn't.
|
|
|
|
config PCI_USE_VECTOR
|
|
bool "Vector-based interrupt indexing (MSI)"
|
|
depends on L_LOCAL_APIC && L_IO_APIC
|
|
default n
|
|
help
|
|
This replaces the current existing IRQ-based index interrupt scheme
|
|
with the vector-base index scheme. The advantages of vector base
|
|
over IRQ base are listed below:
|
|
1) Support MSI implementation.
|
|
2) Support future IOxAPIC hotplug
|
|
|
|
Note that this allows the device drivers to enable MSI, Message
|
|
Signaled Interrupt, on all MSI capable device functions detected.
|
|
Message Signal Interrupt enables an MSI-capable hardware device to
|
|
send an inbound Memory Write on its PCI bus instead of asserting
|
|
IRQ signal on device IRQ pin.
|
|
|
|
If you don't know what to do here, say N.
|
|
|
|
source "drivers/pci/pcie/Kconfig"
|
|
source "drivers/pci/Kconfig"
|
|
|
|
config ISA
|
|
bool "ISA support"
|
|
help
|
|
Find out whether you have ISA slots on your motherboard. ISA is the
|
|
name of a bus system, i.e. the way the CPU talks to the other stuff
|
|
inside your box. Other bus systems are PCI, EISA, MicroChannel
|
|
(MCA) or VESA. ISA is an older system, now being displaced by PCI;
|
|
newer boards don't support it. If you have ISA, say Y, otherwise N.
|
|
|
|
|
|
source "drivers/pcmcia/Kconfig"
|
|
|
|
source "drivers/pci/hotplug/Kconfig"
|
|
|
|
endmenu
|
|
|
|
|
|
menu "Executable file formats"
|
|
|
|
source "fs/Kconfig.binfmt"
|
|
|
|
endmenu
|
|
|
|
source "net/Kconfig"
|
|
|
|
source "drivers/Kconfig"
|
|
|
|
source "fs/Kconfig"
|
|
|
|
source "arch/e2k/Kconfig.debug"
|
|
|
|
source "security/Kconfig"
|
|
|
|
config KEYS_COMPAT
|
|
bool
|
|
depends on COMPAT && KEYS
|
|
default y
|
|
|
|
source "crypto/Kconfig"
|
|
|
|
source "lib/Kconfig"
|
|
|