[PATCH V6 0/3] Rust support for powerpc

From: Mukesh Kumar Chaurasiya (IBM)

Date: Tue Feb 10 2026 - 04:00:41 EST


Enable experimental rust support for ppc64le and ppc32be. The patch for
ppc32 has been provided by Link Mauve[1] and ppc64le support[2] has been
merged over it. ppc32 needs some toolchain fixes mentioned in the patch
`rust: Add PowerPC support` and the discussion for that is done here[1].

This has been tested on powernv9 hardware and power10 pseries qemu. I
I request Link to test the ppc32 part as i don't have a hardware to test
it out.

[1] https://lore.kernel.org/all/20260204030507.8203-1-linkmauve@xxxxxxxxxxxx
[2] https://lore.kernel.org/all/20260204042417.83903-1-mkchauras@xxxxxxxxx

Changelog:
V5 -> V6:
- Added a missing Tested by from Venkat which got missed since V3
- Support is marked as Maintained instead of experimental
V5: https://lore.kernel.org/all/20260210053756.2088302-1-mkchauras@xxxxxxxxx

V4 -> V5:
- Removed a nested ifdef from PPC64 for Little endian toolchain
V4: https://lore.kernel.org/all/20260209105456.1551677-1-mkchauras@xxxxxxxxx

V3 -> V4:
- Co-developed-by header added in patch 1
V3: https://lore.kernel.org/all/20260205180429.3280657-1-mkchauras@xxxxxxxxx

V2 -> V3:
- Splited HAVE_RUST in 2 lines
- BINDGEN_TARGET_powerpc initialized before assigning the same to
BINDGEN_TARGET
V2: https://lore.kernel.org/all/20260204210125.613350-1-mkchauras@xxxxxxxxx

V1 -> V2:
- jump label fix for rust has been moved to a separate patch
- PPC32 support has been taken
- rust support has been marked experimental
- target.json dependency has been removed
- HAVE_RUST now depends on CPU_LITTLE_ENDIAN for PPC64


Link Mauve (1):
rust: Add PowerPC support

Mukesh Kumar Chaurasiya (IBM) (2):
powerpc/jump_label: adjust inline asm to be consistent
powerpc: Enable Rust for ppc64le

Documentation/rust/arch-support.rst | 1 +
arch/powerpc/Kconfig | 2 ++
arch/powerpc/Makefile | 7 +++++++
arch/powerpc/include/asm/jump_label.h | 23 +++++++++++++----------
rust/Makefile | 10 +++++++++-
5 files changed, 32 insertions(+), 11 deletions(-)

--
2.53.0