Re: [PATCH 0/4] Rust for Linux for ppc64le
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2021-03-23 12:16:36
Also in:
linuxppc-dev, lkml
Miguel Ojeda [off-list ref] writes:
Hi Michael, On Tue, Mar 23, 2021 at 4:27 AM Michael Ellerman [off-list ref] wrote:quoted
Hi all, Here's a first attempt at getting the kernel Rust support building on powerpc.Thanks a *lot*! It is great to have more architectures rolling.
No worries.
quoted
It's powerpc64le only for now, as that's what I can easily test given the distros I have installed. Though powerpc and powerpc64 are also Tier 2 platformsEven if it is just 64-bit, it is very good to have it!quoted
so in theory should work. Supporting those would require something more complicated than just pointing rustc at arch/$(ARCH)/rust/target.json.Yeah, the arch/$(ARCH)/rust/target.json dance is a placeholder -- I need to figure out how to do that more cleanly, likely generating them on the fly.
Yeah that's a good idea. That way they can be made to exactly match the kernel configuration.
quoted
This is based on 832575d934a2 from the Rust-for-Linux tree. Anything newer gives me errors about symbol name lengths. I figured I'd send this anyway, as it seems like those errors are probably not powerpc specific.Sure, feel free to send things even if they don't work completely. I will take a look at the symbol name lengths -- I increased that limit to 512 and added support for 2-byte lengths in the tables, but perhaps something is missing. If I manage to make it work, I can add ppc64le to our CI! :-)
It would be nice to be in the CI. I was building natively so I haven't tried cross compiling yet (which we'll need for CI).
quoted
Michael Ellerman (4): rust: Export symbols in initialized data section rust: Add powerpc64 as a 64-bit target_arch in c_types.rs powerpc/rust: Add target.json for ppc64le rust: Enable for ppc64leRegarding the development process: at least until the RFC we are working with the usual GitHub PR workflow (for several reasons: having a quick CI setup, getting new Rust developers on-board, having a list of "issues", cross-reference with the Rust repo, etc.). I can take patches from the list, of course, but since we are pre-RFC, do you mind if they get rebased etc. through there?
No I don't mind at all. I just sent patches so other ppc folks could see what I had, and it's kind of the process I'm used to. I can send a pull request if that's easiest. cheers