2017-07-11 03:08:08 +02:00
|
|
|
#
|
|
|
|
# For a description of the syntax of this configuration file,
|
|
|
|
# see Documentation/kbuild/kconfig-language.txt.
|
|
|
|
#
|
|
|
|
|
2018-04-27 08:38:23 +02:00
|
|
|
config 64BIT
|
|
|
|
bool
|
|
|
|
|
|
|
|
config 32BIT
|
|
|
|
bool
|
|
|
|
|
2017-07-11 03:08:08 +02:00
|
|
|
config RISCV
|
|
|
|
def_bool y
|
2018-04-03 16:24:20 +02:00
|
|
|
# even on 32-bit, physical (and DMA) addresses are > 32-bits
|
|
|
|
select PHYS_ADDR_T_64BIT
|
2017-07-11 03:08:08 +02:00
|
|
|
select OF
|
|
|
|
select OF_EARLY_FLATTREE
|
|
|
|
select OF_IRQ
|
|
|
|
select ARCH_WANT_FRAME_POINTERS
|
|
|
|
select CLONE_BACKWARDS
|
|
|
|
select COMMON_CLK
|
2018-04-16 14:53:51 +02:00
|
|
|
select DMA_DIRECT_OPS
|
2017-07-11 03:08:08 +02:00
|
|
|
select GENERIC_CLOCKEVENTS
|
|
|
|
select GENERIC_CPU_DEVICES
|
|
|
|
select GENERIC_IRQ_SHOW
|
|
|
|
select GENERIC_PCI_IOMAP
|
|
|
|
select GENERIC_STRNCPY_FROM_USER
|
|
|
|
select GENERIC_STRNLEN_USER
|
|
|
|
select GENERIC_SMP_IDLE_THREAD
|
|
|
|
select GENERIC_ATOMIC64 if !64BIT || !RISCV_ISA_A
|
|
|
|
select HAVE_MEMBLOCK
|
2018-01-16 09:37:50 +01:00
|
|
|
select HAVE_MEMBLOCK_NODE_MAP
|
2017-07-11 03:08:08 +02:00
|
|
|
select HAVE_DMA_CONTIGUOUS
|
|
|
|
select HAVE_GENERIC_DMA_COHERENT
|
2018-04-20 01:27:49 +02:00
|
|
|
select HAVE_PERF_EVENTS
|
2017-07-11 03:08:08 +02:00
|
|
|
select IRQ_DOMAIN
|
|
|
|
select NO_BOOTMEM
|
|
|
|
select RISCV_ISA_A if SMP
|
|
|
|
select SPARSE_IRQ
|
|
|
|
select SYSCTL_EXCEPTION_TRACE
|
|
|
|
select HAVE_ARCH_TRACEHOOK
|
|
|
|
select MODULES_USE_ELF_RELA if MODULES
|
|
|
|
select THREAD_INFO_IN_TASK
|
|
|
|
select RISCV_TIMER
|
2018-03-08 00:57:28 +01:00
|
|
|
select GENERIC_IRQ_MULTI_HANDLER
|
2018-06-08 02:06:08 +02:00
|
|
|
select ARCH_HAS_PTE_SPECIAL
|
2017-07-11 03:08:08 +02:00
|
|
|
|
|
|
|
config MMU
|
|
|
|
def_bool y
|
|
|
|
|
2018-01-16 09:37:50 +01:00
|
|
|
config ZONE_DMA32
|
|
|
|
bool
|
2018-04-27 08:41:09 +02:00
|
|
|
default y if 64BIT
|
2018-01-16 09:37:50 +01:00
|
|
|
|
2017-07-11 03:08:08 +02:00
|
|
|
config PAGE_OFFSET
|
|
|
|
hex
|
|
|
|
default 0xC0000000 if 32BIT && MAXPHYSMEM_2GB
|
|
|
|
default 0xffffffff80000000 if 64BIT && MAXPHYSMEM_2GB
|
|
|
|
default 0xffffffe000000000 if 64BIT && MAXPHYSMEM_128GB
|
|
|
|
|
|
|
|
config STACKTRACE_SUPPORT
|
|
|
|
def_bool y
|
|
|
|
|
2017-12-18 10:52:48 +01:00
|
|
|
config TRACE_IRQFLAGS_SUPPORT
|
|
|
|
def_bool y
|
|
|
|
|
2017-07-11 03:08:08 +02:00
|
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
|
|
def_bool y
|
|
|
|
|
|
|
|
config GENERIC_BUG
|
|
|
|
def_bool y
|
|
|
|
depends on BUG
|
|
|
|
select GENERIC_BUG_RELATIVE_POINTERS if 64BIT
|
|
|
|
|
|
|
|
config GENERIC_BUG_RELATIVE_POINTERS
|
|
|
|
bool
|
|
|
|
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
|
|
def_bool y
|
|
|
|
|
|
|
|
config GENERIC_CSUM
|
|
|
|
def_bool y
|
|
|
|
|
|
|
|
config GENERIC_HWEIGHT
|
|
|
|
def_bool y
|
|
|
|
|
|
|
|
config PGTABLE_LEVELS
|
|
|
|
int
|
|
|
|
default 3 if 64BIT
|
|
|
|
default 2
|
|
|
|
|
|
|
|
config HAVE_KPROBES
|
|
|
|
def_bool n
|
|
|
|
|
|
|
|
menu "Platform type"
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "Base ISA"
|
|
|
|
default ARCH_RV64I
|
|
|
|
help
|
|
|
|
This selects the base ISA that this kernel will traget and must match
|
|
|
|
the target platform.
|
|
|
|
|
|
|
|
config ARCH_RV32I
|
|
|
|
bool "RV32I"
|
|
|
|
select 32BIT
|
2018-04-11 09:50:17 +02:00
|
|
|
select GENERIC_LIB_ASHLDI3
|
|
|
|
select GENERIC_LIB_ASHRDI3
|
|
|
|
select GENERIC_LIB_LSHRDI3
|
2018-06-25 10:49:38 +02:00
|
|
|
select GENERIC_LIB_UCMPDI2
|
2017-07-11 03:08:08 +02:00
|
|
|
|
|
|
|
config ARCH_RV64I
|
|
|
|
bool "RV64I"
|
|
|
|
select 64BIT
|
2017-12-18 10:52:48 +01:00
|
|
|
select HAVE_FUNCTION_TRACER
|
|
|
|
select HAVE_FUNCTION_GRAPH_TRACER
|
2018-02-13 06:13:16 +01:00
|
|
|
select HAVE_FTRACE_MCOUNT_RECORD
|
2018-02-13 06:13:17 +01:00
|
|
|
select HAVE_DYNAMIC_FTRACE
|
2018-02-13 06:13:20 +01:00
|
|
|
select HAVE_DYNAMIC_FTRACE_WITH_REGS
|
2018-04-27 08:43:14 +02:00
|
|
|
select SWIOTLB
|
2017-07-11 03:08:08 +02:00
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
# We must be able to map all physical memory into the kernel, but the compiler
|
|
|
|
# is still a bit more efficient when generating code if it's setup in a manner
|
|
|
|
# such that it can only map 2GiB of memory.
|
|
|
|
choice
|
|
|
|
prompt "Kernel Code Model"
|
|
|
|
default CMODEL_MEDLOW if 32BIT
|
|
|
|
default CMODEL_MEDANY if 64BIT
|
|
|
|
|
|
|
|
config CMODEL_MEDLOW
|
|
|
|
bool "medium low code model"
|
|
|
|
config CMODEL_MEDANY
|
|
|
|
bool "medium any code model"
|
|
|
|
endchoice
|
|
|
|
|
2018-03-15 09:50:41 +01:00
|
|
|
config MODULE_SECTIONS
|
|
|
|
bool
|
|
|
|
select HAVE_MOD_ARCH_SPECIFIC
|
|
|
|
|
2017-07-11 03:08:08 +02:00
|
|
|
choice
|
|
|
|
prompt "Maximum Physical Memory"
|
|
|
|
default MAXPHYSMEM_2GB if 32BIT
|
|
|
|
default MAXPHYSMEM_2GB if 64BIT && CMODEL_MEDLOW
|
|
|
|
default MAXPHYSMEM_128GB if 64BIT && CMODEL_MEDANY
|
|
|
|
|
|
|
|
config MAXPHYSMEM_2GB
|
|
|
|
bool "2GiB"
|
|
|
|
config MAXPHYSMEM_128GB
|
|
|
|
depends on 64BIT && CMODEL_MEDANY
|
2018-03-15 09:50:41 +01:00
|
|
|
select MODULE_SECTIONS if MODULES
|
2017-07-11 03:08:08 +02:00
|
|
|
bool "128GiB"
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
|
|
|
|
config SMP
|
|
|
|
bool "Symmetric Multi-Processing"
|
|
|
|
help
|
|
|
|
This enables support for systems with more than one CPU. 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, single processor machines. On a single
|
|
|
|
processor machine, the kernel will run faster if you say N
|
|
|
|
here.
|
|
|
|
|
|
|
|
If you don't know what to do here, say N.
|
|
|
|
|
|
|
|
config NR_CPUS
|
|
|
|
int "Maximum number of CPUs (2-32)"
|
|
|
|
range 2 32
|
|
|
|
depends on SMP
|
|
|
|
default "8"
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "CPU Tuning"
|
|
|
|
default TUNE_GENERIC
|
|
|
|
|
|
|
|
config TUNE_GENERIC
|
|
|
|
bool "generic"
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
config RISCV_ISA_C
|
|
|
|
bool "Emit compressed instructions when building Linux"
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Adds "C" to the ISA subsets that the toolchain is allowed to emit
|
|
|
|
when building Linux, which results in compressed instructions in the
|
|
|
|
Linux binary.
|
|
|
|
|
|
|
|
If you don't know what to do here, say Y.
|
|
|
|
|
|
|
|
config RISCV_ISA_A
|
|
|
|
def_bool y
|
|
|
|
|
2018-04-20 01:27:49 +02:00
|
|
|
menu "supported PMU type"
|
|
|
|
depends on PERF_EVENTS
|
|
|
|
|
|
|
|
config RISCV_BASE_PMU
|
|
|
|
bool "Base Performance Monitoring Unit"
|
|
|
|
def_bool y
|
|
|
|
help
|
|
|
|
A base PMU that serves as a reference implementation and has limited
|
|
|
|
feature of perf. It can run on any RISC-V machines so serves as the
|
|
|
|
fallback, but this option can also be disable to reduce kernel size.
|
|
|
|
|
|
|
|
endmenu
|
|
|
|
|
2017-07-11 03:08:08 +02:00
|
|
|
endmenu
|
|
|
|
|
|
|
|
menu "Kernel type"
|
|
|
|
|
|
|
|
source "kernel/Kconfig.hz"
|
|
|
|
|
|
|
|
endmenu
|
|
|
|
|
|
|
|
menu "Bus support"
|
|
|
|
|
|
|
|
config PCI
|
|
|
|
bool "PCI support"
|
|
|
|
select PCI_MSI
|
|
|
|
help
|
|
|
|
This feature enables support for PCI bus system. If you say Y
|
|
|
|
here, the kernel will include drivers and infrastructure code
|
|
|
|
to support PCI bus devices.
|
|
|
|
|
|
|
|
If you don't know what to do here, say Y.
|
|
|
|
|
|
|
|
config PCI_DOMAINS
|
|
|
|
def_bool PCI
|
|
|
|
|
|
|
|
config PCI_DOMAINS_GENERIC
|
|
|
|
def_bool PCI
|
|
|
|
|
|
|
|
source "drivers/pci/Kconfig"
|
|
|
|
|
|
|
|
endmenu
|
|
|
|
|
|
|
|
menu "Power management options"
|
|
|
|
|
|
|
|
source kernel/power/Kconfig
|
|
|
|
|
|
|
|
endmenu
|