On Wed, 9 Dec 2020 16:09:17 +0800 Shenming Lu <lushenm...@huawei.com> wrote:
> On ARM64 the VFIO SET_IRQS ioctl is dependent on the VM interrupt > setup, if the restoring of the VFIO PCI device config space is > before the VGIC, an error might occur in the kernel. > > So we move the saving of the config space to the non-iterable > process, so that it will be called after the VGIC according to > their priorities. > > As for the possible dependence of the device specific migration > data on it's config space, we can let the vendor driver to > include any config info it needs in its own data stream. > (Should we note this in the header file linux-headers/linux/vfio.h?) Given that the header is our primary source about how this interface should act, we need to properly document expectations about what will be saved/restored when there (well, in the source file in the kernel.) That goes in both directions: what a userspace must implement, and what a vendor driver can rely on. [Related, but not a todo for you: I think we're still missing proper documentation of the whole migration feature.] > > Signed-off-by: Shenming Lu <lushenm...@huawei.com> > --- > hw/vfio/migration.c | 25 +++++++++++++++---------- > 1 file changed, 15 insertions(+), 10 deletions(-)