| # | |
| # For a description of the syntax of this configuration file, | |
| # see Documentation/kbuild/kconfig-language.txt. | |
| # | |
| config RISCV | |
| def_bool y | |
| select OF | |
| select OF_EARLY_FLATTREE | |
| select OF_IRQ | |
| select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE | |
| select ARCH_WANT_FRAME_POINTERS | |
| select CLONE_BACKWARDS | |
| select COMMON_CLK | |
| 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 ARCH_WANT_OPTIONAL_GPIOLIB | |
| select HAVE_MEMBLOCK | |
| select HAVE_DMA_API_DEBUG | |
| select HAVE_DMA_CONTIGUOUS | |
| select HAVE_GENERIC_DMA_COHERENT | |
| 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_IRQ_INTC | |
| select RISCV_TIMER | |
| config MMU | |
| def_bool y | |
| # even on 32-bit, physical (and DMA) addresses are > 32-bits | |
| config ARCH_PHYS_ADDR_T_64BIT | |
| def_bool y | |
| config ARCH_DMA_ADDR_T_64BIT | |
| def_bool y | |
| 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 | |
| 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 | |
| config DMA_NOOP_OPS | |
| def_bool y | |
| 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 CPU_SUPPORTS_32BIT_KERNEL | |
| select 32BIT | |
| select GENERIC_ASHLDI3 | |
| select GENERIC_ASHRDI3 | |
| select GENERIC_LSHRDI3 | |
| config ARCH_RV64I | |
| bool "RV64I" | |
| select CPU_SUPPORTS_64BIT_KERNEL | |
| select 64BIT | |
| 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 | |
| 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 | |
| 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" | |
| config CPU_SUPPORTS_32BIT_KERNEL | |
| bool | |
| config CPU_SUPPORTS_64BIT_KERNEL | |
| bool | |
| 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 | |
| endmenu | |
| menu "Kernel type" | |
| choice | |
| prompt "Kernel code model" | |
| default 64BIT | |
| config 32BIT | |
| bool "32-bit kernel" | |
| depends on CPU_SUPPORTS_32BIT_KERNEL | |
| help | |
| Select this option to build a 32-bit kernel. | |
| config 64BIT | |
| bool "64-bit kernel" | |
| depends on CPU_SUPPORTS_64BIT_KERNEL | |
| help | |
| Select this option to build a 64-bit kernel. | |
| endchoice | |
| source "mm/Kconfig" | |
| source "kernel/Kconfig.preempt" | |
| 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 | |
| source "init/Kconfig" | |
| source "kernel/Kconfig.freezer" | |
| menu "Executable file formats" | |
| source "fs/Kconfig.binfmt" | |
| endmenu | |
| menu "Power management options" | |
| source kernel/power/Kconfig | |
| endmenu | |
| source "net/Kconfig" | |
| source "drivers/Kconfig" | |
| source "fs/Kconfig" | |
| menu "Kernel hacking" | |
| config CMDLINE_BOOL | |
| bool "Built-in kernel command line" | |
| help | |
| For most platforms, it is firmware or second stage bootloader | |
| that by default specifies the kernel command line options. | |
| However, it might be necessary or advantageous to either override | |
| the default kernel command line or add a few extra options to it. | |
| For such cases, this option allows hardcoding command line options | |
| directly into the kernel. | |
| For that, choose 'Y' here and fill in the extra boot parameters | |
| in CONFIG_CMDLINE. | |
| The built-in options will be concatenated to the default command | |
| line if CMDLINE_OVERRIDE is set to 'N'. Otherwise, the default | |
| command line will be ignored and replaced by the built-in string. | |
| config CMDLINE | |
| string "Built-in kernel command string" | |
| depends on CMDLINE_BOOL | |
| default "" | |
| help | |
| Supply command-line options at build time by entering them here. | |
| config CMDLINE_OVERRIDE | |
| bool "Built-in command line overrides bootloader arguments" | |
| depends on CMDLINE_BOOL | |
| help | |
| Set this option to 'Y' to have the kernel ignore the bootloader | |
| or firmware command line. Instead, the built-in command line | |
| will be used exclusively. | |
| If you don't know what to do here, say N. | |
| config EARLY_PRINTK | |
| def_bool y | |
| source "lib/Kconfig.debug" | |
| config CMDLINE_BOOL | |
| bool | |
| endmenu | |
| source "security/Kconfig" | |
| source "crypto/Kconfig" | |
| source "lib/Kconfig" |