mirror of
https://gitee.com/open-loongarch/linux-5.10.git
synced 2026-10-28 22:17:12 +08:00
1. drivers/net/usb: qmi_wwan: Update qmi driver from github 2. dtsi:2k300:添加HS200模式配置,先锋派和锋鸟板需要在uboot中调节MMC驱动力(uboot-240929的版本开始支持此功能) 3. sound/soc: sound-card:fix distortion of sound 4. thermal:2k300:update thermal calu code
814 lines
21 KiB
Plaintext
814 lines
21 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
config LOONGARCH
|
|
bool
|
|
default y
|
|
select ACPI_MCFG if ACPI
|
|
select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
|
|
select ARCH_BINFMT_ELF_STATE
|
|
select ARCH_HAS_ACPI_TABLE_UPGRADE if ACPI
|
|
select ARCH_HAS_PTE_SPECIAL if !32BIT
|
|
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
|
|
select ARCH_INLINE_READ_LOCK if !PREEMPTION
|
|
select ARCH_INLINE_READ_LOCK_BH if !PREEMPTION
|
|
select ARCH_INLINE_READ_LOCK_IRQ if !PREEMPTION
|
|
select ARCH_INLINE_READ_LOCK_IRQSAVE if !PREEMPTION
|
|
select ARCH_INLINE_READ_UNLOCK if !PREEMPTION
|
|
select ARCH_INLINE_READ_UNLOCK_BH if !PREEMPTION
|
|
select ARCH_INLINE_READ_UNLOCK_IRQ if !PREEMPTION
|
|
select ARCH_INLINE_READ_UNLOCK_IRQRESTORE if !PREEMPTION
|
|
select ARCH_INLINE_WRITE_LOCK if !PREEMPTION
|
|
select ARCH_INLINE_WRITE_LOCK_BH if !PREEMPTION
|
|
select ARCH_INLINE_WRITE_LOCK_IRQ if !PREEMPTION
|
|
select ARCH_INLINE_WRITE_LOCK_IRQSAVE if !PREEMPTION
|
|
select ARCH_INLINE_WRITE_UNLOCK if !PREEMPTION
|
|
select ARCH_INLINE_WRITE_UNLOCK_BH if !PREEMPTION
|
|
select ARCH_INLINE_WRITE_UNLOCK_IRQ if !PREEMPTION
|
|
select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE if !PREEMPTION
|
|
select ARCH_INLINE_SPIN_TRYLOCK if !PREEMPTION
|
|
select ARCH_INLINE_SPIN_TRYLOCK_BH if !PREEMPTION
|
|
select ARCH_INLINE_SPIN_LOCK if !PREEMPTION
|
|
select ARCH_INLINE_SPIN_LOCK_BH if !PREEMPTION
|
|
select ARCH_INLINE_SPIN_LOCK_IRQ if !PREEMPTION
|
|
select ARCH_INLINE_SPIN_LOCK_IRQSAVE if !PREEMPTION
|
|
select ARCH_INLINE_SPIN_UNLOCK if !PREEMPTION
|
|
select ARCH_INLINE_SPIN_UNLOCK_BH if !PREEMPTION
|
|
select ARCH_INLINE_SPIN_UNLOCK_IRQ if !PREEMPTION
|
|
select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE if !PREEMPTION
|
|
select ARCH_SUPPORTS_ACPI
|
|
select ARCH_SUPPORTS_NUMA_BALANCING
|
|
select ARCH_SUPPORTS_UPROBES
|
|
select ARCH_USE_BUILTIN_BSWAP
|
|
select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
|
|
select ARCH_USE_QUEUED_RWLOCKS
|
|
select ARCH_USE_QUEUED_SPINLOCKS
|
|
select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT
|
|
select BUILDTIME_TABLE_SORT
|
|
select COMMON_CLK
|
|
select CPU_PM
|
|
select GENERIC_ATOMIC64 if !64BIT
|
|
select GENERIC_CLOCKEVENTS
|
|
select GENERIC_CMOS_UPDATE
|
|
select GENERIC_CPU_AUTOPROBE
|
|
select GENERIC_ENTRY
|
|
select GENERIC_FIND_FIRST_BIT
|
|
select GENERIC_GETTIMEOFDAY
|
|
select GENERIC_IRQ_MULTI_HANDLER
|
|
select GENERIC_IRQ_PROBE
|
|
select GENERIC_IRQ_SHOW
|
|
select GENERIC_LIB_ASHLDI3
|
|
select GENERIC_LIB_ASHRDI3
|
|
select GENERIC_LIB_CMPDI2
|
|
select GENERIC_LIB_LSHRDI3
|
|
select GENERIC_LIB_UCMPDI2
|
|
select GENERIC_PCI_IOMAP
|
|
select GENERIC_SCHED_CLOCK
|
|
select GENERIC_SMP_IDLE_THREAD
|
|
select GENERIC_TIME_VSYSCALL
|
|
select HANDLE_DOMAIN_IRQ
|
|
select HAVE_ARCH_AUDITSYSCALL
|
|
select HAVE_ARCH_COMPILER_H
|
|
select HAVE_ARCH_JUMP_LABEL
|
|
select HAVE_ARCH_KASAN if 64BIT
|
|
select HAVE_ARCH_KGDB
|
|
select HAVE_ARCH_MMAP_RND_BITS if MMU
|
|
select HAVE_ARCH_SECCOMP_FILTER
|
|
select HAVE_ARCH_TRACEHOOK
|
|
select HAVE_ARCH_TRANSPARENT_HUGEPAGE
|
|
select HAVE_ASM_MODVERSIONS
|
|
select HAVE_CONTEXT_TRACKING
|
|
select HAVE_COPY_THREAD_TLS
|
|
select HAVE_C_RECORDMCOUNT
|
|
select HAVE_DEBUG_KMEMLEAK
|
|
select HAVE_DEBUG_STACKOVERFLOW
|
|
select HAVE_DMA_CONTIGUOUS
|
|
select HAVE_DYNAMIC_FTRACE
|
|
select HAVE_DYNAMIC_FTRACE_WITH_REGS
|
|
select HAVE_EBPF_JIT if 64BIT
|
|
select HAVE_EXIT_THREAD
|
|
select HAVE_FAST_GUP
|
|
select HAVE_FTRACE_MCOUNT_RECORD
|
|
select HAVE_FUNCTION_GRAPH_TRACER
|
|
select HAVE_FUNCTION_TRACER
|
|
select HAVE_FUTEX_CMPXCHG if FUTEX
|
|
select HAVE_GENERIC_VDSO
|
|
select HAVE_IOREMAP_PROT
|
|
select HAVE_IRQ_EXIT_ON_IRQ_STACK
|
|
select HAVE_IRQ_TIME_ACCOUNTING
|
|
select HAVE_KPROBES
|
|
select HAVE_KPROBES_ON_FTRACE
|
|
select HAVE_KRETPROBES
|
|
select HAVE_LIVEPATCH
|
|
select HAVE_MEMBLOCK
|
|
select HAVE_MEMBLOCK_NODE_MAP
|
|
select HAVE_MOD_ARCH_SPECIFIC
|
|
select HAVE_NMI
|
|
select HAVE_PERF_EVENTS
|
|
select HAVE_PERF_REGS
|
|
select HAVE_PERF_USER_STACK_DUMP
|
|
select HAVE_REGS_AND_STACK_ACCESS_API
|
|
select HAVE_RELIABLE_STACKTRACE
|
|
select HAVE_RSEQ
|
|
select HAVE_STACKPROTECTOR
|
|
select HAVE_STACK_VALIDATION
|
|
select HAVE_SYSCALL_TRACEPOINTS
|
|
select HAVE_TIF_NOHZ
|
|
select HAVE_VIRT_CPU_ACCOUNTING_GEN if 64BIT || !SMP
|
|
select IOREMAP_WITH_TLB
|
|
select IRQ_FORCED_THREADING
|
|
select MODULES_USE_ELF_RELA if MODULES && 64BIT
|
|
select MODULES_USE_ELF_REL if MODULES
|
|
select PCI_DOMAINS_GENERIC if PCI
|
|
select PCI_ECAM if ACPI
|
|
select PCI_MSI_ARCH_FALLBACKS
|
|
select PERF_USE_VMALLOC
|
|
select RTC_LIB
|
|
select SYSCTL_EXCEPTION_TRACE
|
|
select LOONGARCH_CRC32_SUPPORT
|
|
|
|
menu "Machine selection"
|
|
|
|
choice
|
|
prompt "System type"
|
|
default MACH_LOONGSON64
|
|
|
|
config MACH_LOONGSON64
|
|
bool "Loongson 64-bit family of machines"
|
|
select ARCH_SPARSEMEM_ENABLE
|
|
select HAVE_PCI
|
|
select PCI
|
|
select IRQ_LOONGARCH_CPU
|
|
select NR_CPUS_DEFAULT_4
|
|
select SPARSE_IRQ
|
|
select SYS_HAS_CPU_LOONGSON64
|
|
select SYS_SUPPORTS_SMP
|
|
select SYS_SUPPORTS_ZBOOT
|
|
select SYS_SUPPORTS_HOTPLUG_CPU
|
|
select SYS_SUPPORTS_NUMA
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_HIGHMEM
|
|
select SYS_SUPPORTS_RELOCATABLE
|
|
select ZONE_DMA32
|
|
select USE_OF
|
|
select BUILTIN_DTB
|
|
help
|
|
This enables the support of Loongson 64-bit family of machines. These
|
|
machines are based on new Loongson-3 processors (Old Loongson is MIPS
|
|
compatible, while new Loongson is based on LoongArch ISA).
|
|
|
|
endchoice
|
|
|
|
source "arch/loongarch/loongson64/Kconfig"
|
|
|
|
endmenu
|
|
|
|
config GENERIC_HWEIGHT
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
bool
|
|
default y
|
|
|
|
config SCHED_OMIT_FRAME_POINTER
|
|
bool
|
|
default y
|
|
|
|
config ARCH_SUPPORTS_UPROBES
|
|
bool
|
|
|
|
config SYS_SUPPORTS_HOTPLUG_CPU
|
|
bool
|
|
|
|
config GENERIC_CSUM
|
|
def_bool y
|
|
|
|
config LOONGARCH_CRC32_SUPPORT
|
|
bool
|
|
default y
|
|
|
|
config SYS_SUPPORTS_RELOCATABLE
|
|
bool
|
|
help
|
|
Selected if the platform supports relocating the kernel.
|
|
|
|
config SYS_SUPPORTS_HUGETLBFS
|
|
def_bool y
|
|
|
|
config L1_CACHE_SHIFT
|
|
int
|
|
default "6"
|
|
|
|
menu "CPU selection"
|
|
|
|
choice
|
|
prompt "CPU type"
|
|
default CPU_LOONGSON64
|
|
|
|
config CPU_LOONGSON64
|
|
bool "Loongson 64-bit CPU"
|
|
depends on SYS_HAS_CPU_LOONGSON64
|
|
select ARCH_HAS_PHYS_TO_DMA
|
|
select CPU_SUPPORTS_64BIT_KERNEL
|
|
select CPU_SUPPORTS_HIGHMEM
|
|
select CPU_SUPPORTS_LSX
|
|
select CPU_SUPPORTS_LASX
|
|
select GPIOLIB
|
|
select SWIOTLB
|
|
select ARCH_SUPPORTS_ATOMIC_RMW
|
|
help
|
|
The Loongson 64-bit processor implements the LoongArch64 (the 64-bit
|
|
version of LoongArch) instruction set.
|
|
|
|
endchoice
|
|
|
|
config SYS_SUPPORTS_ZBOOT
|
|
bool
|
|
select HAVE_KERNEL_GZIP
|
|
select HAVE_KERNEL_BZIP2
|
|
select HAVE_KERNEL_LZ4
|
|
select HAVE_KERNEL_LZMA
|
|
select HAVE_KERNEL_LZO
|
|
select HAVE_KERNEL_XZ
|
|
select HAVE_KERNEL_ZSTD
|
|
|
|
config SYS_HAS_CPU_LOONGSON64
|
|
bool
|
|
|
|
endmenu
|
|
|
|
config SYS_SUPPORTS_32BIT_KERNEL
|
|
bool
|
|
config SYS_SUPPORTS_64BIT_KERNEL
|
|
bool
|
|
config CPU_SUPPORTS_32BIT_KERNEL
|
|
bool
|
|
config CPU_SUPPORTS_64BIT_KERNEL
|
|
bool
|
|
config HARDWARE_WATCHPOINTS
|
|
bool
|
|
default y
|
|
|
|
menu "Kernel type"
|
|
|
|
choice
|
|
prompt "Kernel code model"
|
|
help
|
|
You should only select this option if you have a workload that
|
|
actually benefits from 64-bit processing or if your machine has
|
|
large memory. You will only be presented a single option in this
|
|
menu if your system does not support both 32-bit and 64-bit kernels.
|
|
|
|
config 32BIT
|
|
bool "32-bit kernel"
|
|
depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
|
|
help
|
|
Select this option if you want to build a 32-bit kernel.
|
|
|
|
config 64BIT
|
|
bool "64-bit kernel"
|
|
depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
|
|
help
|
|
Select this option if you want to build a 64-bit kernel.
|
|
|
|
endchoice
|
|
|
|
config FIX_EARLYCON_MEM
|
|
def_bool y
|
|
|
|
config PAGE_SIZE_4KB
|
|
bool
|
|
|
|
config PAGE_SIZE_16KB
|
|
bool
|
|
|
|
config PAGE_SIZE_64KB
|
|
bool
|
|
|
|
config PGTABLE_2LEVEL
|
|
bool
|
|
|
|
config PGTABLE_3LEVEL
|
|
bool
|
|
|
|
config PGTABLE_4LEVEL
|
|
bool
|
|
|
|
config PGTABLE_LEVELS
|
|
int
|
|
default 2 if PGTABLE_2LEVEL
|
|
default 3 if PGTABLE_3LEVEL
|
|
default 4 if PGTABLE_4LEVEL
|
|
|
|
choice
|
|
prompt "Page Table Layout"
|
|
default 16KB_2LEVEL if 32BIT
|
|
default 16KB_3LEVEL if 64BIT
|
|
help
|
|
Allows choosing the page table layout, which is a combination
|
|
of page size and page table levels. The virtual memory address
|
|
space bits are determined by the page table layout.
|
|
|
|
config 4KB_3LEVEL
|
|
bool "4KB with 3 levels"
|
|
select PAGE_SIZE_4KB
|
|
select PGTABLE_3LEVEL
|
|
help
|
|
This option selects 4KB page size with 3 level page tables, which
|
|
support a maximum 39 bits of application virtual memory.
|
|
|
|
config 4KB_4LEVEL
|
|
bool "4KB with 4 levels"
|
|
select PAGE_SIZE_4KB
|
|
select PGTABLE_4LEVEL
|
|
help
|
|
This option selects 4KB page size with 4 level page tables, which
|
|
support a maximum 48 bits of application virtual memory.
|
|
|
|
config 16KB_2LEVEL
|
|
bool "16KB with 2 levels"
|
|
select PAGE_SIZE_16KB
|
|
select PGTABLE_2LEVEL
|
|
help
|
|
This option selects 16KB page size with 2 level page tables, which
|
|
support a maximum 36 bits of application virtual memory.
|
|
|
|
config 16KB_3LEVEL
|
|
bool "16KB with 3 levels"
|
|
select PAGE_SIZE_16KB
|
|
select PGTABLE_3LEVEL
|
|
help
|
|
This option selects 16KB page size with 3 level page tables, which
|
|
support a maximum 47 bits of application virtual memory.
|
|
|
|
config 64KB_2LEVEL
|
|
bool "64KB with 2 levels"
|
|
select PAGE_SIZE_64KB
|
|
select PGTABLE_2LEVEL
|
|
help
|
|
This option selects 64KB page size with 2 level page tables, which
|
|
support a maximum 42 bits of application virtual memory.
|
|
|
|
config 64KB_3LEVEL
|
|
bool "64KB with 3 levels"
|
|
select PAGE_SIZE_64KB
|
|
select PGTABLE_3LEVEL
|
|
help
|
|
This option selects 64KB page size with 3 level page tables, which
|
|
support a maximum 55 bits of application virtual memory.
|
|
|
|
endchoice
|
|
|
|
config FORCE_MAX_ZONEORDER
|
|
int "Maximum zone order"
|
|
range 14 64 if PAGE_SIZE_64KB
|
|
default "14" if PAGE_SIZE_64KB
|
|
range 12 64 if PAGE_SIZE_16KB
|
|
default "12" if PAGE_SIZE_16KB
|
|
range 11 64
|
|
default "11"
|
|
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 CPU_HAS_PREFETCH
|
|
bool
|
|
default y
|
|
|
|
config CPU_HAS_FPU
|
|
bool
|
|
default y
|
|
|
|
config CPU_HAS_LSX
|
|
bool "Support for the Loongson SIMD Extension"
|
|
depends on CPU_SUPPORTS_LSX
|
|
depends on 64BIT
|
|
help
|
|
Loongson SIMD Extension (LSX) introduces 128 bit wide vector registers
|
|
and a set of SIMD instructions to operate on them. When this option
|
|
is enabled the kernel will support allocating & switching LSX
|
|
vector register contexts. If you know that your kernel will only be
|
|
running on CPUs which do not support LSX or that your userland will
|
|
not be making use of it then you may wish to say N here to reduce
|
|
the size & complexity of your kernel.
|
|
|
|
If unsure, say Y.
|
|
|
|
config CPU_HAS_LASX
|
|
bool "Support for the Loongson Advanced SIMD Extension"
|
|
depends on CPU_SUPPORTS_LASX
|
|
depends on 64BIT && CPU_HAS_LSX
|
|
help
|
|
Loongson Advanced SIMD Extension is 256 bit wide SIMD extension.
|
|
|
|
If unsure, say Y.
|
|
|
|
#
|
|
# - Highmem only makes sense for the 32-bit kernel.
|
|
# - We use SYS_SUPPORTS_HIGHMEM to offer highmem only for systems where we
|
|
# know they might have memory configurations that could make use of highmem
|
|
# support.
|
|
#
|
|
config HIGHMEM
|
|
bool "High Memory Support"
|
|
depends on 32BIT && CPU_SUPPORTS_HIGHMEM && SYS_SUPPORTS_HIGHMEM
|
|
|
|
config CPU_SUPPORTS_HIGHMEM
|
|
bool
|
|
|
|
config SYS_SUPPORTS_HIGHMEM
|
|
bool
|
|
|
|
config CPU_SUPPORTS_LSX
|
|
bool
|
|
|
|
config CPU_SUPPORTS_LASX
|
|
bool
|
|
|
|
config IOREMAP_WITH_TLB
|
|
bool
|
|
|
|
config ARCH_SELECT_MEMORY_MODEL
|
|
def_bool y
|
|
|
|
config ARCH_FLATMEM_ENABLE
|
|
def_bool y
|
|
depends on !NUMA
|
|
|
|
config ARCH_SPARSEMEM_ENABLE
|
|
def_bool y
|
|
select SPARSEMEM_VMEMMAP_ENABLE
|
|
help
|
|
Say Y to support efficient handling of sparse physical memory,
|
|
for architectures which are either NUMA (Non-Uniform Memory Access)
|
|
or have huge holes in the physical address space for other reasons.
|
|
See <file:Documentation/vm/numa.rst> for more.
|
|
|
|
config NUMA
|
|
bool "NUMA Support"
|
|
depends on SYS_SUPPORTS_NUMA
|
|
select ACPI_NUMA if ACPI
|
|
help
|
|
Say Y to compile the kernel to support NUMA (Non-Uniform Memory
|
|
Access). This option improves performance on systems with more
|
|
than two nodes; on two node systems it is generally better to
|
|
leave it disabled; on single node systems disable this option
|
|
disabled.
|
|
|
|
config SYS_SUPPORTS_NUMA
|
|
bool
|
|
|
|
config RELOCATABLE
|
|
bool "Relocatable kernel"
|
|
depends on SYS_SUPPORTS_RELOCATABLE
|
|
help
|
|
This builds a kernel image that retains relocation information
|
|
so it can be loaded someplace besides the default 1MB.
|
|
The relocations make the kernel binary about 15% larger,
|
|
but are discarded at runtime
|
|
|
|
config RELOCATION_TABLE_SIZE
|
|
hex "Relocation table size"
|
|
depends on RELOCATABLE
|
|
range 0x0 0x01000000
|
|
default "0x00100000"
|
|
help
|
|
A table of relocation data will be appended to the kernel binary
|
|
and parsed at boot to fix up the relocated kernel.
|
|
|
|
This option allows the amount of space reserved for the table to be
|
|
adjusted, although the default of 1Mb should be ok in most cases.
|
|
|
|
The build will fail and a valid size suggested if this is too small.
|
|
|
|
If unsure, leave at the default value.
|
|
|
|
config RANDOMIZE_BASE
|
|
bool "Randomize the address of the kernel image"
|
|
depends on RELOCATABLE
|
|
help
|
|
Randomizes the physical and virtual address at which the
|
|
kernel image is loaded, as a security feature that
|
|
deters exploit attempts relying on knowledge of the location
|
|
of kernel internals.
|
|
|
|
Entropy is generated using any coprocessor 0 registers available.
|
|
|
|
The kernel will be offset by up to RANDOMIZE_BASE_MAX_OFFSET.
|
|
|
|
If unsure, say N.
|
|
|
|
config RANDOMIZE_BASE_MAX_OFFSET
|
|
hex "Maximum kASLR offset" if EXPERT
|
|
depends on RANDOMIZE_BASE
|
|
range 0x0 0x40000000 if 64BIT
|
|
range 0x0 0x08000000
|
|
default "0x01000000"
|
|
help
|
|
When kASLR is active, this provides the maximum offset that will
|
|
be applied to the kernel image. It should be set according to the
|
|
amount of physical RAM available in the target system minus
|
|
PHYSICAL_START and must be a power of 2.
|
|
|
|
This is limited by the size of KPRANGE1, 256Mb on 32-bit or 1Gb with
|
|
64-bit. The default is 16Mb.
|
|
|
|
config NODES_SHIFT
|
|
int
|
|
default "6"
|
|
depends on NEED_MULTIPLE_NODES
|
|
|
|
config USE_PERCPU_NUMA_NODE_ID
|
|
def_bool y
|
|
depends on NUMA
|
|
|
|
config HAVE_SETUP_PER_CPU_AREA
|
|
def_bool y
|
|
depends on NUMA
|
|
|
|
config NEED_PER_CPU_EMBED_FIRST_CHUNK
|
|
def_bool y
|
|
depends on NUMA
|
|
|
|
config NEED_PER_CPU_PAGE_FIRST_CHUNK
|
|
def_bool y
|
|
depends on NUMA
|
|
|
|
config DMI
|
|
bool "Enable DMI scanning"
|
|
select DMI_SCAN_MACHINE_NON_EFI_FALLBACK
|
|
default y
|
|
help
|
|
Enabled scanning of DMI to identify machine quirks. Say Y
|
|
here unless you have verified that your setup is not
|
|
affected by entries in the DMI blacklist. Required by PNP
|
|
BIOS code.
|
|
|
|
config EFI
|
|
bool "EFI runtime service support"
|
|
select UCS2_STRING
|
|
select EFI_RUNTIME_WRAPPERS
|
|
help
|
|
This enables the kernel to use EFI runtime services that are
|
|
available (such as the EFI variable services).
|
|
|
|
This option is only useful on systems that have EFI firmware.
|
|
In addition, you should use the latest ELILO loader available
|
|
at <http://elilo.sourceforge.net> in order to take advantage
|
|
of EFI runtime services. However, even with this option, the
|
|
resultant kernel should continue to boot on existing non-EFI
|
|
platforms.
|
|
|
|
config EFI_STUB
|
|
bool "EFI stub support"
|
|
default y
|
|
depends on EFI
|
|
help
|
|
This kernel feature allows a vmlinuz.efi to be loaded directly
|
|
by EFI firmware without the use of a bootloader.
|
|
|
|
config SMP
|
|
bool "Multi-Processing support"
|
|
depends on SYS_SUPPORTS_SMP
|
|
help
|
|
This enables support for systems with more than one CPU. If you have
|
|
a system with only one CPU, say N. If you have a system with more
|
|
than one CPU, say Y.
|
|
|
|
If you say N here, the kernel will run on uni- 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,
|
|
uniprocessor machines. On a uniprocessor machine, the kernel
|
|
will run faster if you say N here.
|
|
|
|
People using multiprocessor machines who say Y here should also say
|
|
Y to "Enhanced Real Time Clock Support", below.
|
|
|
|
See also the SMP-HOWTO available at
|
|
<http://www.tldp.org/docs.html#howto>.
|
|
|
|
If you don't know what to do here, say N.
|
|
|
|
config HOTPLUG_CPU
|
|
bool "Support for hot-pluggable CPUs"
|
|
select GENERIC_IRQ_MIGRATION
|
|
depends on SMP && SYS_SUPPORTS_HOTPLUG_CPU
|
|
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 SYS_SUPPORTS_SMP
|
|
bool
|
|
|
|
config NR_CPUS_DEFAULT_4
|
|
bool
|
|
|
|
config NR_CPUS_DEFAULT_8
|
|
bool
|
|
|
|
config NR_CPUS_DEFAULT_16
|
|
bool
|
|
|
|
config NR_CPUS_DEFAULT_32
|
|
bool
|
|
|
|
config NR_CPUS_DEFAULT_64
|
|
bool
|
|
|
|
config NR_CPUS
|
|
int "Maximum number of CPUs (2-256)"
|
|
range 2 256
|
|
depends on SMP
|
|
default "4" if NR_CPUS_DEFAULT_4
|
|
default "8" if NR_CPUS_DEFAULT_8
|
|
default "16" if NR_CPUS_DEFAULT_16
|
|
default "32" if NR_CPUS_DEFAULT_32
|
|
default "64" if NR_CPUS_DEFAULT_64
|
|
help
|
|
This allows you to specify the maximum number of CPUs which this
|
|
kernel will support. The maximum supported value is 32 for 32-bit
|
|
kernel and 64 for 64-bit kernels; the minimum value which makes
|
|
sense is 1 for Qemu (useful only for kernel debugging purposes)
|
|
and 2 for all others.
|
|
|
|
This is purely to save memory - each supported CPU adds
|
|
approximately eight kilobytes to the kernel image. For best
|
|
performance should round up your number of processors to the next
|
|
power of two.
|
|
|
|
source "kernel/Kconfig.hz"
|
|
|
|
config KEXEC
|
|
bool "Kexec system call"
|
|
select KEXEC_CORE
|
|
help
|
|
kexec is a system call that implements the ability to shutdown your
|
|
current kernel, and to start another kernel. It is like a reboot
|
|
but it is independent of the system firmware. And like a reboot
|
|
you can start any kernel with it, not just Linux.
|
|
|
|
The name comes from the similarity to the exec system call.
|
|
|
|
It is an ongoing process to be certain the hardware in a machine
|
|
is properly shutdown, so do not be surprised if this code does not
|
|
initially work for you. As of this writing the exact hardware
|
|
interface is strongly in flux, so no good recommendation can be
|
|
made.
|
|
|
|
config CRASH_DUMP
|
|
bool "Kernel crash dumps"
|
|
help
|
|
Generate crash dump after being started by kexec.
|
|
This should be normally only set in special crash dump kernels
|
|
which are loaded in the main kernel with kexec-tools into
|
|
a specially reserved region and then later executed after
|
|
a crash by kdump/kexec. The crash dump kernel must be compiled
|
|
to a memory address not used by the main kernel or firmware using
|
|
PHYSICAL_START.
|
|
|
|
config PHYSICAL_START
|
|
hex "Physical address where the kernel is loaded"
|
|
default "0xa4000000" if 32BIT
|
|
default "0x9000000004000000" if 64BIT
|
|
depends on CRASH_DUMP
|
|
help
|
|
This gives the KPRANGE1 or XKPRANGE address where the kernel is loaded.
|
|
If you plan to use kernel for capturing the crash dump change
|
|
this value to start of the reserved region (the "X" value as
|
|
specified in the "crashkernel=YM@XM" command line boot parameter
|
|
passed to the panic-ed kernel).
|
|
|
|
config SECCOMP
|
|
bool "Enable seccomp to safely compute untrusted bytecode"
|
|
depends on PROC_FS
|
|
default y
|
|
help
|
|
This kernel feature is useful for number crunching applications
|
|
that may need to compute untrusted bytecode during their
|
|
execution. By using pipes or other transports made available to
|
|
the process as file descriptors supporting the read/write
|
|
syscalls, it's possible to isolate those applications in
|
|
their own address space using seccomp. Once seccomp is
|
|
enabled via /proc/<pid>/seccomp, it cannot be disabled
|
|
and the task is only allowed to execute a few safe syscalls
|
|
defined by each seccomp mode.
|
|
|
|
If unsure, say Y. Only embedded should say N here.
|
|
|
|
config USE_OF
|
|
bool
|
|
select OF
|
|
select OF_EARLY_FLATTREE
|
|
select IRQ_DOMAIN
|
|
|
|
config BUILTIN_DTB
|
|
bool
|
|
|
|
source "kernel/livepatch/Kconfig"
|
|
|
|
endmenu
|
|
|
|
config ARCH_ENABLE_MEMORY_HOTPLUG
|
|
def_bool y
|
|
depends on LOONGARCH
|
|
|
|
config ARCH_ENABLE_MEMORY_HOTREMOVE
|
|
def_bool y
|
|
depends on MEMORY_HOTPLUG
|
|
|
|
config ARCH_ENABLE_THP_MIGRATION
|
|
def_bool y
|
|
depends on TRANSPARENT_HUGEPAGE
|
|
|
|
config ARCH_MEMORY_PROBE
|
|
def_bool y
|
|
depends on MEMORY_HOTPLUG
|
|
|
|
config HAVE_ARCH_NODEDATA_EXTENSION
|
|
def_bool y
|
|
depends on NUMA && ARCH_ENABLE_MEMORY_HOTPLUG
|
|
|
|
config LOCKDEP_SUPPORT
|
|
bool
|
|
default y
|
|
|
|
config STACKTRACE_SUPPORT
|
|
bool
|
|
default y
|
|
|
|
config TRACE_IRQFLAGS_SUPPORT
|
|
bool
|
|
default y
|
|
|
|
config MMU
|
|
bool
|
|
default y
|
|
|
|
config ARCH_MMAP_RND_BITS_MIN
|
|
default 12 if 64BIT
|
|
default 8
|
|
|
|
config ARCH_MMAP_RND_BITS_MAX
|
|
default 18 if 64BIT
|
|
default 15
|
|
|
|
config ZONE_DMA
|
|
bool
|
|
|
|
config ZONE_DMA32
|
|
bool
|
|
|
|
menu "Bus options"
|
|
|
|
endmenu
|
|
|
|
menu "Power management options"
|
|
|
|
config ARCH_SUSPEND_POSSIBLE
|
|
def_bool y
|
|
depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
|
|
|
|
config ARCH_HIBERNATION_POSSIBLE
|
|
def_bool y
|
|
depends on SYS_SUPPORTS_HOTPLUG_CPU || !SMP
|
|
|
|
source "kernel/power/Kconfig"
|
|
source "drivers/acpi/Kconfig"
|
|
|
|
endmenu
|
|
|
|
menu "CPU Power Management"
|
|
|
|
source "drivers/cpufreq/Kconfig"
|
|
|
|
endmenu
|
|
|
|
source "drivers/firmware/Kconfig"
|
|
|
|
menu "Loongson Miscellaneous Config"
|
|
|
|
config LOONGSON_MEM_MAP_NEED_FIX
|
|
bool "Some board mmap from uboot is wrong. Enable this to remove uboot mmap"
|
|
default n
|
|
|
|
config LOONGSON_MMC_HIGH_PERFORMANCE
|
|
bool "Change MMC to HS200 mode"
|
|
default n
|
|
help
|
|
If you want to experience a high-performance MMC,
|
|
Select This config.
|
|
endmenu
|
|
|