openvmm icon indicating copy to clipboard operation
openvmm copied to clipboard

Support for firmware managed devices

Open sunilmut opened this issue 3 months ago • 4 comments

This change adds a flag to the device structure such that the devices can present themselves as firmware managed devices. Firmware managed devices are conceptually guest visible devices that require some coordination with the OpenHCL firmware to be usable. For example, MANA devices that require netvsp to be operational are considered firmware managed devices.

sunilmut avatar Sep 11 '25 21:09 sunilmut

I don't feel like this property is well defined. Probably we shouldn't add it precisely where you've added it. Which component is going to take action based on this value? What is the component going to do with the info?

jstarks avatar Sep 11 '25 22:09 jstarks

I don't feel like this property is well defined. Probably we shouldn't add it precisely where you've added it. Which component is going to take action based on this value? What is the component going to do with the info?

HvlDeviceHost while reporting get_virtual_device_capabilities to FlexIOV, has to enable the flag FiovDeviceOfferOnDemand flag on the MANA VTL0 VF, when that VF is managed by OpenHCL. Thats the flag that tells FlexIOV to not offer the device immediately to VTL0 when VTL0 comes up and waits for OpenHCL to tell it when to offer/revoke.

sunilmut avatar Sep 11 '25 22:09 sunilmut

I see. I don't think this should be a chipset device property, or even a PCI device property. I think this should be part of the instantiation path inside HvlDeviceHost. After all, it's not really a property of the device, it's how you want to use the device itself.

jstarks avatar Sep 12 '25 17:09 jstarks

(At the very least, I would start there. If it becomes annoying to manage this specifically in hvldevicehost, we can look at moving the description into common code.)

jstarks avatar Sep 12 '25 17:09 jstarks