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
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/virtualization