qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] c6986f: KVM: x86: do not fail if software bre


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] c6986f: KVM: x86: do not fail if software breakpoint has a...
Date: Mon, 08 Mar 2021 07:45:44 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: c6986f16a7022ccfb73d91bc7676c8e1d15e5342
      
https://github.com/qemu/qemu/commit/c6986f16a7022ccfb73d91bc7676c8e1d15e5342
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M target/i386/kvm/kvm.c

  Log Message:
  -----------
  KVM: x86: do not fail if software breakpoint has already been removed

If kvm_arch_remove_sw_breakpoint finds that a software breakpoint does not
have an INT3 instruction, it fails.  This can happen if one sets a
software breakpoint in a kernel module and then reloads it.  gdb then
thinks the breakpoint cannot be deleted and there is no way to add it
back.

Suggested-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 2c933ac6a883606b85f8cf271bfb40379d077e97
      
https://github.com/qemu/qemu/commit/2c933ac6a883606b85f8cf271bfb40379d077e97
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M docs/system/deprecated.rst
    M hw/intc/apic.c

  Log Message:
  -----------
  KVM: x86: deprecate -M kernel-irqchip=off except for -M isapc

The userspace local APIC is basically untested and does not support many
features such as TSC deadline timer, x2APIC or PV spinlocks.  On the
other hand, the PIT and IOAPIC are okay as they are not tied to
the processor and are tested with -M kernel-irqchip=split.

Therefore, deprecate the local APIC and, with it, limit
-M kernel-irqchip=off to the ISA PC machine type, which does not
have a local APIC at all.

Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 9f34101db00eabd8f424e98b481c2394e6509198
      
https://github.com/qemu/qemu/commit/9f34101db00eabd8f424e98b481c2394e6509198
  Author: Kostiantyn Kostiuk <konstantin@daynix.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M qga/vss-win32/meson.build

  Log Message:
  -----------
  qga-vss: Use dynamic linking for GLib

The current GLib version implements the DllMain function. DllMain is also
present in the provider.cpp code. So in the case of static linking, the
DllMain redefinition error occurs. For now, just switch to dynamic linking
and revert this patch when the issue will be solved.

See Glib issue for more details https://gitlab.gnome.org/GNOME/glib/-/issues/692

Signed-off-by: Kostiantyn Kostiuk <konstantin@daynix.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: a9b1315f86d9323587b340bd3bf83b9d66a55563
      
https://github.com/qemu/qemu/commit/a9b1315f86d9323587b340bd3bf83b9d66a55563
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M chardev/char-socket.c
    M chardev/char.c
    M gdbstub.c
    M qemu-options.hx

  Log Message:
  -----------
  chardev: add nodelay option

The "delay" option was introduced as a way to enable Nagle's algorithm
with ",nodelay".  Since the short form for boolean options has now been
deprecated, introduce a more properly named "nodelay" option.  The "delay"
option remains as an undocumented option.

"delay" and "nodelay" are mutually exclusive.  Because the check is
done at consumption time, the code also rejects them if one of the
two is specified via -set.

Based-on: <20210226080526.651705-1-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 0bd5a2eb7927189c40ca5394079b1c0e88cea7cb
      
https://github.com/qemu/qemu/commit/0bd5a2eb7927189c40ca5394079b1c0e88cea7cb
  Author: Kevin Wolf <kwolf@redhat.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M qom/object_interfaces.c

  Log Message:
  -----------
  qom: Check for wellformed id in user_creatable_add_type()

Most code paths for creating a user creatable object go through
QemuOpts, which ensures that the provided 'id' option is actually a
valid identifier.

However, there are some code paths that don't go through QemuOpts:
qemu-storage-daemon --object (since commit 8db1efd3) and QMP object-add
(since it was first introduced in commit cff8b2c6). We need to have the
same validity check for those, too.

This adds the check and makes it print the same error message as
QemuOpts on failure.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20210302171623.49709-1-kwolf@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 10b6ee1616f984c1889d0851226a9ff14b35ac58
      
https://github.com/qemu/qemu/commit/10b6ee1616f984c1889d0851226a9ff14b35ac58
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  vl.c: do not execute trace_init_backends() before daemonizing

