Re: [PATCH 2/9] rust: io: drop the CONFIG_64BIT restriction on system memory u64 access
From: Laura Nao
Date: Mon Sep 21 2026 - 06:22:43 EST
Hi Gary,
On 9/15/26 13:18, Gary Guo wrote:
> On Tue Sep 15, 2026 at 11:57 AM BST, Laura Nao wrote:
>> SysMemBackend's IoCapable<u64> impl is currently gated on CONFIG_64BIT,
>> copying the MMIO backend's restriction. MMIO needs that gate because
>> readq() is not available on 32bit. System memory has no such dependency:
>> a u64 volatile load/store compiles on any architecture, it's just not
>> single-copy atomic on 32bit.
>>
>> Drop the gate so u64-backed types, such as bitfields, work on 32bit too.
>> Document the non-atomicity at the impl instead of enforcing it at build
>> time.
>>
>> Co-developed-by: Daniel Almeida <daniel.almeida@xxxxxxxxxxxxx>
>> Signed-off-by: Daniel Almeida <daniel.almeida@xxxxxxxxxxxxx>
>> Signed-off-by: Laura Nao <laura.nao@xxxxxxxxxxxxx>
>
> No. If you don't need atomicity, please use `copy_read` to read the value. It'll
> compile down to the same volatile read, just without atomicity guarantee.
>
Ack, thanks for the feedback. I'll drop this in v2.
Best,
Laura