Feature status on all architectures

Subsystem: core

Feature

Kconfig / Description

Status per architecture

cBPF-JIT

HAVE_CBPF_JIT

arch supports cBPF JIT optimizations

  • ok: mips, powerpcsparc

  • TODO: alpha, arc, armarm64, csky, hexagonloongarch, m68k, microblazenios2, openrisc, pariscriscv, s390, sh, um, x86xtensa

eBPF-JIT

HAVE_EBPF_JIT

arch supports eBPF JIT optimizations

  • ok: arc, arm, arm64loongarch, mips, pariscpowerpc, riscv, s390, sparcx86

  • TODO: alpha, cskyhexagon, m68k, microblazenios2, openrisc, sh, umxtensa

generic-idle-thread

GENERIC_SMP_IDLE_THREAD

arch makes use of the generic SMP idlethread facility

  • ok: alpha, arc, armarm64, csky, hexagonloongarch, mips, openriscparisc, powerpc, riscvs390, sh, sparc, um, x86xtensa

  • TODO: m68k, microblazenios2

jump-labels

HAVE_ARCH_JUMP_LABEL

arch supports live patched, highefficiency branches

  • ok: arc, arm, arm64csky, loongarch, mipsopenrisc, parisc, powerpcriscv, s390, sparc, x86xtensa

  • TODO: alpha, hexagonm68k, microblaze, nios2, shum

mseal-system-mappings

ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGS

arch supports mseal system mappings

  • ok: arm64, loongarchriscv, s390, x86

  • TODO: alpha, mipsparisc, powerpc, sparc, um

  • N/A: arc, arm, cskyhexagon, m68k, microblazenios2, openrisc, sh, xtensa

thread-info-in-task

THREAD_INFO_IN_TASK

arch makes use of the core kernelfacility to embed thread_info intask_struct

  • ok: arm, arm64, pariscpowerpc, riscv, s390, umx86

  • TODO: alpha, arc, cskyhexagon, loongarch, m68kmicroblaze, mips, nios2openrisc, sh, sparc, xtensa

tracehook

HAVE_ARCH_TRACEHOOK

arch supports tracehook (ptrace)register handling APIs

  • ok: arc, arm, arm64csky, hexagon, loongarchmips, nios2, openriscparisc, powerpc, riscvs390, sh, sparc, um, x86xtensa

  • TODO: alpha, m68kmicroblaze

Subsystem: debug

Feature

Kconfig / Description

Status per architecture

debug-vm-pgtable

ARCH_HAS_DEBUG_VM_PGTABLE

arch supports pgtable tests forsemantics compliance

  • ok: arc, arm64loongarch, parisc, powerpcriscv, s390, x86, xtensa

  • TODO: alpha, arm, cskyhexagon, m68k, microblazemips, nios2, openrisc, shsparc, um

gcov-profile-all

ARCH_HAS_GCOV_PROFILE_ALL

arch supports whole-kernel GCOV codecoverage profiling

  • ok: arm, arm64, cskymicroblaze, mips, powerpcriscv, s390, sh, um, x86xtensa

  • TODO: alpha, archexagon, loongarch, m68knios2, openrisc, pariscsparc

KASAN

HAVE_ARCH_KASAN

arch supports the KASAN runtime memorychecker

  • ok: arm, arm64loongarch, powerpc, riscvs390, um, x86, xtensa

  • TODO: alpha, arc, cskyhexagon, m68k, microblazemips, nios2, openriscparisc, sh, sparc

kcov

ARCH_HAS_KCOV

arch supports kcov for coverage-guidedfuzzing

  • ok: arm, arm64loongarch, mips, powerpcriscv, s390, um, x86xtensa

  • TODO: alpha, arc, cskyhexagon, m68k, microblazenios2, openrisc, parisc, shsparc

kgdb

HAVE_ARCH_KGDB

arch supports the kGDB kernel debugger

  • ok: arc, arm, arm64hexagon, loongarchmicroblaze, mips, nios2parisc, powerpc, riscv, shsparc, x86

  • TODO: alpha, csky, m68kopenrisc, s390, um, xtensa

kmemleak

HAVE_DEBUG_KMEMLEAK

arch supports the kernel memory leakdetector

  • ok: arc, arm, arm64csky, loongarch, microblazemips, powerpc, riscv, s390sh, sparc, um, x86, xtensa

  • TODO: alpha, hexagonm68k, nios2, openriscparisc

kprobes

HAVE_KPROBES

arch supports live patched kernel probe

  • ok: arc, arm, arm64csky, loongarch, mipsparisc, powerpc, riscvs390, sh, sparc, x86

  • TODO: alpha, hexagonm68k, microblaze, nios2openrisc, um, xtensa

kprobes-on-ftrace

HAVE_KPROBES_ON_FTRACE