Commit v5.2.0-190-g0546c0609c ("vl: split various early command line
options to a separate function") moved the trace backend init code to
the qemu_process_early_options(). Which is now being called before
os_daemonize() via qemu_maybe_daemonize().

Turns out that this change of order causes a problem when executing
QEMU in daemon mode and with CONFIG_TRACE_SIMPLE. The trace thread
is now being created by the parent, and the parent is left waiting for
a trace file flush that was registered via st_init(). The result is
that the parent process never exits.

To reproduce, fire up a QEMU process with -daemonize and with
CONFIG_TRACE_SIMPLE enabled. Two QEMU process will be left in the
host:

$ sudo ./x86_64-softmmu/qemu-system-x86_64 -S -no-user-config -nodefaults \
  -nographic -machine none,accel=kvm:tcg -daemonize

$ ps axf | grep qemu
 529710 pts/3    S+     0:00  |       \_ grep --color=auto qemu
 529697 ?        Ssl    0:00  \_ ./x86_64-softmmu/qemu-system-x86_64 -S 
-no-user-config -nodefaults -nographic -machine none,accel=kvm:tcg -daemonize
 529699 ?        Sl     0:00      \_ ./x86_64-softmmu/qemu-system-x86_64 -S 
-no-user-config -nodefaults -nographic -machine none,accel=kvm:tcg -daemonize

The parent thread is hang in flush_trace_file:

$ sudo gdb ./x86_64-softmmu/qemu-system-x86_64 529697
(..)
(gdb) bt
 #0  0x00007f9dac6a137d in syscall () at /lib64/libc.so.6
 #1  0x00007f9dacc3c4f3 in g_cond_wait () at /lib64/libglib-2.0.so.0
 #2  0x0000555d12f952da in flush_trace_file (wait=true) at ../trace/simple.c:140
 #3  0x0000555d12f95b4c in st_flush_trace_buffer () at ../trace/simple.c:383
 #4  0x00007f9dac5e43a7 in __run_exit_handlers () at /lib64/libc.so.6
 #5  0x00007f9dac5e4550 in on_exit () at /lib64/libc.so.6
 #6  0x0000555d12d454de in os_daemonize () at ../os-posix.c:255
 #7  0x0000555d12d0bd5c in qemu_maybe_daemonize (pid_file=0x0) at 
../softmmu/vl.c:2408
 #8  0x0000555d12d0e566 in qemu_init (argc=8, argv=0x7fffc594d9b8, 
envp=0x7fffc594da00) at ../softmmu/vl.c:3459
 #9  0x0000555d128edac1 in main (argc=8, argv=0x7fffc594d9b8, 
envp=0x7fffc594da00) at ../softmmu/main.c:49
(gdb)

Aside from the 'zombie' process in the host, this is directly impacting
Libvirt. Libvirt waits for the parent process to exit to be sure that the
QMP monitor is available in the daemonized process to fetch QEMU
capabilities, and as is now Libvirt hangs at daemon start waiting
for the parent thread to exit.

The fix is simple: just move the trace backend related code back to
be executed after daemonizing.

Fixes: 0546c0609cb5a8d90c1cbac8e0d64b5a048bbb19
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20210105181437.538366-2-danielhb413@gmail.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e0a8f99355c32b48c9ef867127075b5267ae23d8
      
https://github.com/qemu/qemu/commit/e0a8f99355c32b48c9ef867127075b5267ae23d8
  Author: Keqian Zhu <zhukeqian1@huawei.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M accel/kvm/kvm-all.c

  Log Message:
  -----------
  accel: kvm: Fix memory waste under mismatch page size

When handle dirty log, we face qemu_real_host_page_size and
TARGET_PAGE_SIZE. The first one is the granule of KVM dirty
bitmap, and the second one is the granule of QEMU dirty bitmap.

As qemu_real_host_page_size >= TARGET_PAGE_SIZE (kvm_init()
enforced it), misuse TARGET_PAGE_SIZE to init kvmslot dirty_bmap
may waste memory. For example, when qemu_real_host_page_size is
64K and TARGET_PAGE_SIZE is 4K, it wastes 93.75% (15/16) memory.

Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Message-Id: <20201217014941.22872-2-zhukeqian1@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 3920552846e881bafa9f9aad0bb1a6eef874d7fb
      
