public inbox for linuxppc-dev@ozlabs.org
 help / color / mirror / Atom feed
From: Venkat <venkat88@linux.ibm.com>
To: "Mukesh Kumar Chaurasiya (IBM)" <mkchauras@gmail.com>
Cc: linkmauve@linkmauve.fr, ojeda@kernel.org, boqun.feng@gmail.com,
	gary@garyguo.net, bjorn3_gh@protonmail.com, lossin@kernel.org,
	a.hindborg@kernel.org, aliceryhl@google.com, tmgross@umich.edu,
	dakr@kernel.org, corbet@lwn.net, maddy@linux.ibm.com,
	mpe@ellerman.id.au, npiggin@gmail.com, chleroy@kernel.org,
	peterz@infradead.org, jpoimboe@kernel.org, jbaron@akamai.com,
	rostedt@goodmis.org, ardb@kernel.org,
	rust-for-linux@vger.kernel.org, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH V3 0/3] Rust support for powerpc
Date: Fri, 6 Feb 2026 22:25:09 +0530	[thread overview]
Message-ID: <F9EAA7DA-7CD3-43CB-8C6A-671E519BC963@linux.ibm.com> (raw)
In-Reply-To: <20260205180429.3280657-1-mkchauras@gmail.com>



> On 5 Feb 2026, at 11:34 PM, Mukesh Kumar Chaurasiya (IBM) <mkchauras@gmail.com> 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 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@linkmauve.fr
> [2] https://lore.kernel.org/all/20260204042417.83903-1-mkchauras@gmail.com
> 
> Changelog:
> 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@gmail.com
> 
> 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                 |  9 +++++++++
> arch/powerpc/include/asm/jump_label.h | 23 +++++++++++++----------
> rust/Makefile                         | 12 +++++++++++-
> 5 files changed, 36 insertions(+), 11 deletions(-)
> 
> -- 
> 2.52.0
> 

Tested this patch set, by applying on mainline kernel. Attached is the .config file used.

Please add below tag.

Tested-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>

Logs:

rustc --version
rustc 1.95.0-nightly (e96bb7e44 2026-01-27)

llvm-18.1.8-3.el9.ppc64le

