GeezerVison is showing www.kernel.org — Feature status on all architectures — The Linux Kernel documentation
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, powerpc
sparc
TODO: alpha, arc, arm
arm64, csky, h8300, hexagon
ia64, m68k, microblaze
nds32, nios2, openrisc
parisc, riscv, s390, sh, um
x86, xtensa
|
eBPF-JIT |
HAVE_EBPF_JIT
arch supports eBPF JIT optimizations
|
ok: arm, arm64, mips
powerpc, riscv, s390, sparc
x86
TODO: alpha, arc, csky
h8300, hexagon, ia64, m68k
microblaze, nds32, nios2
openrisc, parisc, sh, um
xtensa
|
generic-idle-thread |
GENERIC_SMP_IDLE_THREAD
arch makes use of the generic SMP
idle thread facility
|
ok: alpha, arc, arm
arm64, csky, hexagon, ia64
mips, openrisc, parisc
powerpc, riscv, s390, sh
sparc, x86, xtensa
TODO: h8300, m68k
microblaze, nds32, nios2
um
|
jump-labels |
HAVE_ARCH_JUMP_LABEL
arch supports live patched, high
efficiency branches
|
ok: arc, arm, arm64
mips, parisc, powerpc
riscv, s390, sparc, x86
xtensa
TODO: alpha, csky
h8300, hexagon, ia64, m68k
microblaze, nds32, nios2
openrisc, sh, um
|
thread-info-in-task |
THREAD_INFO_IN_TASK
arch makes use of the core kernel
facility to embedd thread_info in
task_struct
|
ok: arm64, nds32
powerpc, riscv, s390, x86
TODO: alpha, arc, arm
csky, h8300, hexagon, ia64
m68k, microblaze, mips
nios2, openrisc, parisc, sh
sparc, um, xtensa
|
tracehook |
HAVE_ARCH_TRACEHOOK
arch supports tracehook (ptrace)
register handling APIs
|
ok: arc, arm, arm64
csky, hexagon, ia64, mips
nds32, nios2, openrisc
parisc, powerpc, riscv
s390, sh, sparc, x86
xtensa
TODO: alpha, h8300
m68k, microblaze, um
|
Subsystem: debug¶
Feature |
Kconfig / Description |
Status per architecture |
debug-vm-pgtable |
ARCH_HAS_DEBUG_VM_PGTABLE
arch supports pgtable tests for
semantics compliance
|
ok: arc, arm64, powerpc
riscv, s390, x86
TODO: alpha, arm, csky
h8300, hexagon, ia64, m68k
microblaze, mips, nds32
nios2, openrisc, parisc, sh
sparc, um, xtensa
|
gcov-profile-all |
ARCH_HAS_GCOV_PROFILE_ALL
arch supports whole-kernel GCOV code
coverage profiling
|
ok: arm, arm64, csky
microblaze, mips, powerpc
riscv, s390, sh, x86
TODO: alpha, arc, h8300
hexagon, ia64, m68k, nds32
nios2, openrisc, parisc
sparc, um, xtensa
|
KASAN |
HAVE_ARCH_KASAN
arch supports the KASAN runtime
memory checker
|
ok: arm, arm64, powerpc
riscv, s390, x86, xtensa
TODO: alpha, arc, csky
h8300, hexagon, ia64, m68k
microblaze, mips, nds32
nios2, openrisc, parisc, sh
sparc, um
|
kcov |
ARCH_HAS_KCOV
arch supports kcov for
coverage-guided fuzzing
|
ok: arm, arm64, mips
powerpc, riscv, s390, um
x86
TODO: alpha, arc, csky
h8300, hexagon, ia64, m68k
microblaze, nds32, nios2
openrisc, parisc, sh, sparc
xtensa
|
kgdb |
HAVE_ARCH_KGDB
arch supports the kGDB kernel
debugger
|
ok: arc, arm, arm64
h8300, hexagon, microblaze
mips, nios2, parisc
powerpc, riscv, sh, sparc
x86
TODO: alpha, csky, ia64
m68k, nds32, openrisc, s390
um, xtensa
|
kmemleak |
HAVE_DEBUG_KMEMLEAK
arch supports the kernel memory leak
detector
|
ok: arc, arm, arm64
csky, microblaze, mips
nds32, powerpc, riscv, s390
sh, sparc, um, x86, xtensa
TODO: alpha, h8300
hexagon, ia64, m68k, nios2
openrisc, parisc
|
kprobes |
HAVE_KPROBES
arch supports live patched kernel
probe
|
ok: arc, arm, arm64
csky, ia64, mips, parisc
powerpc, riscv, s390, sh
sparc, x86
TODO: alpha, h8300
hexagon, m68k, microblaze
nds32, nios2, openrisc, um
xtensa
|
kprobes-on-ftrace |
HAVE_KPROBES_ON_FTRACE
arch supports combined kprobes and
ftrace live patching
|
ok: csky, parisc
powerpc, riscv, s390, x86
TODO: alpha, arc, arm
arm64, h8300, hexagon, ia64
m68k, microblaze, mips
nds32, nios2, openrisc, sh
sparc, um, xtensa
|
kretprobes |
HAVE_KRETPROBES
arch supports kernel function-return
probes
|
ok: arc, arm, arm64
csky, ia64, mips, parisc
powerpc, riscv, s390, sh
sparc, x86
TODO: alpha, h8300
hexagon, m68k, microblaze
nds32, nios2, openrisc, um
xtensa
|
optprobes |
HAVE_OPTPROBES
arch supports live patched optprobes
|
ok: arm, powerpc, x86
TODO: alpha, arc, arm64
csky, h8300, hexagon, ia64
m68k, microblaze, mips
nds32, nios2, openrisc
parisc, riscv, s390, sh
sparc, um, xtensa
|
stackprotector |
HAVE_STACKPROTECTOR
arch supports compiler driven stack
overflow protection
|
ok: arm, arm64, csky
mips, powerpc, riscv, sh
x86, xtensa
TODO: alpha, arc, h8300
hexagon, ia64, m68k
microblaze, nds32, nios2
openrisc, parisc, s390
sparc, um
|
uprobes |
ARCH_SUPPORTS_UPROBES
arch supports live patched user
probes
|
ok: arm, arm64, csky
mips, powerpc, riscv, s390
sparc, x86
TODO: alpha, arc, h8300
hexagon, ia64, m68k
microblaze, nds32, nios2
openrisc, parisc, sh, um
xtensa
|
user-ret-profiler |
HAVE_USER_RETURN_NOTIFIER
arch supports user-space return from
system call profiler
|
ok: x86
TODO: alpha, arc, arm
arm64, csky, h8300, hexagon
ia64, m68k, microblaze
mips, nds32, nios2
openrisc, parisc, powerpc
riscv, s390, sh, sparc, um
xtensa
|
Subsystem: io¶
Feature |
Kconfig / Description |
Status per architecture |
dma-contiguous |
HAVE_DMA_CONTIGUOUS
arch supports the DMA CMA
(continuous memory allocator)
|
ok: arm, arm64, csky
microblaze, mips, riscv
s390, x86, xtensa
TODO: alpha, arc, h8300
hexagon, ia64, m68k, nds32
nios2, openrisc, parisc
powerpc, sh, sparc, um
|
Subsystem: locking¶
Feature |
Kconfig / Description |
Status per architecture |
cmpxchg-local |
HAVE_CMPXCHG_LOCAL
arch supports the this_cpu_cmpxchg()
API
|
ok: arm64, s390, x86
TODO: alpha, arc, arm
csky, h8300, hexagon, ia64
m68k, microblaze, mips
nds32, nios2, openrisc
parisc, powerpc, riscv, sh
sparc, um, xtensa
|
lockdep |
LOCKDEP_SUPPORT
arch supports the runtime locking
correctness debug facility
|
ok: arc, arm, arm64
csky, hexagon, microblaze
mips, nds32, openrisc
powerpc, riscv, s390, sh
sparc, um, x86, xtensa
TODO: alpha, h8300
ia64, m68k, nios2, parisc
|
queued-rwlocks |
ARCH_USE_QUEUED_RWLOCKS
arch supports queued rwlocks
|
ok: arm64, csky, mips
openrisc, powerpc, sparc
x86, xtensa
TODO: alpha, arc, arm
h8300, hexagon, ia64, m68k
microblaze, nds32, nios2
parisc, riscv, s390, sh, um
|
queued-spinlocks |
ARCH_USE_QUEUED_SPINLOCKS
arch supports queued spinlocks
|
ok: arm64, mips
openrisc, powerpc, sparc
x86, xtensa
TODO: alpha, arc, arm
csky, h8300, hexagon, ia64
m68k, microblaze, nds32
nios2, parisc, riscv, 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: arm, arm64, csky
hexagon, mips, nds32
parisc, powerpc, riscv
s390, sh, sparc, x86
TODO: alpha, arc, h8300
ia64, m68k, microblaze
nios2, openrisc, um, xtensa
|
perf-regs |
HAVE_PERF_REGS
arch supports perf events register
access
|
ok: arm, arm64, csky
mips, powerpc, riscv, s390
x86
TODO: alpha, arc, h8300
hexagon, ia64, m68k
microblaze, nds32, nios2
openrisc, parisc, sh, sparc
um, xtensa
|
perf-stackdump |
HAVE_PERF_USER_STACK_DUMP
arch supports perf events stack dumps
|
ok: arm, arm64, csky
mips, powerpc, riscv, s390
x86
TODO: alpha, arc, h8300
hexagon, ia64, m68k
microblaze, nds32, nios2
openrisc, parisc, sh, sparc
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, powerpc
x86
TODO: alpha, arc, csky
h8300, hexagon, ia64, m68k
microblaze, mips, nds32
nios2, openrisc, parisc
riscv, s390, sh, sparc, um
xtensa
|
numa-balancing |
ARCH_SUPPORTS_NUMA_BALANCING
arch supports NUMA balancing
|
ok: arm64, powerpc
riscv, s390, x86
TODO: alpha, ia64, mips
nds32, sparc
Not compatible: arc
arm, csky, h8300, hexagon
m68k, microblaze, nios2
openrisc, parisc, sh, um
xtensa
|
Subsystem: seccomp¶
Feature |
Kconfig / Description |
Status per architecture |
seccomp-filter |
HAVE_ARCH_SECCOMP_FILTER
arch supports seccomp filters
|
ok: arm, arm64, csky
mips, parisc, powerpc
riscv, s390, sh, um, x86
xtensa
TODO: alpha, arc, h8300
hexagon, ia64, m68k
microblaze, nds32, nios2
openrisc, sparc
|
Subsystem: time¶
Feature |
Kconfig / Description |
Status per architecture |
arch-tick-broadcast |
ARCH_HAS_TICK_BROADCAST
arch provides tick_broadcast()
|
ok: arm, arm64, mips
powerpc, riscv, sh
TODO: alpha, arc, csky
h8300, hexagon, ia64, m68k
microblaze, nds32, nios2
openrisc, parisc, s390
sparc, um, x86, xtensa
|
clockevents |
!LEGACY_TIMER_TICK
arch support generic clock events
|
ok: alpha, arc, arm64
csky, h8300, hexagon
microblaze, mips, nds32
nios2, openrisc, powerpc
riscv, s390, sh, sparc, um
x86, xtensa
TODO: arm, ia64, m68k
parisc
|
context-tracking |
HAVE_CONTEXT_TRACKING
arch supports context tracking for
NO_HZ_FULL
|
ok: arm, arm64, csky
mips, powerpc, riscv, sparc
x86
TODO: alpha, arc, h8300
hexagon, ia64, m68k
microblaze, nds32, nios2
openrisc, parisc, s390, sh
um, xtensa
|
irq-time-acct |
HAVE_IRQ_TIME_ACCOUNTING
arch supports precise IRQ time
accounting
|
ok: arm, arm64, mips
powerpc, riscv, x86, xtensa
TODO: arc, csky, h8300
hexagon, m68k, microblaze
nds32, nios2, openrisc, sh
um
Not compatible: alpha
ia64, parisc, s390, sparc
|
virt-cpuacct |
HAVE_VIRT_CPU_ACCOUNTING
arch supports precise virtual CPU
time accounting
|
ok: alpha, arm, arm64
csky, ia64, mips, parisc
powerpc, s390, sparc, x86
TODO: arc, h8300
hexagon, m68k, microblaze
nds32, nios2, openrisc
riscv, sh, um, xtensa
|
Subsystem: vm¶
Feature |
Kconfig / Description |
Status per architecture |
batch-unmap-tlb-flush |
ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH
arch supports deferral of TLB flush
until multiple pages are unmapped
|
ok: x86
TODO: alpha, arc, arm
csky, hexagon, ia64, mips
nds32, parisc, powerpc
riscv, s390, sh, sparc
xtensa
N/A: arm64
Not compatible: h8300
m68k, microblaze, nios2
openrisc, um
|
ELF-ASLR |
ARCH_HAS_ELF_RANDOMIZE
arch randomizes the stack, heap and
binary images of ELF binaries
|
ok: arm, arm64, mips
parisc, powerpc, riscv
s390, x86
TODO: alpha, arc, csky
h8300, hexagon, ia64, m68k
microblaze, nds32, nios2
openrisc, sh, sparc, um
xtensa
|
huge-vmap |
HAVE_ARCH_HUGE_VMAP
arch supports the
arch_vmap_pud_supported() and
arch_vmap_pmd_supported() VM APIs
|
ok: arm64, powerpc, x86
TODO: alpha, arc, arm
csky, h8300, hexagon, ia64
m68k, microblaze, mips
nds32, nios2, openrisc
parisc, riscv, s390, sh
sparc, um, xtensa
|
ioremap_prot |
HAVE_IOREMAP_PROT
arch has ioremap_prot()
|
ok: arc, mips, powerpc
s390, sh, x86
TODO: alpha, arm, arm64
csky, h8300, hexagon, ia64
m68k, microblaze, nds32
nios2, openrisc, parisc
riscv, sparc, um, xtensa
|
PG_uncached |
ARCH_USES_PG_UNCACHED
arch supports the PG_uncached page
flag
|
ok: ia64, x86
TODO: alpha, arc, arm
arm64, csky, h8300, hexagon
m68k, microblaze, mips
nds32, nios2, openrisc
parisc, powerpc, riscv
s390, sh, sparc, um, xtensa
|
pte_special |
ARCH_HAS_PTE_SPECIAL
arch supports the
pte_special()/pte_mkspecial() VM APIs
|
ok: arc, arm, arm64
mips, powerpc, riscv, s390
sh, sparc, x86
TODO: alpha, csky
h8300, hexagon, ia64, m68k
microblaze, nds32, nios2
openrisc, parisc, um
xtensa
|
THP |
HAVE_ARCH_TRANSPARENT_HUGEPAGE
arch supports transparent hugepages
|
ok: arc, arm, arm64
mips, powerpc, riscv, s390
sparc, x86
TODO: alpha, ia64
nds32, parisc
Not compatible: csky
h8300, hexagon, m68k
microblaze, nios2, openrisc
sh, um, xtensa
|
|