diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2019-07-25 09:59:00 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2019-07-25 09:59:00 +0100 |
commit | 7ea53245335b4f60b56a3323232baa39d9bb1ebb (patch) | |
tree | 73db4800470400ff616a8e58a7b86df2ad9199ea | |
parent | bf8b024372bf8abf5a9f40bfa65eeefad23ff988 (diff) | |
parent | 6baabe5cf8d42ce6bc542fb3ec0bfc10c0ee6c5e (diff) | |
download | qemu-7ea53245335b4f60b56a3323232baa39d9bb1ebb.zip qemu-7ea53245335b4f60b56a3323232baa39d9bb1ebb.tar.gz qemu-7ea53245335b4f60b56a3323232baa39d9bb1ebb.tar.bz2 |
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
Two more bugfix patches + 1 doc fix.
# gpg: Signature made Wed 24 Jul 2019 10:22:06 BST
# gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg: issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
# gpg: aka "Paolo Bonzini <pbonzini@redhat.com>" [full]
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1
# Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83
* remotes/bonzini/tags/for-upstream:
docs: correct kconfig option
i386/kvm: Do not sync nested state during runtime
virtio-scsi: fixed virtio_scsi_ctx_check failed when detaching scsi disk
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | docs/devel/kconfig.rst | 2 | ||||
-rw-r--r-- | hw/scsi/virtio-scsi.c | 7 | ||||
-rw-r--r-- | target/i386/kvm.c | 10 |
3 files changed, 11 insertions, 8 deletions
diff --git a/docs/devel/kconfig.rst b/docs/devel/kconfig.rst index d6f8eb0..b7bca44 100644 --- a/docs/devel/kconfig.rst +++ b/docs/devel/kconfig.rst @@ -267,7 +267,7 @@ the default configuration by uncommenting lines in the first group, or commenting out lines in the second group. It is also possible to run QEMU's configure script with the -``--with-default-devices`` option. When this is done, everything defaults +``--without-default-devices`` option. When this is done, everything defaults to ``n`` unless it is ``select``ed or explicitly switched on in the ``.mak`` files. In other words, ``default`` and ``imply`` directives are disabled. When QEMU is built with this option, the user will probably diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c index d0bdbff..8b9e5e2 100644 --- a/hw/scsi/virtio-scsi.c +++ b/hw/scsi/virtio-scsi.c @@ -832,6 +832,7 @@ static void virtio_scsi_hotunplug(HotplugHandler *hotplug_dev, DeviceState *dev, VirtIODevice *vdev = VIRTIO_DEVICE(hotplug_dev); VirtIOSCSI *s = VIRTIO_SCSI(vdev); SCSIDevice *sd = SCSI_DEVICE(dev); + AioContext *ctx = s->ctx ?: qemu_get_aio_context(); if (virtio_vdev_has_feature(vdev, VIRTIO_SCSI_F_HOTPLUG)) { virtio_scsi_acquire(s); @@ -841,14 +842,16 @@ static void virtio_scsi_hotunplug(HotplugHandler *hotplug_dev, DeviceState *dev, virtio_scsi_release(s); } + aio_disable_external(ctx); + qdev_simple_device_unplug_cb(hotplug_dev, dev, errp); + aio_enable_external(ctx); + if (s->ctx) { virtio_scsi_acquire(s); /* If other users keep the BlockBackend in the iothread, that's ok */ blk_set_aio_context(sd->conf.blk, qemu_get_aio_context(), NULL); virtio_scsi_release(s); } - - qdev_simple_device_unplug_cb(hotplug_dev, dev, errp); } static struct SCSIBusInfo virtio_scsi_scsi_info = { diff --git a/target/i386/kvm.c b/target/i386/kvm.c index ada89d2..dbbb137 100644 --- a/target/i386/kvm.c +++ b/target/i386/kvm.c @@ -3563,12 +3563,12 @@ int kvm_arch_put_registers(CPUState *cpu, int level) assert(cpu_is_stopped(cpu) || qemu_cpu_is_self(cpu)); - ret = kvm_put_nested_state(x86_cpu); - if (ret < 0) { - return ret; - } - if (level >= KVM_PUT_RESET_STATE) { + ret = kvm_put_nested_state(x86_cpu); + if (ret < 0) { + return ret; + } + ret = kvm_put_msr_feature_control(x86_cpu); if (ret < 0) { return ret; |