sudo insmod samples/rust/rust_minimal.ko
[   39.532119] rust_minimal: loading out-of-tree module taints kernel.
[   39.532132] rust_minimal: module verification failed: signature and/or required key missing - tainting kernel
[   39.532856] rust_minimal: Rust minimal sample (init)
[   39.532860] rust_minimal: Am I built-in? false
[   39.532864] rust_minimal: test_parameter: 1
# dmesg | tail -n 30
[    3.418850] systemd[1]: Mounted Kernel Trace File System.
[    3.419194] systemd[1]: Finished Create List of Static Device Nodes.
[    3.419482] systemd[1]: modprobe@configfs.service: Deactivated successfully.
[    3.419647] systemd[1]: Finished Load Kernel Module configfs.
[    3.419913] systemd[1]: modprobe@drm.service: Deactivated successfully.
[    3.420056] systemd[1]: Finished Load Kernel Module drm.
[    3.420405] systemd[1]: Finished Read and set NIS domainname from /etc/sysconfig/network.
[    3.420694] systemd[1]: Finished Generate network units from Kernel command line.
[    3.422214] systemd[1]: Mounting Kernel Configuration File System...
[    3.423543] systemd[1]: Finished Apply Kernel Variables.
[    3.424011] systemd[1]: Mounted Kernel Configuration File System.
[    3.430589] systemd[1]: Started Journal Service.
[    3.477706] fuse: init (API version 7.45)
[    3.548678] EXT4-fs (sda3): re-mounted 78691517-64fe-451b-9009-14359b774643 r/w.
[    3.556791] systemd-journald[640]: Received client request to flush runtime journal.
[    3.681167] Adding 10485696k swap on /dev/sda2.  Priority:-1 extents:1 across:10485696k SS
[    3.693490] pseries_rng: Registering IBM pSeries RNG driver
[    3.693904] cryptd: max_cpu_qlen set to 1000
[    4.702590] RPC: Registered named UNIX socket transport module.
[    4.702604] RPC: Registered udp transport module.
[    4.702607] RPC: Registered tcp transport module.
[    4.702609] RPC: Registered tcp-with-tls transport module.
[    4.702612] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    6.701147] block sda: the capability attribute has been deprecated.
[   10.150485] fbcon: Taking over console
[   39.532119] rust_minimal: loading out-of-tree module taints kernel.
[   39.532132] rust_minimal: module verification failed: signature and/or required key missing - tainting kernel
[   39.532856] rust_minimal: Rust minimal sample (init)
[   39.532860] rust_minimal: Am I built-in? false
[   39.532864] rust_minimal: test_parameter: 1
# sudo rmmod rust_minimal
[ 4125.461822] rust_minimal: My numbers are [72, 108, 200]
[ 4125.461839] rust_minimal: Rust minimal sample (exit)
# sudo insmod samples/rust/rust_print.ko
[ 4142.492146] rust_print: Rust printing macros sample (init)
[ 4142.492158] rust_print: Emergency message (level 0) without args
[ 4142.492161] rust_print: Alert message (level 1) without args
[ 4142.492163] rust_print: Critical message (level 2) without args
[ 4142.492166] rust_print: Error message (level 3) without args
[ 4142.492169] rust_print: Warning message (level 4) without args
[ 4142.492171] rust_print: Notice message (level 5) without args
[ 4142.492174] rust_print: Info message (level 6) without args
[ 4142.492176] rust_print: A line that is continued without args
[ 4142.492181] rust_print: Emergency message (level 0) with args
[ 4142.492185] rust_print: Alert message (level 1) with args
[ 4142.492188] rust_print: Critical message (level 2) with args
[ 4142.492190] rust_print: Error message (level 3) with args
[ 4142.492193] rust_print: Warning message (level 4) with args
[ 4142.492195] rust_print: Notice message (level 5) with args
[ 4142.492197] rust_print: Info message (level 6) with args
[ 4142.492200] rust_print: A line that is continued with args
[ 4142.492205] rust_print: 1
[ 4142.492206] rust_print: "hello, world"
[ 4142.492208] rust_print: [rust_print_main.rs:35:5] c = "hello, world"
[ 4142.492213] rust_print: Arc<dyn Display> says 42
[ 4142.492214] rust_print: Arc<dyn Display> says hello, world
# dmesg | tail -n 50
[    3.419913] systemd[1]: modprobe@drm.service: Deactivated successfully.
[    3.420056] systemd[1]: Finished Load Kernel Module drm.
[    3.420405] systemd[1]: Finished Read and set NIS domainname from /etc/sysconfig/network.
[    3.420694] systemd[1]: Finished Generate network units from Kernel command line.
[    3.422214] systemd[1]: Mounting Kernel Configuration File System...
[    3.423543] systemd[1]: Finished Apply Kernel Variables.
[    3.424011] systemd[1]: Mounted Kernel Configuration File System.
[    3.430589] systemd[1]: Started Journal Service.
[    3.477706] fuse: init (API version 7.45)
[    3.548678] EXT4-fs (sda3): re-mounted 78691517-64fe-451b-9009-14359b774643 r/w.
[    3.556791] systemd-journald[640]: Received client request to flush runtime journal.
[    3.681167] Adding 10485696k swap on /dev/sda2.  Priority:-1 extents:1 across:10485696k SS
[    3.693490] pseries_rng: Registering IBM pSeries RNG driver
[    3.693904] cryptd: max_cpu_qlen set to 1000
[    4.702590] RPC: Registered named UNIX socket transport module.
[    4.702604] RPC: Registered udp transport module.
[    4.702607] RPC: Registered tcp transport module.
[    4.702609] RPC: Registered tcp-with-tls transport module.
[    4.702612] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    6.701147] block sda: the capability attribute has been deprecated.
[   10.150485] fbcon: Taking over console
[   39.532119] rust_minimal: loading out-of-tree module taints kernel.
[   39.532132] rust_minimal: module verification failed: signature and/or required key missing - tainting kernel
[   39.532856] rust_minimal: Rust minimal sample (init)
[   39.532860] rust_minimal: Am I built-in? false
[   39.532864] rust_minimal: test_parameter: 1
[ 4125.461822] rust_minimal: My numbers are [72, 108, 200]
[ 4125.461839] rust_minimal: Rust minimal sample (exit)
[ 4142.492146] rust_print: Rust printing macros sample (init)
[ 4142.492158] rust_print: Emergency message (level 0) without args
[ 4142.492161] rust_print: Alert message (level 1) without args
[ 4142.492163] rust_print: Critical message (level 2) without args
[ 4142.492166] rust_print: Error message (level 3) without args
[ 4142.492169] rust_print: Warning message (level 4) without args
[ 4142.492171] rust_print: Notice message (level 5) without args
[ 4142.492174] rust_print: Info message (level 6) without args
[ 4142.492176] rust_print: A line that is continued without args
[ 4142.492181] rust_print: Emergency message (level 0) with args
[ 4142.492185] rust_print: Alert message (level 1) with args
[ 4142.492188] rust_print: Critical message (level 2) with args
[ 4142.492190] rust_print: Error message (level 3) with args
[ 4142.492193] rust_print: Warning message (level 4) with args
[ 4142.492195] rust_print: Notice message (level 5) with args
[ 4142.492197] rust_print: Info message (level 6) with args
[ 4142.492200] rust_print: A line that is continued with args
[ 4142.492205] rust_print: 1
[ 4142.492206] rust_print: "hello, world"
[ 4142.492208] rust_print: [rust_print_main.rs:35:5] c = "hello, world"
[ 4142.492213] rust_print: Arc<dyn Display> says 42
[ 4142.492214] rust_print: Arc<dyn Display> says hello, world
# sudo rmmod rust_print
[ 4142.492217] rust_print: "hello, world"
[ 4153.334714] rust_print: Rust printing macros sample (exit)

