Hi Eric, On Thu, Oct 26, 2017 at 05:23:02PM +0200, Eric Auger wrote: > This series fixes various bugs observed when saving/restoring the > ITS state before the guest writes the ITS registers (on first boot or > after reset/reboot). > > This is a follow up of Wanghaibin's series [1] plus additional > patches following additional code review. It also proposes one > ITS reset implementation. > > Currently, the in-kernel emulated ITS is not reset. After a > reset/reboot, the ITS register values and caches are left > unchanged. Registers may point to some tables in guest memory > which do not exist anymore. If an ITS state backup is initiated > before the guest re-writes the registers, the save fails > because inconsistencies are detected. Also restore of data saved > as such moment is failing. > > Patches [1-4] are fixes of bugs observed during migration at > early guets boot stage. > - handle case where all collection, device and ITT entries are > invalid on restore (which is not an error) > - Check the GITS_BASER<n> valid bit before attempting the save > any table > - Check the GITS_BASER<n> and GITS_CBASER are valid before enabling > the ITS > > Patches [5-9] allow to empty the caches on reset and implement a > new ITS reset IOCTL I applied patches 1-4 to kvmarm/master and included them in a late pull request to kvm. I also took the remaining patches with the adjusted comment in kvmarm/next. One question: Don't we have a remaining issue to support saving the collection table even if the device table is inconsistent and vice versa? Are you planning on picking up that work? Thanks, -Christoffer