On Wed Jun 18, 2025 at 5:14 AM JST, Danilo Krummrich wrote: > On Thu, Jun 12, 2025 at 11:01:28PM +0900, Alexandre Courbot wrote: >> Hi everyone, >> >> The feedback on v4 has been (hopefully) addressed. I guess the main >> remaining unknown is the direction of the `num` module ; for this >> iteration, following the received feedback I have eschewed the extension >> trait and implemented the alignment functions as methods of the new >> `PowerOfTwo` type. This has the benefit of making it impossible to call >> them with undesirable (i.e. non-power of two) values. The `fls` function >> is now provided as a series of const functions for each supported type, >> generated by a macro. >> >> It feels like the `num` module could be its own series though, so if >> there is still discussion about it, I can also extract it and implement >> the functionality we need in nova-core as local helper functions until >> it gets merged at its own pace. >> >> As previously, this series only successfully probes Ampere GPUs, but >> support for other generations is on the way. >> >> Upon successful probe, the driver will display the range of the WPR2 >> region constructed by FWSEC-FRTS with debug priority: >> >> [ 95.436000] NovaCore 0000:01:00.0: WPR2: 0xffc00000-0xffce0000 >> [ 95.436002] NovaCore 0000:01:00.0: GPU instance built >> >> This series is based on v6.16-rc1 with no other dependencies. >> >> There are bits of documentation still missing, these are addressed by >> Joel in his own documentation patch series [1]. I'll also double-check >> and send follow-up patches if anything is still missing after that. >> >> [1] >> https://lore.kernel.org/rust-for-linux/[email protected]/ > > I think this series collected quite a few TODOs to follow up on once the > corresponding abstractions are in place, etc. This is fine and expected. > > However, I think we should list those things in a central place, e.g. our TODO > list, in order to make it easier to follow up. > > Additionally, it might get us more contributors who might be interested in > following up on those things. > > @Alex: Can you please add such a list?
I went through every TODO in the code and found the following could be done: - Update the entry about the registers macro with remaining sub-tasks before it can "graduate" from Nova (notably register arrays, which are several TODOs by themselves), - Mention the missing `FromBytes::from_bytes` that will allow us to remove some unsafe code, - Mention the missing features of `CoherentAllocation` (write() and as_slice()) that require us to use unsafe code, - I wanted to mention the missing xarray but noticed it has been merged, so we can just use it and remove the corresponding TODO. :) ... and that's all I noticed, but please let me know if I missed something.
