[PATCH v2 0/1] alpha: Add support for HAVE_ARCH_JUMP_LABEL

From: Magnus Lindholm

Date: Wed Feb 25 2026 - 06:10:20 EST


This patch adds jump label (static key) support for Alpha.
Testing and verification were performed on an UP2000+ system.

Verification steps:

- Confirmed __jump_table section is present at runtime via
/proc/kallsyms and contains a non-zero number of entries.

- Instrumented arch_jump_label_transform() to log patch
operations and verified instruction sites toggle between:

NOP (bis $31,$31,$31, 0x47ff041f)
BR (br $31,target)

- Added temporary instrumentation in
arch_jump_label_transform() to log old/new instruction
values at each patch site, and used a Python script to
validate correct NOP/BR transitions and branch encoding,
confirming functional runtime patching.

Instruction stream synchronization uses imb()/smp_imb() via
flush_icache_range(), and runtime behavior confirms correct
I-cache coherency.

The system remained stable throughout all testing.
---
Changes since v1:
- Update features documentation for features/core/jump-labels
link: https://lore.kernel.org/linux-alpha/20260219170013.15884-1-linmag7@xxxxxxxxx/T/#t

Magnus Lindholm (1):
alpha: Add support for HAVE_ARCH_JUMP_LABEL

.../core/jump-labels/arch-support.txt | 2 +-
arch/alpha/Kconfig | 1 +
arch/alpha/include/asm/jump_label.h | 66 +++++++++++++++
arch/alpha/kernel/Makefile | 1 +
arch/alpha/kernel/jump_label.c | 81 +++++++++++++++++++
5 files changed, 150 insertions(+), 1 deletion(-)
create mode 100644 arch/alpha/include/asm/jump_label.h
create mode 100644 arch/alpha/kernel/jump_label.c

--
2.52.0