2012-11-16 17:35:27 +00:00
|
|
|
stub-obj-y += arch-query-cpu-def.o
|
2014-05-27 12:07:10 +00:00
|
|
|
stub-obj-y += bdrv-commit-all.o
|
block: Keep DriveInfo alive until BlockDriverState dies
If the BDS's refcnt > 0, drive_del() destroys the DriveInfo, but not
the BDS. This can happen in three places:
* Device model destruction during unplug: blockdev_auto_del()
* Xen IDE unplug: pci_piix3_xen_ide_unplug()
* drive_del command when no device model is attached: do_drive_del()
The other callers of drive_del are on error paths where refcnt == 1.
If the user somehow manages to plug in a device model using a BDS that
has gone through drive_del(), the legacy configuration passed in
DriveInfo doesn't reach the device model, and automatic deletion on
unplug doesn't work. Worse, some device models such as scsi-disk
crash when DriveInfo doesn't exist.
This is theoretical; I didn't research an actual reproducer. The problem
was introduced when we replaced DriveInfo reference counting by BDS
reference counting in commit a94a3fa..fa510eb.
Fix by keeping DriveInfo alive until its BDS dies.
This affects qemu_drive_opts: now you can't reuse the same ID for new
drive options until the BDS dies. Before, you could, but since the
code always attempts to create a BDS with the same ID next, the
enclosing operation "create a new drive" failed anyway. Different
error path, same result.
Unfortunately, the fix involves use of blockdev.c stuff from block.c,
which is a layering violation. Fortunately, my forthcoming
BlockBackend work will get rid of it again.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Benoît Canet <benoit.canet@nodalink.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2014-09-12 19:26:22 +00:00
|
|
|
stub-obj-y += blockdev.o
|
2014-06-19 15:07:40 +00:00
|
|
|
stub-obj-y += chr-baum-init.o
|
2014-05-27 12:07:10 +00:00
|
|
|
stub-obj-y += chr-msmouse.o
|
backends: Introduce chr-testdev
From: Paolo Bonzini <pbonzini@redhat.com>
chr-testdev enables a virtio serial channel to be used for guest
initiated qemu exits. hw/misc/debugexit already enables guest
initiated qemu exits, but only for PC targets. chr-testdev supports
any virtio-capable target. kvm-unit-tests/arm is already making use
of this backend.
Currently there is a single command implemented, "q". It takes a
(prefix) argument for the exit code, thus an exit is implemented by
writing, e.g. "1q", to the virtio-serial port.
It can be used as:
$QEMU ... \
-device virtio-serial-device \
-device virtserialport,chardev=ctd -chardev testdev,id=ctd
or, use:
$QEMU ... \
-device virtio-serial-device \
-device virtconsole,chardev=ctd -chardev testdev,id=ctd
to bind it to virtio-serial port0.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2014-07-11 07:44:26 +00:00
|
|
|
stub-obj-y += chr-testdev.o
|
2012-11-26 14:36:40 +00:00
|
|
|
stub-obj-y += clock-warp.o
|
|
|
|
stub-obj-y += cpu-get-clock.o
|
|
|
|
stub-obj-y += cpu-get-icount.o
|
2013-05-17 08:41:20 +00:00
|
|
|
stub-obj-y += dump.o
|
2012-11-16 17:35:27 +00:00
|
|
|
stub-obj-y += fdset-add-fd.o
|
|
|
|
stub-obj-y += fdset-find-fd.o
|
|
|
|
stub-obj-y += fdset-get-fd.o
|
|
|
|
stub-obj-y += fdset-remove-fd.o
|
2013-07-07 13:08:22 +00:00
|
|
|
stub-obj-y += gdbstub.o
|
2012-11-16 17:35:27 +00:00
|
|
|
stub-obj-y += get-fd.o
|
2014-05-27 12:07:10 +00:00
|
|
|
stub-obj-y += get-next-serial.o
|
2012-11-26 14:36:40 +00:00
|
|
|
stub-obj-y += get-vm-name.o
|
|
|
|
stub-obj-y += iothread-lock.o
|
2014-05-27 12:07:10 +00:00
|
|
|
stub-obj-y += is-daemonized.o
|
|
|
|
stub-obj-y += machine-init-done.o
|
2012-11-26 14:36:40 +00:00
|
|
|
stub-obj-y += migr-blocker.o
|
|
|
|
stub-obj-y += mon-is-qmp.o
|
|
|
|
stub-obj-y += mon-printf.o
|
|
|
|
stub-obj-y += mon-set-error.o
|
2014-05-27 12:07:10 +00:00
|
|
|
stub-obj-y += monitor-init.o
|
|
|
|
stub-obj-y += notify-event.o
|
2013-02-04 16:20:47 +00:00
|
|
|
stub-obj-y += pci-drive-hot-add.o
|
2014-06-19 15:07:40 +00:00
|
|
|
stub-obj-$(CONFIG_SPICE) += qemu-chr-open-spice.o
|
2014-03-13 14:17:29 +00:00
|
|
|
stub-obj-y += qtest.o
|
2012-12-05 16:49:07 +00:00
|
|
|
stub-obj-y += reset.o
|
2014-03-14 08:22:48 +00:00
|
|
|
stub-obj-y += runstate-check.o
|
2012-11-26 14:36:40 +00:00
|
|
|
stub-obj-y += set-fd-handler.o
|
|
|
|
stub-obj-y += slirp.o
|
2012-12-05 16:49:09 +00:00
|
|
|
stub-obj-y += sysbus.o
|
2013-08-02 15:02:01 +00:00
|
|
|
stub-obj-y += uuid.o
|
2014-05-27 12:07:10 +00:00
|
|
|
stub-obj-y += vc-init.o
|
2012-11-26 14:36:40 +00:00
|
|
|
stub-obj-y += vm-stop.o
|
|
|
|
stub-obj-y += vmstate.o
|
2012-11-16 17:35:27 +00:00
|
|
|
stub-obj-$(CONFIG_WIN32) += fd-register.o
|
2013-04-23 08:29:37 +00:00
|
|
|
stub-obj-y += cpus.o
|
2014-02-26 17:20:00 +00:00
|
|
|
stub-obj-y += kvm.o
|
2014-06-16 17:12:25 +00:00
|
|
|
stub-obj-y += qmp_pc_dimm_device_list.o
|