qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 2/2] intel_iommu: allow migration


From: Peter Xu
Subject: Re: [Qemu-devel] [PATCH v2 2/2] intel_iommu: allow migration
Date: Fri, 6 Jan 2017 12:04:54 +0800
User-agent: Mutt/1.5.24 (2015-08-30)

On Fri, Jan 06, 2017 at 11:42:30AM +0800, Jason Wang wrote:
> 
> 
> On 2017年01月06日 11:08, Peter Xu wrote:
> >IOMMU needs to be migrated before all the PCI devices (in case there are
> >devices that will request for address translation). So marking it with a
> >priority higher than the default (which PCI devices and other belong).
> >Migration framework handled the rest.
> >
> >Signed-off-by: Peter Xu <address@hidden>
> >---
> >  hw/i386/intel_iommu.c       | 21 ++++++++++++++++++++-
> >  include/migration/vmstate.h |  1 +
> >  2 files changed, 21 insertions(+), 1 deletion(-)
> >
> >diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
> >index 5f3e351..ea9e526 100644
> >--- a/hw/i386/intel_iommu.c
> >+++ b/hw/i386/intel_iommu.c
> >@@ -1996,7 +1996,26 @@ static void 
> >vtd_iommu_notify_flag_changed(MemoryRegion *iommu,
> >  static const VMStateDescription vtd_vmstate = {
> >      .name = "iommu-intel",
> >-    .unmigratable = 1,
> >+    .version_id = 1,
> >+    .minimum_version_id = 1,
> >+    .priority = MIG_PRI_IOMMU,
> >+    .fields = (VMStateField[]) {
> >+        VMSTATE_UINT64(root, IntelIOMMUState),
> >+        VMSTATE_UINT64(intr_root, IntelIOMMUState),
> >+        VMSTATE_UINT64(iq, IntelIOMMUState),
> >+        VMSTATE_UINT32(intr_size, IntelIOMMUState),
> >+        VMSTATE_UINT16(iq_head, IntelIOMMUState),
> >+        VMSTATE_UINT16(iq_tail, IntelIOMMUState),
> >+        VMSTATE_UINT16(iq_size, IntelIOMMUState),
> >+        VMSTATE_UINT16(next_frcd_reg, IntelIOMMUState),
> >+        VMSTATE_UINT8(iq_last_desc_type, IntelIOMMUState),
> >+        VMSTATE_BOOL(root_extended, IntelIOMMUState),
> >+        VMSTATE_BOOL(dmar_enabled, IntelIOMMUState),
> >+        VMSTATE_BOOL(qi_enabled, IntelIOMMUState),
> >+        VMSTATE_BOOL(intr_enabled, IntelIOMMUState),
> >+        VMSTATE_BOOL(intr_eime, IntelIOMMUState),
> >+        VMSTATE_END_OF_LIST()
> >+    }
> >  };
> 
> Looks like register values were missed (e.g csr[]) ?

Oops, I missed the most important thing. :)

And obviously it even escaped from smoke test... Thanks Jason. Will
repost.

-- peterx



reply via email to

[Prev in Thread] Current Thread [Next in Thread]