Avi Kivity wrote:
Rusty Russell wrote:+ +static void vp_reset(struct virtio_device *vdev) +{ + struct virtio_pci_device *vp_dev = to_vp_device(vdev); + /* 0 status means a reset. */ + return iowrite8(0, vp_dev->ioaddr + VIRTIO_PCI_STATUS); }pci has something called FLR for function-level reset. If we use that as the reset mechanism, then reset can be initiated from outside the virtio layer, if the guest OS supports that.
PCI-e has a common reset concept (warm and cold). I've been looking around and I can't seem to find any common reset mechanism for PCI. Is FLR something that is per-device or a standard PCI mechanism? If it's the former, than we've basically implemented FLR using this bit in the config space.
Regards, Anthony Liguori _______________________________________________ Virtualization mailing list [email protected] https://lists.linux-foundation.org/mailman/listinfo/virtualization
