You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
These platforms selected because they're also well supported by Rust-for-LLVM.
Which leads me to a question... both MIPS and PPC come in BE and LE variants, does anyone know off hand which the kernel implements (or both?)? /cc @nickdesaulniers
On Sun, Mar 14, 2021 at 3:12 PM Miguel Ojeda ***@***.***> wrote:
Both, although little-endian are the important one (e.g. ppc64el is
supported by Ubuntu and Red Hat, mipsel and mips64el by Debian).
Let me split the arches into issues, I will also create the s390x and add
a couple details that may help.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#105 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAAGBFUVEU63DBHL2VSCOTTDUDADANCNFSM4ZFG5XWQ>
.
--
All that is necessary for evil to succeed is for good people to do nothing.
I'm interested in testing ppc64 big-endian mode on my PowerMac quad G5, which is missing little-endian support at the CPU level. I've been working to add features to the KVM module for the usermode emulation (the G5 also lacks the hypervisor added in POWER7, so it only runs the KVM-PR module, not KVM-HV).
I like how the ppc C code is written to be correct whether built for 32-bit or 64-bit, big-endian or little-endian, and 4K or 64K page sizes, based on preprocessor defines. You already have PAGE_SIZE and byte order support in Rust, and types that map to long and ulong. If you can write conditional code based on whether CONFIG_64BIT is set in the kernel config, there shouldn't be any problems getting all eight combinations working on ppc. I've had good luck so far with Rust itself on ppc64 BE.
Activity
alex commentedon Mar 14, 2021
These platforms selected because they're also well supported by Rust-for-LLVM.
Which leads me to a question... both MIPS and PPC come in BE and LE variants, does anyone know off hand which the kernel implements (or both?)? /cc @nickdesaulniers
ojeda commentedon Mar 14, 2021
Both, although little-endian are the important one (e.g. ppc64el is supported by Ubuntu and Red Hat, mipsel and mips64el by Debian).
Let me split the arches into issues, I will also create the s390x and add a couple details that may help.
[-]Add powerpc and mips support[/-][+]Support powerpc[/+]alex commentedon Mar 14, 2021
alex commentedon Mar 23, 2021
Patchset for ppc64le was sent to the mailing list.
ojeda commentedon Mar 23, 2021
Link: https://lore.kernel.org/rust-for-linux/20210323032624.1039422-1-mpe@ellerman.id.au/
alex commentedon Mar 31, 2021
Basic support landed -- we should add this to the documentation and close this issue.
ojeda commentedon Mar 31, 2021
We could keep this open, at least until we get "most" of the ppc support in place (e.g. the rest of the CI, GCC or not, etc.).
jhamby commentedon Apr 14, 2021
I'm interested in testing ppc64 big-endian mode on my PowerMac quad G5, which is missing little-endian support at the CPU level. I've been working to add features to the KVM module for the usermode emulation (the G5 also lacks the hypervisor added in POWER7, so it only runs the KVM-PR module, not KVM-HV).
I like how the ppc C code is written to be correct whether built for 32-bit or 64-bit, big-endian or little-endian, and 4K or 64K page sizes, based on preprocessor defines. You already have PAGE_SIZE and byte order support in Rust, and types that map to long and ulong. If you can write conditional code based on whether CONFIG_64BIT is set in the kernel config, there shouldn't be any problems getting all eight combinations working on ppc. I've had good luck so far with Rust itself on ppc64 BE.
28 remaining items
powerpc/jump_label: adjust inline asm to be consistent
rust: Add PowerPC support
powerpc: Enable Rust for ppc64le
rust: Separate host libraries to fix rmeta dependency conflict
powerpc/jump_label: adjust inline asm to be consistent
rust: Add PowerPC support
powerpc: Enable Rust for ppc64le
rust: Fix "multiple candidates for rmeta dependency core" error
powerpc/jump_label: adjust inline asm to be consistent
rust: Add PowerPC support
powerpc: Enable Rust for ppc64le
rust: Fix "multiple candidates for rmeta dependency core" error
powerpc/jump_label: adjust inline asm to be consistent
rust: Add PowerPC support
powerpc: Enable Rust for ppc64le