Support for firmware managed devices
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.
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?
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.
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.
(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.)