On Thu Sep 4, 2025 at 5:43 PM CEST, Zhi Wang wrote: > On Thu, 04 Sep 2025 11:41:03 +0200 > "Danilo Krummrich" <dakr@xxxxxxxxxx> wrote: > >> (Cc: Alex, John, Joel, Alistair, nouveau) >> >> On Thu Sep 4, 2025 at 11:37 AM CEST, Danilo Krummrich wrote: >> > nova-core won't provide any firmware specific APIs, it is meant to serve as a >> > hardware and firmware abstraction layer for higher level drivers, such as vGPU >> > or nova-drm. >> > >> > As a general rule the interface between nova-core and higher level drivers must >> > not leak any hardware or firmware specific details, but work on a higher level >> > abstraction layer. >> > > > It is more a matter of where we are going to place vGPU specific > functionality in the whole picture. In this case, if we are thinking about > the requirement of vGPU type loading, which requires the GSP version > number and checking. Are we leaning towards putting some vGPU specific > functionality also in nova-core? As much as needed to abstract firmware (and hardware) API details. > Regarding not leaking any of the hardware details, is that doable? > Looking at {nv04 * _fence}.c {chan*}.c in the current NVIF interfaces, I > think we will expose the HW concept somehow. I don't really mean that vGPU must be entirely unaware of the hardware, it's still a driver of course. But for the API between nova-core and client drivers we want to abstract how the firmware and hardware is programmed, i.e. not leak any (version specific) RM structures or provide APIs that consume raw register values to write, etc.