arch supports combined kprobes andftrace live patching

  • ok: csky, loongarchparisc, powerpc, s390, x86

  • TODO: alpha, arc, armarm64, hexagon, m68kmicroblaze, mips, nios2openrisc, riscv, sh, sparcum, xtensa

kretprobes

HAVE_KRETPROBES

arch supports kernel function-returnprobes

  • ok: arc, arm, arm64csky, loongarch, mipsparisc, powerpc, riscvs390, sh, sparc, x86

  • TODO: alpha, hexagonm68k, microblaze, nios2openrisc, um, xtensa

optprobes

HAVE_OPTPROBES

arch supports live patched optprobes

  • ok: arm, powerpc, x86

  • TODO: alpha, arc, arm64csky, hexagon, loongarchm68k, microblaze, mipsnios2, openrisc, pariscriscv, s390, sh, sparc, umxtensa

stackprotector

HAVE_STACKPROTECTOR

arch supports compiler driven stackoverflow protection

  • ok: arm, arm64, cskyloongarch, mips, powerpcriscv, sh, x86, xtensa

  • TODO: alpha, archexagon, m68k, microblazenios2, openrisc, pariscs390, sparc, um

uprobes

ARCH_SUPPORTS_UPROBES

arch supports live patched user probes

  • ok: arm, arm64, cskyloongarch, mips, powerpcriscv, s390, sparc, x86

  • TODO: alpha, archexagon, m68k, microblazenios2, openrisc, parisc, shum, xtensa

user-ret-profiler

HAVE_USER_RETURN_NOTIFIER

arch supports user-space return fromsystem call profiler

  • ok: x86

  • TODO: alpha, arc, armarm64, csky, hexagonloongarch, m68k, microblazemips, nios2, openriscparisc, powerpc, riscvs390, sh, sparc, um, xtensa

Subsystem: io

Feature

Kconfig / Description

Status per architecture

dma-contiguous

HAVE_DMA_CONTIGUOUS

arch supports the DMA CMA (continuousmemory allocator)

  • ok: arm, arm64, cskyloongarch, microblaze, mipsriscv, s390, x86, xtensa

  • TODO: alpha, archexagon, m68k, nios2openrisc, parisc, powerpcsh, sparc, um

Subsystem: locking

Feature

Kconfig / Description

Status per architecture

cmpxchg-local

HAVE_CMPXCHG_LOCAL

arch supports thethis_cpu_cmpxchg() API

  • ok: arm64, s390, x86

  • TODO: alpha, arc, armcsky, hexagon, loongarchm68k, microblaze, mipsnios2, openrisc, pariscpowerpc, riscv, sh, sparcum, xtensa

lockdep

LOCKDEP_SUPPORT

arch supports the runtime lockingcorrectness debug facility

  • ok: arc, arm, arm64csky, hexagon, loongarchmicroblaze, mips, openriscparisc, powerpc, riscvs390, sh, sparc, um, x86xtensa

  • TODO: alpha, m68knios2

queued-rwlocks

ARCH_USE_QUEUED_RWLOCKS

arch supports queued rwlocks

  • ok: arm64, cskyloongarch, mips, openriscpowerpc, riscv, sparc, x86xtensa

  • TODO: alpha, arc, armhexagon, m68k, microblazenios2, parisc, s390, sh, um

queued-spinlocks

ARCH_USE_QUEUED_SPINLOCKS

arch supports queued spinlocks

  • ok: arm64, cskyloongarch, mips, openriscpowerpc, riscv, sparc, x86xtensa

  • TODO: alpha, arc, armhexagon, m68k, microblazenios2, parisc, s390, sh, um

Subsystem: perf

Feature

Kconfig / Description

Status per architecture

kprobes-event

HAVE_REGS_AND_STACK_ACCESS_API

arch supports kprobes with perf events

  • ok: arc, arm, arm64csky, hexagon, loongarchmips, openrisc, pariscpowerpc, riscv, s390, shsparc, x86

  • TODO: alpha, m68kmicroblaze, nios2, umxtensa

perf-regs

HAVE_PERF_REGS

arch supports perf events register access

  • ok: arm, arm64, cskyloongarch, mips, powerpcriscv, s390, x86

  • TODO: alpha, archexagon, m68k, microblazenios2, openrisc, parisc, shsparc, um, xtensa

perf-stackdump

HAVE_PERF_USER_STACK_DUMP

arch supports perf events stack dumps

  • ok: arm, arm64, cskyloongarch, mips, powerpcriscv, s390, x86

  • TODO: alpha, archexagon, m68k, microblazenios2, openrisc, parisc, shsparc, um, xtensa

Subsystem: sched

Feature

Kconfig / Description

Status per architecture

membarrier-sync-core

ARCH_HAS_MEMBARRIER_SYNC_CORE