# sudo rmmod rust_debugfs

Regards,
Venkat.

      parent reply	other threads:[~2026-02-06 16:56 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-05 18:04 [PATCH V3 0/3] Rust support for powerpc Mukesh Kumar Chaurasiya (IBM)
2026-02-05 18:04 ` [PATCH V3 1/3] powerpc/jump_label: adjust inline asm to be consistent Mukesh Kumar Chaurasiya (IBM)
2026-02-05 18:04 ` [PATCH V3 2/3] rust: Add PowerPC support Mukesh Kumar Chaurasiya (IBM)
2026-02-05 18:04 ` [PATCH V3 3/3] powerpc: Enable Rust for ppc64le Mukesh Kumar Chaurasiya (IBM)
2026-02-06 16:55 ` Venkat [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=F9EAA7DA-7CD3-43CB-8C6A-671E519BC963@linux.ibm.com \
    --to=venkat88@linux.ibm.com \
    --cc=a.hindborg@kernel.org \
    --cc=aliceryhl@google.com \
    --cc=ardb@kernel.org \
    --cc=bjorn3_gh@protonmail.com \
    --cc=boqun.feng@gmail.com \
    --cc=chleroy@kernel.org \
    --cc=corbet@lwn.net \
    --cc=dakr@kernel.org \
    --cc=gary@garyguo.net \
    --cc=jbaron@akamai.com \
    --cc=jpoimboe@kernel.org \
    --cc=linkmauve@linkmauve.fr \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=lossin@kernel.org \
    --cc=maddy@linux.ibm.com \
    --cc=mkchauras@gmail.com \
    --cc=mpe@ellerman.id.au \
    --cc=npiggin@gmail.com \
    --cc=ojeda@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=tmgross@umich.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox