qemu/include/hw/i386
Igor Mammedov f6e984443f apic: Use apic_id as apic's migration instance_id
instance_id is generated by last_used_id + 1 for a given device type
so for QEMU with 3 CPUs instance_id for APICs is a seti of [0, 1, 2]
When CPU in the middle is hot-removed and migration started
APICs with instance_ids 0 and 2 are transferred in migration stream.
However target starts with 2 CPUs and APICs' instance_ids are
generated from scratch [0, 1] hence migration fails with error
  Unknown savevm section or instance 'apic' 2

Fix issue by manually registering APIC's vmsd with apic_id as
instance_id, in this case instance_id on target will always
match instance_id on source as apic_id is the same for a given
cpu instance.

Reported-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2016-07-20 12:02:19 -03:00
..
apic_internal.h apic: Use apic_id as apic's migration instance_id 2016-07-20 12:02:19 -03:00
apic-msidef.h hw: move headers to include/ 2013-04-08 18:13:10 +02:00
apic.h apic: move target-dependent definitions to cpu.h 2016-05-19 16:42:28 +02:00
ich9.h ich9: implement SCI_IRQ_SEL register 2016-06-29 14:03:48 +02:00
intel_iommu.h intel_iommu: large page support 2016-02-06 20:44:10 +02:00
ioapic_internal.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
ioapic.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
pc.h apic: Use apic_id as apic's migration instance_id 2016-07-20 12:02:19 -03:00
topology.h pc: Add x86_topo_ids_from_apicid() 2016-07-20 11:58:44 -03:00