arch supports core serializing membarrier

  • ok: arm, arm64, powerpcriscv, s390, x86

  • TODO: alpha, arc, cskyhexagon, loongarch, m68kmicroblaze, mips, nios2openrisc, parisc, sh, sparcum, xtensa

numa-balancing

ARCH_SUPPORTS_NUMA_BALANCING

arch supports NUMA balancing

  • ok: arm64, loongarchpowerpc, riscv, s390, x86

  • TODO: alpha, mipssparc

  • Not compatible: arcarm, csky, hexagon, m68kmicroblaze, nios2, openriscparisc, sh, um, xtensa

Subsystem: seccomp

Feature

Kconfig / Description

Status per architecture

seccomp-filter

HAVE_ARCH_SECCOMP_FILTER

arch supports seccomp filters

  • ok: arm, arm64, cskyloongarch, m68k, mipsparisc, powerpc, riscvs390, sh, um, x86, xtensa

  • TODO: alpha, archexagon, microblaze, nios2openrisc, sparc

Subsystem: time

Feature

Kconfig / Description

Status per architecture

arch-tick-broadcast

ARCH_HAS_TICK_BROADCAST

arch providestick_broadcast()

  • ok: arm, arm64loongarch, mips, powerpcriscv, sh

  • TODO: alpha, arc, cskyhexagon, m68k, microblazenios2, openrisc, pariscs390, sparc, um, x86xtensa

clockevents

!LEGACY_TIMER_TICK

arch support generic clock events

  • ok: alpha, arc, arm64csky, hexagon, loongarchmicroblaze, mips, nios2openrisc, parisc, powerpcriscv, s390, sh, sparc, umx86, xtensa

  • TODO: arm, m68k

irq-time-acct

HAVE_IRQ_TIME_ACCOUNTING

arch supports precise IRQ time accounting

  • ok: arm, arm64loongarch, mips, powerpcriscv, x86, xtensa

  • TODO: arc, cskyhexagon, m68k, microblazenios2, openrisc, sh, um

  • Not compatible: alphaparisc, s390, sparc

user-context-tracking

HAVE_CONTEXT_TRACKING_USER

arch supports user context tracking forNO_HZ_FULL

  • ok: arm, arm64, cskyloongarch, mips, powerpcriscv, sparc, x86, xtensa

  • TODO: alpha, archexagon, m68k, microblazenios2, openrisc, pariscs390, sh, um

virt-cpuacct

HAVE_VIRT_CPU_ACCOUNTING

arch supports precise virtual CPU timeaccounting

  • ok: alpha, arm, arm64csky, loongarch, mipsparisc, powerpc, s390sparc, x86, xtensa

  • TODO: arc, hexagonm68k, microblaze, nios2openrisc, riscv, sh, um

Subsystem: vm

Feature

Kconfig / Description

Status per architecture

batch-unmap-tlb-flush

ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH

arch supports deferral of TLB flushuntil multiple pages are unmapped

  • ok: arm64, riscv, x86

  • TODO: alpha, arc, armcsky, hexagon, loongarchmips, parisc, powerpc, s390sh, sparc, xtensa

  • Not compatible: m68kmicroblaze, nios2, openriscum

ELF-ASLR

ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT

arch randomizes the stack, heap andbinary images of ELF binaries

  • ok: arm, arm64, cskyloongarch, mips, pariscpowerpc, riscv, s390, x86

  • TODO: alpha, archexagon, m68k, microblazenios2, openrisc, sh, sparcum, xtensa

huge-vmap

HAVE_ARCH_HUGE_VMAP

arch supports thearch_vmap_pud_supported() andarch_vmap_pmd_supported() VM APIs

  • ok: arm64, powerpcriscv, x86

  • TODO: alpha, arc, armcsky, hexagon, loongarchm68k, microblaze, mipsnios2, openrisc, pariscs390, sh, sparc, um, xtensa

ioremap_prot

HAVE_IOREMAP_PROT

arch hasioremap_prot()

  • ok: arc, arm64loongarch, mips, powerpcs390, sh, x86

  • TODO: alpha, arm, cskyhexagon, m68k, microblazenios2, openrisc, pariscriscv, sparc, um, xtensa

pte_special

ARCH_HAS_PTE_SPECIAL

arch supports thepte_special()/pte_mkspecial() VM APIs

  • ok: arc, arm, arm64loongarch, mips, pariscpowerpc, riscv, s390, shsparc, x86

  • TODO: alpha, cskyhexagon, m68k, microblazenios2, openrisc, um, xtensa

THP

HAVE_ARCH_TRANSPARENT_HUGEPAGE

arch supports transparent hugepages

  • ok: arc, arm, arm64loongarch, mips, powerpcriscv, s390, sparc, x86

  • TODO: alpha, parisc

  • Not compatible: cskyhexagon, m68k, microblazenios2, openrisc, sh, umxtensa