On Thu, Oct 24, 2019 at 05:09:14AM -0400, Jagannathan Raman wrote: > +void proxy_device_reset(DeviceState *dev) > +{ > + PCIProxyDev *pdev = PCI_PROXY_DEV(dev); > + MPQemuMsg msg; > + > + memset(&msg, 0, sizeof(MPQemuMsg)); > + > + msg.bytestream = 0; > + msg.size = sizeof(msg.data1); > + msg.cmd = DEVICE_RESET; > + > + mpqemu_msg_send(pdev->mpqemu_link, &msg, pdev->mpqemu_link->com); > +} Device reset must wait for the remote process to finish reset, otherwise the remote device could still be running after proxy_device_reset() returns from sending the message. Stefan