arch/Kconfig

Source file repositories/reference/linux-study-clean/arch/Kconfig

File Facts

System
Linux kernel
Corpus path
arch/Kconfig
Extension
[no extension]
Size
56814 bytes
Lines
1866
Domain
Architecture Layer
Bucket
arch/Kconfig
Inferred role
Architecture Layer: build/configuration rule
Status
atlas-only

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0
#
# General architecture dependent options
#

#
# Note: arch/$(SRCARCH)/Kconfig needs to be included first so that it can
# override the default values in this file.
#
source "arch/$(SRCARCH)/Kconfig"

config ARCH_CONFIGURES_CPU_MITIGATIONS
	bool

if !ARCH_CONFIGURES_CPU_MITIGATIONS
config CPU_MITIGATIONS
	def_bool y
endif

#
# Selected by architectures that need custom DMA operations for e.g. legacy
# IOMMUs not handled by dma-iommu.  Drivers must never select this symbol.
#
config ARCH_HAS_DMA_OPS
	depends on HAS_DMA
	select DMA_OPS_HELPERS
	bool

menu "General architecture-dependent options"

config ARCH_HAS_SUBPAGE_FAULTS
	bool
	help
	  Select if the architecture can check permissions at sub-page
	  granularity (e.g. arm64 MTE). The probe_user_*() functions
	  must be implemented.

config HOTPLUG_SMT
	bool

config SMT_NUM_THREADS_DYNAMIC
	bool

config ARCH_SUPPORTS_SCHED_SMT
	bool

config ARCH_SUPPORTS_SCHED_CLUSTER
	bool

config ARCH_SUPPORTS_SCHED_MC
	bool

config SCHED_SMT
	bool "SMT (Hyperthreading) scheduler support"
	depends on ARCH_SUPPORTS_SCHED_SMT
	default y
	help
	  Improves the CPU scheduler's decision making when dealing with
	  MultiThreading at a cost of slightly increased overhead in some
	  places. If unsure say N here.

config SCHED_CLUSTER
	bool "Cluster scheduler support"
	depends on ARCH_SUPPORTS_SCHED_CLUSTER
	default y
	help
	  Cluster scheduler support improves the CPU scheduler's decision
	  making when dealing with machines that have clusters of CPUs.
	  Cluster usually means a couple of CPUs which are placed closely
	  by sharing mid-level caches, last-level cache tags or internal

Annotation

Implementation Notes