Hi Gerd, > -----Original Message----- > From: Gerd Hoffmann <kra...@redhat.com> > Sent: Wednesday, September 23, 2020 3:44 PM > To: Sai Pavan Boddu <saip...@xilinx.com> > Cc: Peter Maydell <peter.mayd...@linaro.org>; Markus Armbruster > <arm...@redhat.com>; 'Marc-André Lureau' > <marcandre.lur...@redhat.com>; Paolo Bonzini <pbonz...@redhat.com>; > Edgar Iglesias <edg...@xilinx.com>; Francisco Eduardo Iglesias > <figle...@xilinx.com>; qemu-devel@nongnu.org; Alistair Francis > <alistair.fran...@wdc.com>; Eduardo Habkost <ehabk...@redhat.com>; > Ying Fang <fangyi...@huawei.com>; 'Philippe Mathieu-Daudé' > <phi...@redhat.com>; Vikram Garhwal <f...@xilinx.com>; Paul > Zimmerman <pauld...@gmail.com>; Sai Pavan Boddu > <saip...@xilinx.com> > Subject: Re: [PATCH v8 3/7] usb/hcd-xhci: Split pci wrapper for xhci base > model > > Hi, > > > This patch sets the base to use xhci as sysbus model, for which pci > > specific hooks are moved to hcd-xhci-pci.c. As a part of this > > requirment msi/msix interrupts handling is moved under XHCIPCIState. > > Made required changes for qemu-xhci-nec. > > Progress. vmstate loads fine ;) > > Does not work though. usb-tablet stops working after migration :( > > > @@ -3561,11 +3458,7 @@ static int usb_xhci_post_load(void *opaque, int > version_id) > > } > > > > for (intr = 0; intr < xhci->numintrs; intr++) { > > - if (xhci->intr[intr].msix_used) { > > - msix_vector_use(pci_dev, intr); > > - } else { > > - msix_vector_unuse(pci_dev, intr); > > - } > > + xhci_intr_update(xhci, intr); > > } > > > > return 0; > > I suspect this is the problem. I guess we should add usb_xhci_post_load_pci > + usb_xhci_post_load_sysbus and move irq handling to these functions. [Sai Pavan Boddu] I would create vmstate_post_load callbacks in xhci-core, which could implement post_load functionality in their respective files. I will be sending V9 now. Can you also provide any steps to test vmstate migration ?
Regards, Sai Pavan > > take care, > Gerd