[PATCH v4 0/3] riscv: improve percpu helpers and PIO mapping
Yunhui Cui
cuiyunhui at bytedance.com
Mon May 4 23:20:23 PDT 2026
This series makes three small RISC-V cleanups and fixes around percpu access
and PIO helper handling.
This work is motivated in part by build reports from lkp and by follow-up
review/discussion around the percpu access rework:
https://lore.kernel.org/all/202512202218.FI6bB5kV-lkp@intel.com/
https://lore.kernel.org/all/202512210052.w0bpUAAO-lkp@intel.com/
1. Avoid forming invalid PIO address expressions when I/O port support is not
enabled, while keeping the generic pci_iounmap() behavior intact.
2. Introduce arch/riscv/include/asm/percpu.h with RISC-V-specific percpu
helpers, including the fix for the 8/16-bit add_return LR/SC fallback.
3. Cache the percpu offset in thread_info so percpu accesses can use it
directly across the relevant RISC-V paths.
Yunhui Cui (3):
riscv: io: avoid null-pointer arithmetic in PIO helpers
riscv: introduce percpu.h into include/asm
riscv: store percpu offset into thread_info
arch/riscv/include/asm/asm.h | 6 +-
arch/riscv/include/asm/io.h | 26 ++-
arch/riscv/include/asm/percpu.h | 284 +++++++++++++++++++++++++++
arch/riscv/include/asm/switch_to.h | 8 +
arch/riscv/include/asm/thread_info.h | 3 +-
arch/riscv/kernel/asm-offsets.c | 1 +
arch/riscv/kernel/smpboot.c | 7 +
arch/riscv/net/bpf_jit_comp64.c | 9 +-
include/asm-generic/io.h | 4 +
9 files changed, 326 insertions(+), 22 deletions(-)
create mode 100644 arch/riscv/include/asm/percpu.h
--
2.39.5
More information about the linux-riscv
mailing list