https://github.com/qemu/qemu/commit/3920552846e881bafa9f9aad0bb1a6eef874d7fb
  Author: Keqian Zhu <zhukeqian1@huawei.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M accel/kvm/kvm-all.c

  Log Message:
  -----------
  accel: kvm: Add aligment assert for kvm_log_clear_one_slot

The parameters start and size are transfered from QEMU memory
emulation layer. It can promise that they are TARGET_PAGE_SIZE
aligned. However, KVM needs they are qemu_real_page_size aligned.

Though no caller breaks this aligned requirement currently, we'd
better add an explicit assert to avoid future breaking.

Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com>
Acked-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Message-Id: <20201217014941.22872-3-zhukeqian1@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: faabca42cc4ff51110116dfe44d420c668b4d8d8
      
https://github.com/qemu/qemu/commit/faabca42cc4ff51110116dfe44d420c668b4d8d8
  Author: Peng Liang <liangpeng10@huawei.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M hw/scsi/lsi53c895a.c

  Log Message:
  -----------
  lsilogic: Use PCIDevice::exit instead of DeviceState::unrealize

PCI_DEVICE has overwritten DeviceState::unrealize (pci_qdev_unrealize).
However, LSI53C895A, which is a subclass of PCI_DEVICE, overwrites it
again and doesn't save the parent's implementation so the PCI_DEVICE's
implementation of DeviceState::unrealize will never be called when
unrealize a LSI53C895A device.  And it will lead to memory leak and
unplug failure.

For a PCI device, it's better to implement PCIDevice::exit instead of
DeviceState::unrealize.  So let's change to use PCIDevice::exit.

