[PATCH V8 0/4] Rust support for powerpc

From: Mukesh Kumar Chaurasiya (IBM)

Date: Fri Apr 03 2026 - 10:55:35 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
- pseries P11 hardware
- pseries(9, 10) qemu
- powernv(9, 10) qemu
- rustdoc on x86 and powerpc64le
- rusttest on x86 and powerpc64le

We are actively working with our LLVM team to get the target for ppc,
ppc64 and ppc64le in the rust compiler.


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

Changelog:
V7 -> V8:
- rust/Makefile updated to separate host libraries from target
V7: https://lore.kernel.org/all/20260329160254.2592207-1-mkchauras@xxxxxxxxx/

Changelog:
V6 -> V7:
- Documentation removed as powerpc is still under development
- Added a fix for race condition in rust/Makefile
V6: https://lore.kernel.org/all/20260210090023.2587534-1-mkchauras@xxxxxxxxx

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) (3):
rust: Fix "multiple candidates for rmeta dependency core" error
powerpc/jump_label: adjust inline asm to be consistent
powerpc: Enable Rust for ppc64le

arch/powerpc/Kconfig | 2 +
arch/powerpc/Makefile | 7 +++
arch/powerpc/include/asm/jump_label.h | 23 +++++----
rust/Makefile | 73 ++++++++++++++++++---------
4 files changed, 71 insertions(+), 34 deletions(-)

--
2.53.0