On 16/06/17 03:10, Laurent Vivier wrote: > On 08/06/2017 07:09, David Gibson wrote: >> This fourth isntallment of cleanups to the DRC code introduces the >> first changes to the fundamental state handling. We change the >> initial states in the reset code and attach code for PCI devices, and >> are able to remove the 'signalled' state variable with those fixes. >> >> There are also some more mechanical cleanups in preparation for >> further cleanups and fixes to the state management. >> >> David Gibson (6): >> spapr: Start hotplugged PCI devices in ISOLATED state >> spapr: Eliminate DRC 'signalled' state variable >> spapr: Split DRC release from DRC detach >> spapr: Make DRC reset force DRC into known state >> spapr: Clean up DRC set_allocation_state path >> spapr: Clean up DRC set_isolation_state() path >> >> hw/ppc/spapr.c | 15 -- >> hw/ppc/spapr_drc.c | 363 >> +++++++++++++++++++++++---------------------- >> hw/ppc/spapr_events.c | 10 -- >> include/hw/ppc/spapr_drc.h | 10 +- >> 4 files changed, 188 insertions(+), 210 deletions(-) >> > > I've tested your series rebased on master.
I have tested git://github.com/dgibson/qemu.git drcIV branch with 2xXHCI multifunction PCI hotplug, works fine. > > - plugging a CPU while the OS is not started (stopped in SLOF/GRUB): > > The cpu can be hotplugged, but once the OS is started, the OS > doesn't detect it and it can't be unplugged. > > - plugging a memory DIMM while the OS is not started: > > The first device_del does nothing, the second one crashes qemu > > - migration with hotplugged cpu (with OS started): > > CPU cannot be unplugged on destination side > > - migration with hotplugged memory DIMM (with OS started): > > The first device_del does nothing, the second one crashes qemu > > As it's cleanup, I guess this is what is expected > (the results are the same as before cleanup series). > > Laurent > -- Alexey