Hi Gerd, > -----Original Message----- > From: Gerd Hoffmann <[email protected]> > Sent: Wednesday, September 23, 2020 3:44 PM > To: Sai Pavan Boddu <[email protected]> > Cc: Peter Maydell <[email protected]>; Markus Armbruster > <[email protected]>; 'Marc-André Lureau' > <[email protected]>; Paolo Bonzini <[email protected]>; > Edgar Iglesias <[email protected]>; Francisco Eduardo Iglesias > <[email protected]>; [email protected]; Alistair Francis > <[email protected]>; Eduardo Habkost <[email protected]>; > Ying Fang <[email protected]>; 'Philippe Mathieu-Daudé' > <[email protected]>; Vikram Garhwal <[email protected]>; Paul > Zimmerman <[email protected]>; Sai Pavan Boddu > <[email protected]> > 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
