qemu-irix/include
Greg Kurz de86eccc0c xics_kvm: cache already enabled vCPU ids
Since commit a45863bda9 ("xics_kvm: Don't enable KVM_CAP_IRQ_XICS if
already enabled"), we were able to re-hotplug a vCPU that had been hot-
unplugged ealier, thanks to a boolean flag in ICPState that we set when
enabling KVM_CAP_IRQ_XICS.

This could work because the lifecycle of all ICPState objects was the
same as the machine. Commit 5bc8d26de2 ("spapr: allocate the ICPState
object from under sPAPRCPUCore") broke this assumption and now we always
pass a freshly allocated ICPState object (ie, with the flag unset) to
icp_kvm_cpu_setup().

This cause re-hotplug to fail with:

Unable to connect CPU8 to kernel XICS: Device or resource busy

Let's fix this by caching all the vCPU ids for which KVM_CAP_IRQ_XICS was
enabled. This also drops the now useless boolean flag from ICPState.

Reported-by: Laurent Vivier <lvivier@redhat.com>
Signed-off-by: Greg Kurz <groug@kaod.org>
Tested-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2017-05-24 11:39:52 +10:00
..
block -----BEGIN PGP SIGNATURE----- 2017-05-12 10:39:23 -04:00
crypto crypto: qcrypto_random_bytes() now works on windows w/o any other crypto libs 2017-05-09 14:41:47 +01:00
disas
exec migration: Make savevm.c target independent 2017-05-18 19:21:00 +02:00
fpu
hw xics_kvm: cache already enabled vCPU ids 2017-05-24 11:39:52 +10:00
io trivial patches for 2017-05-10 2017-05-10 12:31:19 -04:00
libdecnumber
migration migration: Remove vmstate.h from migration.h 2017-05-18 19:20:59 +02:00
monitor
net slirp: add a fake NC-SI backend 2017-04-25 19:17:25 +08:00
qapi qapi: Document intended use of @name within alternate visits 2017-05-09 09:14:40 +02:00
qemu migration: Remove old MigrationParams 2017-05-18 18:04:54 +02:00
qom spapr: add node-id property to sPAPR core 2017-05-11 16:08:48 -03:00
standard-headers
sysemu audio: move & rename soundhw init code. 2017-05-19 16:54:14 +01:00
ui opengl: add egl-headless display 2017-05-12 12:02:48 +02:00
elf.h
glib-compat.h qga: Add 'guest-get-users' command 2017-04-26 23:57:45 -05:00
qemu-common.h utils: provide size_to_str() 2017-05-17 17:30:45 +01:00
qemu-io.h
trace-tcg.h