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


Reply via email to