Danilo Krummrich
2025-Oct-08 10:23 UTC
[PATCH v6 0/5] Introduce bitfield and move register macro to rust/kernel/
On Wed Oct 8, 2025 at 1:37 AM CEST, Joel Fernandes wrote:> The Nvidia GPU architecture is little-endian (including MMU structures in VRAM).Yes, I'm aware (and I'd assume that there is no reason to ever change that). Just for the complete picture, there's also some endianness switch in the NV_PMC_BOOT_1 register I think?> All the CPU architectures our drivers support are expected to be little-endian.Technically, all Rust supported architectures are indeed little-endian. However, the only constraint for the Nova project as by now is 64-bit only.
Greg KH
2025-Oct-08 10:47 UTC
[PATCH v6 0/5] Introduce bitfield and move register macro to rust/kernel/
On Wed, Oct 08, 2025 at 12:23:40PM +0200, Danilo Krummrich wrote:> On Wed Oct 8, 2025 at 1:37 AM CEST, Joel Fernandes wrote: > > The Nvidia GPU architecture is little-endian (including MMU structures in VRAM). > > Yes, I'm aware (and I'd assume that there is no reason to ever change that). > > Just for the complete picture, there's also some endianness switch in the > NV_PMC_BOOT_1 register I think? > > > All the CPU architectures our drivers support are expected to be little-endian. > > Technically, all Rust supported architectures are indeed little-endian.s390x is supported by rust as a tier2 output: https://doc.rust-lang.org/beta/rustc/platform-support/s390x-unknown-linux-gnu.html so there really shouldn't be any reason why that platform couldn't add rust support today, right? thanks, greg k-h
Danilo Krummrich
2025-Oct-08 10:49 UTC
[PATCH v6 0/5] Introduce bitfield and move register macro to rust/kernel/
On Wed Oct 8, 2025 at 12:47 PM CEST, Greg KH wrote:> On Wed, Oct 08, 2025 at 12:23:40PM +0200, Danilo Krummrich wrote: >> On Wed Oct 8, 2025 at 1:37 AM CEST, Joel Fernandes wrote: >> > The Nvidia GPU architecture is little-endian (including MMU structures in VRAM). >> >> Yes, I'm aware (and I'd assume that there is no reason to ever change that). >> >> Just for the complete picture, there's also some endianness switch in the >> NV_PMC_BOOT_1 register I think? >> >> > All the CPU architectures our drivers support are expected to be little-endian. >> >> Technically, all Rust supported architectures are indeed little-endian. > > s390x is supported by rust as a tier2 output: > https://doc.rust-lang.org/beta/rustc/platform-support/s390x-unknown-linux-gnu.html > > so there really shouldn't be any reason why that platform couldn't add > rust support today, right?That's the one I also had in mind. :)
Joel Fernandes
2025-Oct-09 00:24 UTC
[PATCH v6 0/5] Introduce bitfield and move register macro to rust/kernel/
On 10/8/2025 6:23 AM, Danilo Krummrich wrote:> On Wed Oct 8, 2025 at 1:37 AM CEST, Joel Fernandes wrote: >> The Nvidia GPU architecture is little-endian (including MMU structures in VRAM). > > Yes, I'm aware (and I'd assume that there is no reason to ever change that). > > Just for the complete picture, there's also some endianness switch in the > NV_PMC_BOOT_1 register I think?You are referring to old GPUs. NV_PMC_BOOT_1 does not have endianness switch for Turing and later.>> All the CPU architectures our drivers support are expected to be little-endian. > > Technically, all Rust supported architectures are indeed little-endian. >Ok.> However, the only constraint for the Nova project as by now is 64-bit only.Ok. Modern Nvidia GPUs only boot on x86 and ARM CPUs. There is BIOS/UEFI support also that is needed for specific CPU architectures. If we want to add a Kconfig patch enabling Nova only on x86/ARM, that'll be Ok with me. hope this helps, thanks, - Joel