[PATCH v5 00/23] nova-core: run FWSEC-FRTS to perform first stage of GSP initialization
Alexandre Courbot
acourbot at nvidia.com
Wed Jun 18 08:25:25 UTC 2025
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/20250503040802.1411285-1-joelagnelf@nvidia.com/
>
> 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.
More information about the Nouveau
mailing list