On Wed, Jul 08, 2026 at 01:46:25PM +0530, Mukesh Kumar Chaurasiya (IBM) wrote:
> 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/[email protected]
> [2] https://lore.kernel.org/all/[email protected]
> 
> Changelog:
> V16 -> V17:
> - Rebased to latest v7.2-rc2 
> 
> V15 -> V16:
> - Rebased to latest v7.1-rc4
> V15: https://lore.kernel.org/all/[email protected]/
> 
> V14 -> V15:
> - Fix an issue with rustdoc build on ppc64le
> V14: https://lore.kernel.org/all/[email protected]/
> 
> V13 -> V14:
> - 2nd patch is rewritten (Christian)
> - Fixed a small typo in rust/Makefile (Sashiko)
> - Fixed commit message in Patch 4 (Sashiko)
> V13: https://lore.kernel.org/all/[email protected]/
> 
> V12 -> V13:
> - Added a patch for fixing build issue on ppc32 by Link Mauve
> - Added another patch to fix a build issue in dma-buf
> - Added another patch to enforce minimum `rustc` version for powerpc
> V12: https://lore.kernel.org/all/[email protected]/
> 
> V11 -> V12:
> - Rebased to mainline (rust/Makefile conflict resolved)
> V11: https://lore.kernel.org/all/[email protected]/
> 
> V10 -> V11:
> - Updated `rust/Makefile`
> - Not all libraries are move to `rust/host` directory now. Only
>   proc_macro2, quote and syn are moved
> - Special handling for pin init is added. Details in commit
> - Removed mkdir for `rust/host`, this is now handled by toolchain.
> V10: https://lore.kernel.org/all/[email protected]/
> 
> V9 -> V10:
> - rust/Makefile updated with review comments from Miguel
> - Patch 1/4 updated with commit message and subject
> V9: https://lore.kernel.org/all/[email protected]/
> 
> V8 -> V9:
> - rust/Makefile updated with a directory instead of abspath
> V8: https://lore.kernel.org/all/[email protected]/
> 
> V7 -> V8:
> - rust/Makefile updated to separate host libraries from target
> V7: https://lore.kernel.org/all/[email protected]/
> 
> 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/[email protected]
> 
> 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/[email protected]
> 
> V4 -> V5:
> - Removed a nested ifdef from PPC64 for Little endian toolchain
> V4: https://lore.kernel.org/all/[email protected]
> 
> V3 -> V4:
> - Co-developed-by header added in patch 1
> V3: https://lore.kernel.org/all/[email protected]
> 
> 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/[email protected]
> 
> 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
> V1: https://lore.kernel.org/all/[email protected] 
> 
> Link Mauve (2):
>   rust: Make __udivdi3() and __umoddi3() panic
>   rust: Add PowerPC support
> 
> Mukesh Kumar Chaurasiya (IBM) (6):
>   powerpc/syscall: Fix syscall skip handling for seccomp and ptrace
>   rust: Fix "multiple candidates for rmeta dependency core" error
>   dma-resv: Fix undefined symbol when CONFIG_DMA_SHARED_BUFFER is
>     disabled
>   powerpc/jump_label: adjust inline asm to be consistent
>   rust/powerpc: Set min rustc version for powerpc
>   powerpc: Enable Rust for ppc64le
> 
>  arch/powerpc/Kconfig                   |  2 +
>  arch/powerpc/Makefile                  |  7 ++++
>  arch/powerpc/include/asm/jump_label.h  | 23 ++++++-----
>  arch/powerpc/include/asm/ptrace.h      | 22 +++++++++-
>  arch/powerpc/include/asm/syscall.h     |  6 +++
>  arch/powerpc/include/uapi/asm/ptrace.h |  6 ++-
>  arch/powerpc/kernel/ptrace/ptrace.c    |  2 +
>  arch/powerpc/kernel/syscall.c          | 18 +++++++++
>  rust/Makefile                          | 56 +++++++++++++++++---------
>  rust/compiler_builtins.rs              |  6 +++
>  rust/helpers/helpers.c                 |  2 +
>  scripts/min-tool-version.sh            |  2 +
>  12 files changed, 119 insertions(+), 33 deletions(-)
> 
> -- 
> 2.55.0
> 

Please ignore this.

Regards,
Mukesh

Reply via email to