On Jul 12, 2016, at 7:38 PM, Peter Grehan <gre...@freebsd.org> wrote:

>> Yes, writing 0 to the status resister should reset the device
>> including all PCIE state.  This implies that vi_reset_dev() needs to
>> take the proper actions to bring the associated pci_devinst (which
>> from the guest’s perspective isn’t a discrete element) back to it’s
>> reset state too.
> I'm not sure if the reset also hits PCIe state, if you're counting config 
> space as part of that (e.g. BAR contents). As an example, the FreeBSD guest 
> virtio code doesn't do any config space saves/restores around a reset.

This is one of those ambiguities in the virtio spec wherein the canonical 
implementation (qemu) becomes the de facto standard.  I see in illumos driver 
that only a virtio-reset is performed in the quiesce entry point.  On qemu Is 
this sufficient on qemu to support warm rest?  If so then perhaps we should 
only clear the capabilities (MSIX) and not the BARs.

freebsd-virtualization@freebsd.org mailing list
To unsubscribe, send any mail to 

Reply via email to