Re: bhyve: disable msi and msix on virtio reset?

2016-07-12 Thread Tycho Nightingale via freebsd-virtualization
Hi, On Jul 12, 2016, at 7:38 PM, Peter Grehan 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

Re: bhyve: disable msi and msix on virtio reset?

2016-07-12 Thread Peter Grehan
Hi Tycho, 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.

Re: bhyve: disable msi and msix on virtio reset?

2016-07-12 Thread Tycho Nightingale via freebsd-virtualization
Hi, 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. Tycho

bhyve: disable msi and msix on virtio reset?

2016-07-12 Thread Andriy Gapon
A write of a zero to VTCFG_R_STATUS initiates a virtio device reset via vc_reset. Typically this means a call to vi_reset_dev() which resets a bunch of fields in virtio_softc, but does not touch a corresponding pci_devinst (hanging off vs_pi) at all. Among other things this means that PCI MSI an