Re: [RFC PATCH V3 00/43] rv64ilp32_abi: Build CONFIG_64BIT kernel-self with ILP32 ABI

From: Palmer Dabbelt
Date: Thu Mar 27 2025 - 12:21:20 EST


On Tue, 25 Mar 2025 12:23:39 PDT (-0700), Liam.Howlett@xxxxxxxxxx wrote:
* David Hildenbrand <david@xxxxxxxxxx> [250325 14:52]:
On 25.03.25 13:26, Peter Zijlstra wrote:
> On Tue, Mar 25, 2025 at 08:15:41AM -0400, guoren@xxxxxxxxxx wrote:
> > From: "Guo Ren (Alibaba DAMO Academy)" <guoren@xxxxxxxxxx>
> >
> > Since 2001, the CONFIG_64BIT kernel has been built with the LP64 ABI,
> > but this patchset allows the CONFIG_64BIT kernel to use an ILP32 ABI
>
> I'm thinking you're going to be finding a metric ton of assumptions
> about 'unsigned long' being 64bit when 64BIT=y throughout the kernel.
>
> I know of a couple of places where 64BIT will result in different math
> such that a 32bit 'unsigned long' will trivially overflow.

Ya, I write code that assumes "unsigned long" is the size of a register pretty regularly.

>
> Please, don't do this. This adds a significant maintenance burden on all
> of us.
>

Fully agreed.

I would go further and say I do not want this to go in.

Seems reasonable to me, and I think it's also been the general sentiment when this stuff comes up. This specific implementation seems particularly clunky, but I agree that it's going to be painful to do this sort of thing.

The open ended maintenance burden is not worth extending hardware life
of a board with 16mb of ram (If I understand your 2023 LPC slides
correctly).

We can already run full 32-bit kernels on 64-bit hardware. The hardware needs to support configurable XLEN, but there's systems out there that do already.

It's not like any of the existing RISC-V stuff ships in meaningful volumes. So I think it's fine to just say that vendors who want tiny memories should build hardware that plays nice with those constraints, and vendors who build hardware that doesn't make any sense get to pick up the pieces.

I get RISC-V is where people go to have crazy ideas, but there's got to be a line somewhere...


Thank you,
Liam