mirror_qemu/hw
Bharata B Rao aab99135b6 spapr_drc: Prevent detach racing against attach for CPU DR
If a CPU is hot removed while hotplug of the same is still in progress,
the guest crashes. Prevent this by ensuring that detach is done only
after attach has completed.

The existing code already prevents such race for PCI hotplug. However
given that CPU is a logical DR unlike PCI and starts with ISOLATED
state, we need a logic that works for CPU too.

Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
Reviewed-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
               [Don't set awaiting_attach for PCI devices]
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2016-06-17 16:33:48 +10:00
..
9pfs all: Remove unnecessary glib.h includes 2016-06-07 18:19:24 +03:00
acpi acpi: make bios_linker_loader_add_checksum() API offset based 2016-06-07 15:39:27 +03:00
alpha alpha: include cpu-qom.h in files that require AlphaCPU 2016-05-19 16:42:27 +02:00
arm arm: xlnx-zynqmp: Add xlnx-dp and xlnx-dpdma 2016-06-14 16:01:03 +01:00
audio audio: Use DIV_ROUND_UP 2016-06-07 18:19:25 +03:00
block os-posix: include sys/mman.h 2016-06-16 18:39:03 +02:00
bt bt: rewrite csrhci_write to avoid out-of-bounds writes 2016-05-29 09:11:11 +02:00
char os-posix: include sys/mman.h 2016-06-16 18:39:03 +02:00
core qdev: hotplug: Introduce HotplugHandler.pre_plug() callback 2016-06-17 16:33:48 +10:00
cpu cpu: Abstract CPU core type 2016-06-17 16:33:48 +10:00
cris hw/char: QOM'ify etraxfs_ser.c 2016-05-29 09:11:10 +02:00
display os-posix: include sys/mman.h 2016-06-16 18:39:03 +02:00
dma introduce xlnx-dpdma 2016-06-14 16:01:03 +01:00
gpio hw/gpio: QOM'ify zaurus.c 2016-06-14 15:59:13 +01:00
i2c hw/i2c-ddc.c: Implement DDC I2C slave 2016-06-14 15:59:15 +01:00
i386 os-posix: include sys/mman.h 2016-06-16 18:39:03 +02:00
ide macio: call dma_memory_unmap() at the end of each DMA transfer 2016-06-14 10:43:24 +10:00
input hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
intc xics,xics_kvm: Handle CPU unplug correctly 2016-06-17 16:33:48 +10:00
ipack ipack: Update e-mail address 2016-05-18 15:04:27 +03:00
ipmi hw/ipmi: fix spelling 2016-06-07 18:02:48 +03:00
isa ICH9: fix typo 2016-06-07 18:19:23 +03:00
lm32 hw/char: QOM'ify milkymist-uart.c 2016-05-29 09:11:10 +02:00
m68k hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
mem pc-dimm: introduce realize callback 2016-06-07 15:39:28 +03:00
microblaze hw/char: QOM'ify xilinx_uartlite model 2016-06-06 16:59:32 +01:00
mips mips: use MIPSCPU instead of CPUMIPSState 2016-05-19 16:42:27 +02:00
misc os-posix: include sys/mman.h 2016-06-16 18:39:03 +02:00
moxie hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
net clean-includes: run it once more 2016-06-16 18:39:03 +02:00
nvram fw_cfg: follow CODING_STYLE 2016-06-07 18:19:23 +03:00
openrisc hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
pci pcie: Introduce function for DSN capability creation 2016-06-02 10:42:26 +08:00
pci-bridge hw/pci-bridge: Add missing unref in case register-bus fails 2016-04-07 19:57:33 +03:00
pci-host hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
pcmcia hw: Clean up includes 2016-01-29 15:07:25 +00:00
ppc spapr_drc: Prevent detach racing against attach for CPU DR 2016-06-17 16:33:48 +10:00
s390x s390x: Limit s390-ccw machines to 248 CPUs 2016-06-14 14:00:05 +02:00
scsi scsi: esp: make cmdbuf big enough for maximum CDB size 2016-06-16 18:39:05 +02:00
sd hw/sd: QOM'ify pl181.c 2016-06-14 15:59:14 +01:00
sh4 cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
smbios include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
sparc vl: Replace DT_NOGRAPHIC with machine option 2016-05-20 14:28:54 -03:00
sparc64 util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
ssi hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
timer hw: Clean up includes 2016-06-07 18:19:23 +03:00
tpm tpm: Fix write to file descriptor function 2016-04-13 19:52:34 +03:00
tricore hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
unicore32 hw: explicitly include qemu-common.h and cpu.h 2016-03-22 22:20:17 +01:00
usb os-posix: include sys/mman.h 2016-06-16 18:39:03 +02:00
vfio vfio: Fix broken EEH 2016-06-17 15:59:18 +10:00
virtio os-posix: include sys/mman.h 2016-06-16 18:39:03 +02:00
watchdog nmi: remove x86 specific nmi handling 2016-05-23 16:53:46 +02:00
xen os-posix: include sys/mman.h 2016-06-16 18:39:03 +02:00
xenpv xen: add pvUSB backend 2016-05-23 13:30:03 +02:00
xtensa replace muldiv64(a, b, c) by (uint64_t)a * b / c 2016-06-07 18:02:49 +03:00
Makefile.objs Add a base IPMI interface 2015-12-22 18:39:19 +02:00