Fixes: a8632434c7e9 ("lsi: implement I/O memory space for Memory Move 
instructions")
Cc: qemu-stable@nongnu.org
Signed-off-by: Peng Liang <liangpeng10@huawei.com>
Message-Id: <20210302133016.1221081-1-liangpeng10@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 64d70277114b069579c96e6daf83922b9eacc383
      
https://github.com/qemu/qemu/commit/64d70277114b069579c96e6daf83922b9eacc383
  Author: David Edmondson <david.edmondson@oracle.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M include/hw/elf_ops.h

  Log Message:
  -----------
  elf_ops: correct loading of 32 bit PVH kernel

Because sizeof(struct elf64_note) == sizeof(struct elf32_note),
attempting to use the size of the currently defined struct elf_note as
a discriminator for whether the object being loaded is 64 bit in
load_elf() fails.

Instead, take advantage of the existing glue parameter SZ, which is
defined as 32 or 64 in the respective variants of load_elf().

Fixes: 696aa04c84c6 ("elf-ops.h: Add get_elf_note_type()")
Signed-off-by: David Edmondson <david.edmondson@oracle.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20210302090315.3031492-2-david.edmondson@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e20e182ea0ab5c16557603f457fe0db445b63726
      
https://github.com/qemu/qemu/commit/e20e182ea0ab5c16557603f457fe0db445b63726
  Author: David Edmondson <david.edmondson@oracle.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M hw/i386/x86.c

  Log Message:
  -----------
  x86/pvh: extract only 4 bytes of start address for 32 bit kernels

When loading the PVH start address from a 32 bit ELF note, extract
only the appropriate number of bytes.

Fixes: ab969087da65 ("pvh: Boot uncompressed kernel using direct boot ABI")
Signed-off-by: David Edmondson <david.edmondson@oracle.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20210302090315.3031492-3-david.edmondson@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f7544edcd32e602af1aae86714dc7c32350d5d7c
      
https://github.com/qemu/qemu/commit/f7544edcd32e602af1aae86714dc7c32350d5d7c
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M block/blkdebug.c
    M include/qemu/config-file.h
    M softmmu/vl.c
    M util/qemu-config.c

  Log Message:
  -----------
  qemu-config: add error propagation to qemu_config_parse

This enables some simplification of vl.c via error_fatal, and improves
error messages.  Before:

  $ ./qemu-system-x86_64 -readconfig .
  qemu-system-x86_64: error reading file
  qemu-system-x86_64: -readconfig .: read config .: Invalid argument
  $ /usr/libexec/qemu-kvm -readconfig foo
  qemu-kvm: -readconfig foo: read config foo: No such file or directory

After:

  $ ./qemu-system-x86_64 -readconfig .
  qemu-system-x86_64: -readconfig .: Cannot read config file: Is a directory
  $ ./qemu-system-x86_64 -readconfig foo
  qemu-system-x86_64: -readconfig foo: Could not open 'foo': No such file or 
directory

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20210226170816.231173-1-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 41af878b96582fc8c83303ab8921e40468403702
      
https://github.com/qemu/qemu/commit/41af878b96582fc8c83303ab8921e40468403702
  Author: Hannes Reinecke <hare@suse.de>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M include/scsi/utils.h
    M scsi/utils.c

  Log Message:
  -----------
  scsi: Rename linux-specific SG_ERR codes to generic SCSI_HOST error codes

We really should make a distinction between legitimate sense codes
(ie if one is running against an emulated block device or for
pass-through sense codes), and the intermediate errors generated
during processing of the command, which really are not sense codes
but refer to some specific internal status. And this internal
state is not necessarily linux-specific, but rather can refer to
the qemu implementation itself.
So rename the linux-only SG_ERR codes to SCSI_HOST codes and make
them available generally.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Message-Id: <20201116184041.60465-5-hare@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: db66a15cb80f09da24a5311a3f3b8f0c1835bf71
      
https://github.com/qemu/qemu/commit/db66a15cb80f09da24a5311a3f3b8f0c1835bf71
  Author: Hannes Reinecke <hare@suse.de>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M include/scsi/utils.h
    M scsi/utils.c

  Log Message:
  -----------
  scsi: Add mapping for generic SCSI_HOST status to sense codes

As we don't have a driver-specific mapping (yet) we should provide
for a detailed mapping from host_status to SCSI sense codes.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Message-Id: <20201116184041.60465-6-hare@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 9738c657208800298a7d68272b861fb2dc49fee1
      
https://github.com/qemu/qemu/commit/9738c657208800298a7d68272b861fb2dc49fee1
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M hw/scsi/scsi-generic.c

  Log Message:
  -----------
  scsi-generic: do not snoop the output of failed commands

If a READ CAPACITY command would fail, for example s->qdev.blocksize would be
set to zero and cause a division by zero on the next use.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: a108557bbff8a3f44233982f015f996426411be8
      
https://github.com/qemu/qemu/commit/a108557bbff8a3f44233982f015f996426411be8
  Author: Hannes Reinecke <hare@suse.de>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M hw/scsi/scsi-disk.c
    M hw/scsi/scsi-generic.c
    M include/scsi/utils.h
    M scsi/qemu-pr-helper.c
    M scsi/utils.c

  Log Message:
  -----------
  scsi: inline sg_io_sense_from_errno() into the callers.

Currently sg_io_sense_from_errno() converts the two input parameters
'errno' and 'io_hdr' into sense code and SCSI status. Having
split the function off into scsi_sense_from_errno() and
scsi_sense_from_host_status(), both of which are available generically,
we now inline the logic in the callers so that scsi-disk and
scsi-generic will be able to pass host_status to the HBA.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Message-Id: <20201116184041.60465-7-hare@suse.de>
[Put together from "scsi-disk: Add sg_io callback to evaluate status"
 and what remains of "scsi: split sg_io_sense_from_errno() in two functions",
 with many other fixes. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f3126d65b393c015e8f87763fdccee99bb1119af
      
https://github.com/qemu/qemu/commit/f3126d65b393c015e8f87763fdccee99bb1119af
  Author: Hannes Reinecke <hare@suse.de>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M hw/scsi/scsi-bus.c
    M hw/scsi/scsi-disk.c
    M hw/scsi/scsi-generic.c
    M hw/scsi/virtio-scsi.c
    M hw/scsi/vmw_pvscsi.c
    M include/hw/scsi/scsi.h

  Log Message:
  -----------
  scsi: move host_status handling into SCSI drivers

Some SCSI drivers like virtio have an internal mapping for the
host_status. This patch moves the host_status translation into
the SCSI drivers to allow those drivers to set up the correct
values.

Signed-off-by: Hannes Reinecke <hare@suse.de>.
[Added default handling to avoid touching all drivers. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: fe636424caabb4e8b5b96d8a994f58e321bd71d9
      
https://github.com/qemu/qemu/commit/fe636424caabb4e8b5b96d8a994f58e321bd71d9
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M docs/system/deprecated.rst
    M util/qemu-option.c

  Log Message:
  -----------
  qemu-option: do not suggest using the delay option

The "delay" option was a hack that was introduced to allow writing "nodelay".
We are adding a "nodelay" option to be used as "nodelay=on", so recommend it
instead of "delay".

This is quite ugly, but a proper deprecation of "delay"
cannot be done if QEMU starts suggesting it.  Since it's the
only case I opted for this very much ad-hoc patch.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: ff012d9a52ea2ee9223ad5c78d19c0c6b6898690
      
https://github.com/qemu/qemu/commit/ff012d9a52ea2ee9223ad5c78d19c0c6b6898690
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M Makefile

  Log Message:
  -----------
  build-sys: invoke ninja with -d keepdepfile

After reading the dependency file, ninja just deletes it, in the name
of cleanliness I guess.  However this complicates debugging unnecessarily
compared to good old "-include *.d".  Use the keepdepfile debugging
option to make it easier to see what is going on.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20210215122103.63933-1-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: dc1d91ac567c49cf07d8312c97b4a02e25047d50
      
https://github.com/qemu/qemu/commit/dc1d91ac567c49cf07d8312c97b4a02e25047d50
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M tests/fp/meson.build
    M tests/meson.build
    M tests/qtest/meson.build

  Log Message:
  -----------
  meson: adjust timeouts for some slower tests

Adjust the timeouts for the benchmarks (Meson 0.57 allows 0 to mean
infinite) and for the longest running tests.  These are the
times that I measured and the corresponding timeouts.  For generic
qtests, the target that reported the longest runtime is included.

unit tests:
    test-crypto-tlscredsx509        13.15s   45s
    test-crypto-tlssession          14.12s   45s

qtests:
    qos-test                        21.26s   60s   (i386)
    ahci-test                       22.18s   60s
    pxe-test                        26.51s   60s
    boot-serial-test                28.02s   60s   (sparc)
    prom-env-test                   28.86s   60s
    bios-tables-test                50.17s   120s   (aarch64)
    test-hmp                        57.15s   120s   (aarch64)
    npcm7xx_pwm-test                71.27s   150s
    migration-test                  97.09s   150s  (aarch64)
    qom-test                        139.20s  240s  (aarch64)

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 9f45a641097b0a54c673fe3399c7a8ccb6f06af1
      
https://github.com/qemu/qemu/commit/9f45a641097b0a54c673fe3399c7a8ccb6f06af1
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M trace/control.c

  Log Message:
  -----------
  trace: fix "-trace file=..."

Because trace_opt_parse always deletes the options it has parsed,
trace_init_file's call to qemu_find_opts_singleton always
creates an empty -trace option group.  Therefore, the subsequent
qemu_opt_get(opts, "file") always returns NULL.

To fix this, save the last "-trace file=..." option in a global
variable and use it later in trace_init_file.

This is similar to what was done before commit 92eecfff32 ("trace:
remove argument from trace_init_file", 2020-11-11), except contained
within trace/control.c and without memory leaks.

Fixes: 92eecfff32 ("trace: remove argument from trace_init_file", 2020-11-11)
Cc: stefanha@redhat.com
Reported-by: armbru@redhat.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20210209145759.141231-2-pbonzini@redhat.com>


  Commit: 7520c4f0847093aefa87f23113f28d5d1d574aed
      
https://github.com/qemu/qemu/commit/7520c4f0847093aefa87f23113f28d5d1d574aed
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M softmmu/vl.c

  Log Message:
  -----------
  trace: skip qemu_set_log_filename if no "-D" option was passed

When the "simple" backend is not active but the "log" backend is,
both "-trace file=" and "-D" will result in a call to
qemu_set_log_filename.  Unfortunately, QEMU was also calling
qemu_set_log_filename if "-D" was not passed, so the "-trace
file=" option had no effect and the tracepoints went back to
stderr.

Fortunately we can just skip qemu_set_log_filename in that case,
because the log backend will initialize itself just fine as soon
as qemu_set_log is called, also in qemu_process_early_options.

Cc: stefanha@redhat.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20210209145759.141231-3-pbonzini@redhat.com>


  Commit: c715343fd96bcf93263fda38d81af815fdb5a7fa
      
https://github.com/qemu/qemu/commit/c715343fd96bcf93263fda38d81af815fdb5a7fa
  Author: Daniele Buono <dbuono@linux.vnet.ibm.com>
  Date:   2021-03-06 (Sat, 06 Mar 2021)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  meson: Stop if cfi is enabled with system slirp

For CFI, we need to compile slirp as a static library together with qemu.
This is because we register slirp functions as callbacks for QEMU Timers.
When using a system-wide shared libslirp, the type information for the
callback is missing and the timer call produces a false positive with CFI.

With this patch, meson will stop if CFI is enabled with system-wide slirp.

In 6.1 we will introduce a new interface to slirp where the callback is
passed as an enum rather than a function pointer.

Signed-off-by: Daniele Buono <dbuono@linux.vnet.ibm.com>
Message-Id: <20210304025939.9164-1-dbuono@linux.vnet.ibm.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 0436c55edf6b357ff56e2a5bf688df8636f83456
      
https://github.com/qemu/qemu/commit/0436c55edf6b357ff56e2a5bf688df8636f83456
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-03-08 (Mon, 08 Mar 2021)

  Changed paths:
    M Makefile
    M accel/kvm/kvm-all.c
    M block/blkdebug.c
    M chardev/char-socket.c
    M chardev/char.c
    M docs/system/deprecated.rst
    M gdbstub.c
    M hw/i386/x86.c
    M hw/intc/apic.c
    M hw/scsi/lsi53c895a.c
    M hw/scsi/scsi-bus.c
    M hw/scsi/scsi-disk.c
    M hw/scsi/scsi-generic.c
    M hw/scsi/virtio-scsi.c
    M hw/scsi/vmw_pvscsi.c
    M include/hw/elf_ops.h
    M include/hw/scsi/scsi.h
    M include/qemu/config-file.h
    M include/scsi/utils.h
    M meson.build
    M qemu-options.hx
    M qga/vss-win32/meson.build
    M qom/object_interfaces.c
    M scsi/qemu-pr-helper.c
    M scsi/utils.c
    M softmmu/vl.c
    M target/i386/kvm/kvm.c
    M tests/fp/meson.build
    M tests/meson.build
    M tests/qtest/meson.build
    M trace/control.c
    M util/qemu-config.c
    M util/qemu-option.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into 
staging

* fix tracing vs -daemonize (Daniel)
* detect invalid CFI configuration (Daniele)
* 32-bit PVH fix (David)
* forward SCSI passthrough host-status to the SCSI HBA (Hannes)
* detect ill-formed id in QMP object-add (Kevin)
* miscellaneous bugfixes and cleanups (Keqian, Kostiantyn, myself, Peng Liang)
* add nodelay option for chardev (myself)
* deprecate -M kernel-irqchip=off on x86 (myself)
* keep .d files (myself)
* Fix -trace file (myself)

# gpg: Signature made Sat 06 Mar 2021 10:43:12 GMT
# 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-gitlab/tags/for-upstream: (23 commits)
  meson: Stop if cfi is enabled with system slirp
  trace: skip qemu_set_log_filename if no "-D" option was passed
  trace: fix "-trace file=..."
  meson: adjust timeouts for some slower tests
  build-sys: invoke ninja with -d keepdepfile
  qemu-option: do not suggest using the delay option
  scsi: move host_status handling into SCSI drivers
  scsi: inline sg_io_sense_from_errno() into the callers.
  scsi-generic: do not snoop the output of failed commands
  scsi: Add mapping for generic SCSI_HOST status to sense codes
  scsi: Rename linux-specific SG_ERR codes to generic SCSI_HOST error codes
  qemu-config: add error propagation to qemu_config_parse
  x86/pvh: extract only 4 bytes of start address for 32 bit kernels
  elf_ops: correct loading of 32 bit PVH kernel
  lsilogic: Use PCIDevice::exit instead of DeviceState::unrealize
  accel: kvm: Add aligment assert for kvm_log_clear_one_slot
  accel: kvm: Fix memory waste under mismatch page size
  vl.c: do not execute trace_init_backends() before daemonizing
  qom: Check for wellformed id in user_creatable_add_type()
  chardev: add nodelay option
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/138d2931979c...0436c55edf6b



reply via email to

[Prev in Thread] Current Thread [Next in Thread]