qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 2d1df8: virtio: Return true from virtio_queue


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 2d1df8: virtio: Return true from virtio_queue_empty if bro...
Date: Wed, 03 Oct 2018 03:03:19 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 2d1df8591022737b8ef19d681ff74eda389f5198
      
https://github.com/qemu/qemu/commit/2d1df8591022737b8ef19d681ff74eda389f5198
  Author: Fam Zheng <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M hw/virtio/virtio.c

  Log Message:
  -----------
  virtio: Return true from virtio_queue_empty if broken

Both virtio-blk and virtio-scsi use virtio_queue_empty() as the
loop condition in VQ handlers (virtio_blk_handle_vq,
virtio_scsi_handle_cmd_vq). When a device is marked broken in
virtqueue_pop, for example if a vIOMMU address translation failed, we
want to break out of the loop.

This fixes a hanging problem when booting a CentOS 3.10.0-862.el7.x86_64
kernel with ATS enabled:

  $ qemu-system-x86_64 \
    ... \
    -device intel-iommu,intremap=on,caching-mode=on,eim=on,device-iotlb=on \
    -device virtio-scsi-pci,iommu_platform=on,ats=on,id=scsi0,bus=pci.4,addr=0x0

The dead loop happens immediately when the kernel boots and initializes
the device, where virtio_scsi_data_plane_handle_cmd will not return:

    > ...
    > #13 0x00005586602b7793 in virtio_scsi_handle_cmd_vq
    > #14 0x00005586602b8d66 in virtio_scsi_data_plane_handle_cmd
    > #15 0x00005586602ddab7 in virtio_queue_notify_aio_vq
    > #16 0x00005586602dfc9f in virtio_queue_host_notifier_aio_poll
    > #17 0x00005586607885da in run_poll_handlers_once
    > #18 0x000055866078880e in try_poll_mode
    > #19 0x00005586607888eb in aio_poll
    > #20 0x0000558660784561 in aio_wait_bh_oneshot
    > #21 0x00005586602b9582 in virtio_scsi_dataplane_stop
    > #22 0x00005586605a7110 in virtio_bus_stop_ioeventfd
    > #23 0x00005586605a9426 in virtio_pci_stop_ioeventfd
    > #24 0x00005586605ab808 in virtio_pci_common_write
    > #25 0x0000558660242396 in memory_region_write_accessor
    > #26 0x00005586602425ab in access_with_adjusted_size
    > #27 0x0000558660245281 in memory_region_dispatch_write
    > #28 0x00005586601e008e in flatview_write_continue
    > #29 0x00005586601e01d8 in flatview_write
    > #30 0x00005586601e04de in address_space_write
    > #31 0x00005586601e052f in address_space_rw
    > #32 0x00005586602607f2 in kvm_cpu_exec
    > #33 0x0000558660227148 in qemu_kvm_cpu_thread_fn
    > #34 0x000055866078bde7 in qemu_thread_start
    > #35 0x00007f5784906594 in start_thread
    > #36 0x00007f5784639e6f in clone

With this patch, virtio_queue_empty will now return 1 as soon as the
vdev is marked as broken, after a "virtio: zero sized buffers are not
allowed" error.

To be consistent, update virtio_queue_empty_rcu as well.

Signed-off-by: Fam Zheng <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 07d66672e7035dd24dbe8ee009847a8ceae1178d
      
https://github.com/qemu/qemu/commit/07d66672e7035dd24dbe8ee009847a8ceae1178d
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M include/qemu/thread.h

  Log Message:
  -----------
  qsp: hide indirect function calls from Coverity

Coverity does not see anymore that qemu_mutex_lock is taking a lock.
Hide all the QSP magic so that static analysis works again.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: cf9270e5220671f49cc238deaf6136669cc07ae1
      
https://github.com/qemu/qemu/commit/cf9270e5220671f49cc238deaf6136669cc07ae1
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M hw/audio/es1370.c

  Log Message:
  -----------
  es1370: fix ADC_FRAMEADR and ADC_FRAMECNT

They are not consecutive with DAC1_FRAME* and DAC2_FRAME*.

Fixes: 154c1d1f960c5147a3f8ef00907504112f271cd8
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: a1f2ed2ad8b4ec28a5f1bc4fcb50ef57b69a28a2
      
https://github.com/qemu/qemu/commit/a1f2ed2ad8b4ec28a5f1bc4fcb50ef57b69a28a2
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M hw/input/ps2.c

  Log Message:
  -----------
  ps2: prevent changing irq state on save and load

Commit 2858ab09e6f708e381fc1a1cc87e747a690c4884 changed
PS/2 keyboard/mouse buffers to the standard size. However, its state
may change when migrating from the old buffer size and therefore irq needs
updating. But this change made wrong, because it throws the whole queue
if there are too much data instead of cropping it.

That commit also updates irq (because the queue state may change).
But updating the irq may change the VM state (and determinism of
the execution). E.g., when replaying the execution, one may save
the VM state and the state of the interrupt controller will be updated
at the moment of saving, instead of using the recorded update events.

This patch makes the queue update deterministic: it removes the update_irq
call and crops the queue to prevent losing the characters and changing
the required irq status.

Signed-off-by: Pavel Dovgalyuk <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 119c440c3c599778bfb4f90d8e39fda132925813
      
https://github.com/qemu/qemu/commit/119c440c3c599778bfb4f90d8e39fda132925813
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M include/qemu/atomic.h

  Log Message:
  -----------
  atomic: fix comment s/x64_64/x86_64/

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 87a09cdc529ddb5daa660e3c442b793032a2169d
      
https://github.com/qemu/qemu/commit/87a09cdc529ddb5daa660e3c442b793032a2169d
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M cpus.c

  Log Message:
  -----------
  cpus: initialize timers_state.vm_clock_lock

We forgot to initialize the spinlock introduced in 94377115b2
("cpus: protect TimerState writes with a spinlock", 2018-08-23).
Fix it.

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 5fe21034292a2758639d6e66822a53770c7bcc0d
      
https://github.com/qemu/qemu/commit/5fe21034292a2758639d6e66822a53770c7bcc0d
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M include/qemu/osdep.h
    M util/cacheinfo.c

  Log Message:
  -----------
  cacheinfo: add i/d cache_linesize_log

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 782da5b2921c4d18777d5d5bd9385b9f7beae360
      
https://github.com/qemu/qemu/commit/782da5b2921c4d18777d5d5bd9385b9f7beae360
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M include/qemu/atomic.h
    M util/Makefile.objs
    A util/atomic64.c
    M util/cacheinfo.c

  Log Message:
  -----------
  util: add atomic64

This introduces read/set accessors for int64_t and uint64_t.

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 82fdfcbe64ec09048d5f9b430b16231b9285d54b
      
https://github.com/qemu/qemu/commit/82fdfcbe64ec09048d5f9b430b16231b9285d54b
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M tests/Makefile.include
    A tests/atomic64-bench.c

  Log Message:
  -----------
  tests: add atomic64-bench

- With CONFIG_ATOMIC64:
$ tests/atomic64-bench  -n 1
 Throughput:         310.40 Mops/s

- Without:
$ tests/atomic64-bench  -n 1
 Throughput:         149.08 Mops/s

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: ac8c77486cbdd5d7be17c447ca64cbebd330f25a
      
https://github.com/qemu/qemu/commit/ac8c77486cbdd5d7be17c447ca64cbebd330f25a
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M util/qsp.c

  Log Message:
  -----------
  qsp: use atomic64 accessors

With the seqlock, we either have to use atomics to remain
within defined behaviour (and note that 64-bit atomics aren't
always guaranteed to compile, irrespective of __nocheck), or
drop the atomics and be in undefined behaviour territory.

Fix it by dropping the seqlock and using atomic64 accessors.
This will limit scalability when !CONFIG_ATOMIC64, but those
machines (1) don't have many users and (2) are unlikely to
have many cores.

- With CONFIG_ATOMIC64:
$ tests/atomic_add-bench -n 1 -m -p
 Throughput:         13.00 Mops/s

- Forcing !CONFIG_ATOMIC64:
$ tests/atomic_add-bench -n 1 -m -p
 Throughput:         10.89 Mops/s

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 39fe576c82bc02749410ea16045109f7b7d4af62
      
https://github.com/qemu/qemu/commit/39fe576c82bc02749410ea16045109f7b7d4af62
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M tests/test-rcu-list.c

  Log Message:
  -----------
  test-rcu-list: access n_reclaims and n_nodes_removed with atomic64

To avoid undefined behaviour.

Note that these "atomics" are atomic in the "access once" sense.
The variables are updated by a single thread at a time, so no
"full" atomics are necessary.

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 9b4e6f496601d3cd35fd8d09c9e2103999fd5c33
      
https://github.com/qemu/qemu/commit/9b4e6f496601d3cd35fd8d09c9e2103999fd5c33
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M cpus.c

  Log Message:
  -----------
  cpus: take seqlock across qemu_icount updates

Even though writes of qemu_icount can safely race with reads in
qemu_icount_raw, qemu_icount is also read by icount_adjust, which
runs in the I/O thread.  Therefore, writes do needs protection of
the vm_clock_lock; for simplicity the patch protects it with both
seqlock+spinlock, which we already do for hosts that lack 64-bit atomics.

The bug actually predated the introduction of vm_clock_lock;
cpu_update_icount would have needed the BQL before the spinlock was
introduced.

Reported-by: Emilio G. Cota <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 38adcb6e4197b5277dbb5ad0036a804b30b25bc6
      
https://github.com/qemu/qemu/commit/38adcb6e4197b5277dbb5ad0036a804b30b25bc6
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M cpus.c

  Log Message:
  -----------
  cpus: access .qemu_icount with atomic64

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: c97595d16654c3508643ae1881be1531de48ecc7
      
https://github.com/qemu/qemu/commit/c97595d16654c3508643ae1881be1531de48ecc7
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M cpus.c

  Log Message:
  -----------
  cpus: access .qemu_icount_bias with atomic64

Signed-off-by: Emilio G. Cota <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 7184de64a1cf23a72191484b9a6995c3bfc9fb0b
      
https://github.com/qemu/qemu/commit/7184de64a1cf23a72191484b9a6995c3bfc9fb0b
  Author: Viktor Prutyanov <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M win_dump.c

  Log Message:
  -----------
  dump: fix Windows dump memory run mapping

We should map and use guest memory run by parts if it can't be mapped as
a whole.
After this patch, continuos guest physical memory blocks which are not
continuos in host virtual address space will be processed correctly.

Signed-off-by: Viktor Prutyanov <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 3829640049cf516d229620e5919b0ab66fd6ac86
      
https://github.com/qemu/qemu/commit/3829640049cf516d229620e5919b0ab66fd6ac86
  Author: Marc-André Lureau <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M backends/hostmem-memfd.c
    M include/qemu/memfd.h
    M tests/vhost-user-test.c
    M util/memfd.c

  Log Message:
  -----------
  hostmem-memfd: add checks before adding hostmem-memfd & properties

Run some memfd-related checks before registering hostmem-memfd &
various properties. This will help libvirt to figure out what the host
is supposed to be capable of.

qemu_memfd_check() is changed to a less optimized version, since it is
used with various flags, it no longer caches the result.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 0ea1472dc50a9488e87c4d19329c7d5c63eb7076
      
https://github.com/qemu/qemu/commit/0ea1472dc50a9488e87c4d19329c7d5c63eb7076
  Author: Jan Kiszka <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M target/i386/kvm.c

  Log Message:
  -----------
  kvm: x86: Fix kvm_arch_fixup_msi_route for remap-less case

The AMD IOMMU does not (yet) support interrupt remapping. But
kvm_arch_fixup_msi_route assumes that all implementations do and crashes
when the AMD IOMMU is used in KVM mode.

Fixes: 8b5ed7dffa1f ("intel_iommu: add support for split irqchip")
Reported-by: Christopher Goldsworthy <address@hidden>
Signed-off-by: Jan Kiszka <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Peter Xu <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: e811da7fe229cc17d98b230bdfeaf6d0631ea987
      
https://github.com/qemu/qemu/commit/e811da7fe229cc17d98b230bdfeaf6d0631ea987
  Author: Daniel P. Berrangé <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: preserve various environment variables in config.status

The config.status script is auto-generated by configure upon
completion. The intention is that config.status can be later invoked by
the developer directly, or by make indirectly, to re-detect the same
environment that configure originally used.

The current config.status script, however, only contains a record of the
command line arguments to configure. Various environment variables have
an effect on what configure will find. In particular PKG_CONFIG_LIBDIR &
PKG_CONFIG_PATH vars will affect what libraries pkg-config finds. The
PATH var will affect what toolchain binaries and XXXX-config scripts are
found. The LD_LIBRARY_PATH var will affect what libraries are
found. Most commands have env variables that will override the name/path
of the default version configure finds.

All these key env variables should be recorded in the config.status script.

Autoconf would also preserve CFLAGS, LDFLAGS, LIBS, CPPFLAGS, but QEMU
deals with those differently, expecting extra flags to be set using
configure args, rather than env variables. At the end of the script we
also don't have the original values of those env vars, as we modify them
during configure.

Reviewed-by: Eric Blake <address@hidden>
Reviewed-by: Stefan Weil <address@hidden>
Signed-off-by: Daniel P. Berrange <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Daniel P. Berrangé <address@hidden>


  Commit: 71bb4ce1b5592cdc03abc48cdf4ecb15b2db81a0
      
https://github.com/qemu/qemu/commit/71bb4ce1b5592cdc03abc48cdf4ecb15b2db81a0
  Author: Geert Uytterhoeven <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M hw/char/sh_serial.c

  Log Message:
  -----------
  hw/char/sh_serial: Add timeout handling to unbreak serial input

As of commit 18e8cf159177100e ("serial: sh-sci: increase RX FIFO trigger
defaults for (H)SCIF") in Linux v4.11-rc1, the serial console on the
QEMU SH4 target is broken: it delays serial input until enough data has
been received.

Since aforementioned commit, the Linux SCIF driver programs the Receive
FIFO Data Count Trigger bits in the FIFO Control Register, to postpone
generating a receive interrupt until:
  1. At least the receive trigger count of bytes of data are available
     in the receive FIFO, OR
  2. No further data has been received for at least 15 etu after the
     last received data.

While QEMU implements the former, it does not implement the latter.
Hence the receive interrupt is not generated until the former condition
is met.

Fix this by adding basic timeout handling.  As the QEMU SCIF emulation
ignores any serial speed programming, the timeout value used conforms to
a default speed of 9600 bps, which is fine for any interactive console.

Reported-by: Rob Landley <address@hidden>
Signed-off-by: Geert Uytterhoeven <address@hidden>
Tested-by: Ulrich Hecht <address@hidden>
Tested-by: Rob Landley <address@hidden>
Tested-by: Rich Felker <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 9e6bdef224f700c057462a7d5e9b4a2770e04569
      
https://github.com/qemu/qemu/commit/9e6bdef224f700c057462a7d5e9b4a2770e04569
  Author: Marc-André Lureau <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M include/qemu/osdep.h
    M os-posix.c
    M os-win32.c
    M qga/main.c
    M scsi/qemu-pr-helper.c
    M util/oslib-posix.c
    M util/oslib-win32.c
    M vl.c

  Log Message:
  -----------
  util: add qemu_write_pidfile()

There are variants of qemu_create_pidfile() in qemu-pr-helper and
qemu-ga. Let's have a common implementation in libqemuutil.

The code is initially based from pr-helper write_pidfile(), with
various improvements and suggestions from Daniel Berrangé:

  QEMU will leave the pidfile existing on disk when it exits which
  initially made me think it avoids the deletion race. The app
  managing QEMU, however, may well delete the pidfile after it has
  seen QEMU exit, and even if the app locks the pidfile before
  deleting it, there is still a race.

  eg consider the following sequence
   QEMU 1        libvirtd        QEMU 2

  1.    lock(pidfile)

  2.    exit()

  3.                 open(pidfile)

  4.                 lock(pidfile)

  5.                                  open(pidfile)

  6.                 unlink(pidfile)

  7.                 close(pidfile)

  8.                                  lock(pidfile)

  IOW, at step 8 the new QEMU has successfully acquired the lock, but
  the pidfile no longer exists on disk because it was deleted after
  the original QEMU exited.

  While we could just say no external app should ever delete the
  pidfile, I don't think that is satisfactory as people don't read
  docs, and admins don't like stale pidfiles being left around on
  disk.

  To make this robust, I think we might want to copy libvirt's
  approach to pidfile acquisition which runs in a loop and checks that
  the file on disk /after/ acquiring the lock matches the file that
  was locked. Then we could in fact safely let QEMU delete its own
  pidfiles on clean exit..

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 35f7f3fb5c65dcdf8315bbfd40a3c1d015663d77
      
https://github.com/qemu/qemu/commit/35f7f3fb5c65dcdf8315bbfd40a3c1d015663d77
  Author: Marc-André Lureau <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M util/oslib-posix.c

  Log Message:
  -----------
  util: use fcntl() for qemu_write_pidfile() locking

Daniel Berrangé suggested to use fcntl() locks rather than lockf().

'man lockf':

   On Linux, lockf() is just an interface on top of fcntl(2) locking.
   Many other systems implement lockf() in this way, but note that
   POSIX.1 leaves the relationship between lockf() and fcntl(2) locks
   unspecified.  A portable application should probably avoid mixing
   calls to these interfaces.

IOW, if its just a shim around fcntl() on many systems, it is clearer
if we just use fcntl() directly, as we then know how fcntl() locks will
behave if they're on a network filesystem like NFS.

Suggested-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 61a9346f60fe32143c007bb27bac6e1d83e4aee8
      
https://github.com/qemu/qemu/commit/61a9346f60fe32143c007bb27bac6e1d83e4aee8
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M hw/char/serial.c

  Log Message:
  -----------
  serial: fix DLL writes

Commit 0147883450fe84bb8de2d4a58381881f4262ce9b tries to handle
word-sized writes to DLL/DLH, but due to a typo,
this patch is causing tracebacks in all Linux kernels running the PXA
serial driver, due to an unexpected DLL register value. Here is the
surrounding code from drivers/tty/serial/pxa.c:

        serial_out(up, UART_DLL, quot & 0xff);          /* LS of divisor */

        /*
         * work around Errata #75 according to Intel(R) PXA27x
         * Processor Family Specification Update (Nov 2005)
         */
        dll = serial_in(up, UART_DLL);
        WARN_ON(dll != (quot & 0xff));  // <-- warning

Reported-by: Guenter Roeck <address@hidden>
Tested-by: Guenter Roeck <address@hidden>
Fixes: 0147883450fe84bb8de2d4a58381881f4262ce9b
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 90a84d131c09096bdc424027526b575fe6a8a8d5
      
https://github.com/qemu/qemu/commit/90a84d131c09096bdc424027526b575fe6a8a8d5
  Author: Marc-André Lureau <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M vl.c

  Log Message:
  -----------
  Delete PID file on exit

Register an exit notifier to remove the PID file. By the time atexit()
is called, qemu_write_pidfile() guarantees QEMU owns the PID file,
thus we could safely remove it when exiting.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: f3839fda5771596152b75dd1e1a6d050e6e6e380
      
https://github.com/qemu/qemu/commit/f3839fda5771596152b75dd1e1a6d050e6e6e380
  Author: Li Zhijian <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M hw/alpha/dp264.c
    M hw/core/loader.c
    M hw/hppa/machine.c
    M hw/i386/pc.c
    M hw/mips/mips_fulong2e.c
    M hw/mips/mips_malta.c
    M hw/mips/mips_mipssim.c
    M hw/mips/mips_r4k.c
    M hw/moxie/moxiesim.c
    M include/hw/loader.h

  Log Message:
  -----------
  change get_image_size return type to int64_t

Previously, if the size of initrd >=2G, qemu exits with error:
address@hidden:/home/lizj# 
/home/lizhijian/lkp/qemu-colo/x86_64-softmmu/qemu-system-x86_64 -kernel 
./vmlinuz-4.16.0-rc4 -initrd large.cgz -nographic
qemu: error reading initrd large.cgz: No such file or directory
address@hidden:/home/lizj# du -sh large.cgz
2.5G    large.cgz

this patch changes the caller side that use this function to calculate
size of initrd file as well.

v2: update error message and int64_t printing format

Signed-off-by: Li Zhijian <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 93a3e108eb6a9bb781ab7db6e92d91528e482030
      
https://github.com/qemu/qemu/commit/93a3e108eb6a9bb781ab7db6e92d91528e482030
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: move cpu_cc_srcT to DisasContext

Signed-off-by: Emilio G. Cota <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 6b672b5d6b14422c131969c5725f738751e12847
      
https://github.com/qemu/qemu/commit/6b672b5d6b14422c131969c5725f738751e12847
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: move cpu_A0 to DisasContext

Signed-off-by: Emilio G. Cota <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: c66f97273f677d76afaaeb0e688eb08499701b1b
      
https://github.com/qemu/qemu/commit/c66f97273f677d76afaaeb0e688eb08499701b1b
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: move cpu_T0 to DisasContext

Signed-off-by: Emilio G. Cota <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: b48597b0eda32d4c7ade2ba3f98f06f62289e3e2
      
https://github.com/qemu/qemu/commit/b48597b0eda32d4c7ade2ba3f98f06f62289e3e2
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: move cpu_T1 to DisasContext

Signed-off-by: Emilio G. Cota <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: fbd80f02df3fe272ba0f4825df27b8459dafbc14
      
https://github.com/qemu/qemu/commit/fbd80f02df3fe272ba0f4825df27b8459dafbc14
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: move cpu_tmp0 to DisasContext

Signed-off-by: Emilio G. Cota <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 5022f28f1e4033eb369b744ad61b96d086beca1b
      
https://github.com/qemu/qemu/commit/5022f28f1e4033eb369b744ad61b96d086beca1b
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: move cpu_tmp4 to DisasContext

Signed-off-by: Emilio G. Cota <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 2ee2646491a293a92d1c85e90e12419a8c199ed0
      
https://github.com/qemu/qemu/commit/2ee2646491a293a92d1c85e90e12419a8c199ed0
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: move cpu_ptr0 to DisasContext

Signed-off-by: Emilio G. Cota <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 6387e8303ffb26cfb40b0f93372f1519229b4d2c
      
https://github.com/qemu/qemu/commit/6387e8303ffb26cfb40b0f93372f1519229b4d2c
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: move cpu_ptr1 to DisasContext

Signed-off-by: Emilio G. Cota <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 6bd48f6f206b6f32a5bbeebc3ae6886d4f587981
      
https://github.com/qemu/qemu/commit/6bd48f6f206b6f32a5bbeebc3ae6886d4f587981
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: move cpu_tmp2_i32 to DisasContext

Signed-off-by: Emilio G. Cota <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 4f82446de695f080ed148a0e47fc141e928665af
      
https://github.com/qemu/qemu/commit/4f82446de695f080ed148a0e47fc141e928665af
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: move cpu_tmp3_i32 to DisasContext

Signed-off-by: Emilio G. Cota <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 776678b2961848a80387509c433dc04b0f761592
      
https://github.com/qemu/qemu/commit/776678b2961848a80387509c433dc04b0f761592
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: move cpu_tmp1_i64 to DisasContext

Signed-off-by: Emilio G. Cota <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 1dbe15ef57abdf7b6a26c8e638abf6413a4b9d0c
      
https://github.com/qemu/qemu/commit/1dbe15ef57abdf7b6a26c8e638abf6413a4b9d0c
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: move x86_64_hregs to DisasContext

And convert it to a bool to use an existing hole
in the struct.

Signed-off-by: Emilio G. Cota <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 0a7fa00a13f0852ec6fa83ab987a5ee7978d9867
      
https://github.com/qemu/qemu/commit/0a7fa00a13f0852ec6fa83ab987a5ee7978d9867
  Author: Emilio G. Cota <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: enable mttcg for i386 and x86_64

Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Emilio G. Cota <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 0c08185f8fe1eb20edec1a2bf32b4d219cc023f0
      
https://github.com/qemu/qemu/commit/0c08185f8fe1eb20edec1a2bf32b4d219cc023f0
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M cpus.c
    M include/sysemu/replay.h
    M replay/replay.c

  Log Message:
  -----------
  replay: wake up vCPU when replaying

In record/replay icount mode vCPU thread and iothread synchronize
the execution using the checkpoints.
vCPU thread processes the virtual timers and iothread processes all others.
When iothread wants to wake up sleeping vCPU thread, it sends dummy queued
work. Therefore it could be the following sequence of the events in
record mode:
 - IO: sending dummy work
 - IO: processing timers
 - CPU: wakeup
 - CPU: clearing dummy work
 - CPU: processing virtual timers

But due to the races in replay mode the sequence may change:
 - IO: sending dummy work
 - CPU: wakeup
 - CPU: clearing dummy work
 - CPU: sleeping again because nothing to do
 - IO: Processing timers
 - CPU: zzzz

In this case vCPU will not wake up, because dummy work is not to be set up
again.

This patch tries to wake up the vCPU when it sleeps and the icount warp
checkpoint isn't met. It means that vCPU has something to do, because
there are no other reasons of non-matching warp checkpoint.

Signed-off-by: Pavel Dovgalyuk <address@hidden>

--

v5: improve checking that vCPU is still sleeping
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: d873fe03766481b72549ff15ee647c086a98c12f
      
https://github.com/qemu/qemu/commit/d873fe03766481b72549ff15ee647c086a98c12f
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M replay/replay-events.c
    M replay/replay-internal.h

  Log Message:
  -----------
  replay: flush events when exiting

This patch adds events processing when emulation finishes instead
of just cleaning the queue. Now the bdrv coroutines will be in consistent
state when emulator closes. It allows correct polling of the block layer
at exit.

Signed-off-by: Pavel Dovgalyuk <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: f9f1f56e4da088b993ce28775c271d5bcdcf49ae
      
https://github.com/qemu/qemu/commit/f9f1f56e4da088b993ce28775c271d5bcdcf49ae
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M accel/tcg/translator.c

  Log Message:
  -----------
  translator: fix breakpoint processing

QEMU cannot pass through the breakpoints when 'si' command is used
in remote gdb. This patch disables inserting the breakpoints
when we are already single stepping though the gdb remote protocol.
This patch also fixes icount calculation for the blocks that include
breakpoints - instruction with breakpoint is not executed and shouldn't
be used in icount calculation.

Signed-off-by: Pavel Dovgalyuk <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: bb3d7702e8dd0fd84c9496e226b46ce964b76e13
      
https://github.com/qemu/qemu/commit/bb3d7702e8dd0fd84c9496e226b46ce964b76e13
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M replay/replay-snapshot.c
    M vl.c

  Log Message:
  -----------
  replay: allow loading any snapshots before recording

This patch enables using -loadvm in recording mode to allow starting
the execution recording from any of the available snapshots.
It also fixes loading of the record/replay state, therefore snapshots
created in replay mode may also be used for starting the new recording.

Signed-off-by: Pavel Dovgalyuk <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 87f4fe7653baf55b5c2f2753fe6003f473c07342
      
https://github.com/qemu/qemu/commit/87f4fe7653baf55b5c2f2753fe6003f473c07342
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M include/qemu/timer.h
    M util/qemu-timer.c

  Log Message:
  -----------
  timer: introduce new virtual clock

Slirp and VNC modules use virtual clock for processing some events that
are related to the guest execution speed.
But virtual clock-related events are consideres to be deterministic and
are recorded/replayed by icount mechanism. But slirp and VNC lie outside
the recorded guest core (which includes CPU and peripherals).
Therefore slirp and VNC are external for the guest, but should work at
guest speed.
This patch introduces new virtual clock which can be used for external
subsystems for running timers that are synchronized with the guest.

Signed-off-by: Pavel Dovgalyuk <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 775a412bf83f6bc0c5c02091ee06cf649b34c593
      
https://github.com/qemu/qemu/commit/775a412bf83f6bc0c5c02091ee06cf649b34c593
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M slirp/ip6_icmp.c

  Log Message:
  -----------
  slirp: fix ipv6 timers

ICMP implementation for IPv6 uses timers based on virtual clock.
This is incorrect because this service is not related to the guest state,
and its events should not be recorded and replayed.
This patch changes using virtual clock to the new virtual_ext clock.

Signed-off-by: Pavel Dovgalyuk <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Samuel Thibault <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 9888091404a702d7ec79d51b088d994b9fc121bd
      
https://github.com/qemu/qemu/commit/9888091404a702d7ec79d51b088d994b9fc121bd
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M ui/input.c

  Log Message:
  -----------
  ui: fix virtual timers

UI uses timers based on virtual clock for managing key queue.
This is incorrect because this service is not related to the guest state,
and its events should not be recorded and replayed. But these timers should
stop when the guest is not executing.
This patch changes using virtual clock to the new virtual_ext clock,
which runs as virtual clock, but its timers are not saved to the log.

Signed-off-by: Pavel Dovgalyuk <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 2247936a043a609a156cf90c9f346254c48169e4
      
https://github.com/qemu/qemu/commit/2247936a043a609a156cf90c9f346254c48169e4
  Author: Li Qiang <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M hw/nvram/fw_cfg.c

  Log Message:
  -----------
  fw_cfg_mem: add read memory region callback

Signed-off-by: Li Qiang <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: af71743ad6c475b682c21767202e6b005894c795
      
https://github.com/qemu/qemu/commit/af71743ad6c475b682c21767202e6b005894c795
  Author: Li Qiang <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M hw/misc/debugexit.c

  Log Message:
  -----------
  hw: debugexit: add read callback

Signed-off-by: Li Qiang <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 57cdec5e5f5f0838bf1a8c9feb4e304144a019f3
      
https://github.com/qemu/qemu/commit/57cdec5e5f5f0838bf1a8c9feb4e304144a019f3
  Author: Li Qiang <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M hw/misc/pc-testdev.c

  Log Message:
  -----------
  hw: pc-testdev: add read memory region callback

Also change the write callback name.

Signed-off-by: Li Qiang <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: e9b6be9260a0f43d7b9b709674f3fddd7432057b
      
https://github.com/qemu/qemu/commit/e9b6be9260a0f43d7b9b709674f3fddd7432057b
  Author: Li Qiang <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M hw/misc/hyperv_testdev.c

  Log Message:
  -----------
  hw: hyperv_testdev: add read callback

Signed-off-by: Li Qiang <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 1cd3d492624da399d66c4c3e6a5eabb8f96bb0a2
      
https://github.com/qemu/qemu/commit/1cd3d492624da399d66c4c3e6a5eabb8f96bb0a2
  Author: Igor Mammedov <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M memory.c

  Log Message:
  -----------
  memory: cleanup side effects of memory_region_init_foo() on failure

if MemoryRegion intialization fails it's left in semi-initialized state,
where it's size is not 0 and attached as child to owner object.
And this leds to crash in following use-case:
    (monitor) object_add 
memory-backend-file,id=mem1,size=99999G,mem-path=/tmp/foo,discard-data=yes
    memory.c:2083: memory_region_get_ram_ptr: Assertion `mr->ram_block' failed
    Aborted (core dumped)
it happens due to assumption that memory region is intialized when
   memory_region_size() != 0
and therefore it's ok to access it in
   file_backend_unparent()
      if (memory_region_size() != 0)
    memory_region_get_ram_ptr()

which happens when object_add fails and unparents failed backend making
file_backend_unparent() access invalid memory region.

Fix it by making sure that memory_region_init_foo() APIs cleanup externally
visible side effects on failure (like set size to 0 and unparenting object)

Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: ded2bcdf3724b80da86b984ae31abf1ebb6369af
      
https://github.com/qemu/qemu/commit/ded2bcdf3724b80da86b984ae31abf1ebb6369af
  Author: Marc-André Lureau <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M chardev/char-socket.c

  Log Message:
  -----------
  Revert "chardev: tcp: postpone TLS work until machine done"

This reverts commit 99f2f54174a595e3ada6e4332fcd2b37ebb0d55d.

See next commit reverting 25679e5d58e258e9950685ffbd0cae4cd40d9cc2 as
well for rationale.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 5573f98fa66df133154529beaabf9d6a331d94bd
      
https://github.com/qemu/qemu/commit/5573f98fa66df133154529beaabf9d6a331d94bd
  Author: Marc-André Lureau <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M chardev/char-socket.c

  Log Message:
  -----------
  Revert "chardev: tcp: postpone async connection setup"

This reverts commit 25679e5d58e258e9950685ffbd0cae4cd40d9cc2.

This commit broke "reconnect socket" chardev that are created after
"machine_done": they no longer try to connect. It broke also
vhost-user-test that uses chardev while there is no "machine_done"
event.

The goal of this patch was to move the "connect" source to the
frontend context. chr->gcontext is set with
qemu_chr_fe_set_handlers(). But there is no guarantee that it will be
called, so we can't delay connection until then: the chardev should
still attempt to connect during open(). qemu_chr_fe_set_handlers() is
eventually called later and will update the context.

Unless there is a good reason to not use initially the default
context, I think we should revert to the previous state to fix the
regressions.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: dfe9ea200ab1ba941149e90a6b3d220afc2dcc4c
      
https://github.com/qemu/qemu/commit/dfe9ea200ab1ba941149e90a6b3d220afc2dcc4c
  Author: Marc-André Lureau <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M chardev/char-socket.c

  Log Message:
  -----------
  char-socket: update all ioc handlers when changing context

So far, tcp_chr_update_read_handler() only updated the read
handler. Let's also update the hup handler.

Factorize the code while at it. (note that s->ioc != NULL when
s->connected)

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 1ef64f1482c1f0df142eb7e4ab41bfe90ad1e65b
      
https://github.com/qemu/qemu/commit/1ef64f1482c1f0df142eb7e4ab41bfe90ad1e65b
  Author: Marc-André Lureau <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M tests/test-char.c

  Log Message:
  -----------
  test-char: fix random socket test failure

Peter reported a test failure on FreeBSD with the new reconnect test:

MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
gtester -k --verbose -m=quick tests/test-char
TEST: tests/test-char... (pid=16190)
  /char/null:                                                          OK
  /char/invalid:                                                       OK
  /char/ringbuf:                                                       OK
  /char/mux:                                                           OK
  /char/stdio:                                                         OK
  /char/pipe:                                                          OK
  /char/file:                                                          OK
  /char/file-fifo:                                                     OK
  /char/udp:                                                           OK
  /char/serial:                                                        OK
  /char/hotswap:                                                       OK
  /char/socket/basic:                                                  OK
  /char/socket/reconnect:                                              FAIL
GTester: last random seed: R02S521380d9c12f1dac3ad1763bf5665c27
(pid=16367)
  /char/socket/fdpass:                                                 OK
FAIL: tests/test-char
**
ERROR:tests/test-char.c:353:char_socket_test_common: assertion failed:
(object_property_get_bool(OBJECT(chr_client), "connected",
&error_abort))

It turns out that the socket test code checks both server and client
connection states, but doesn't wait for both.

Wait for the client side as well.

Signed-off-by: Marc-André Lureau <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 5b9d17bb7605da6abe92f4f1c5e40efc0c081eb4
      
https://github.com/qemu/qemu/commit/5b9d17bb7605da6abe92f4f1c5e40efc0c081eb4
  Author: Marc-André Lureau <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M tests/test-char.c

  Log Message:
  -----------
  test-char: add socket reconnect test

This test exhibits a regression fixed by the previous reverts.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 27e18b8952f8b7a1e26350846f8a0d5a9b33bfb8
      
https://github.com/qemu/qemu/commit/27e18b8952f8b7a1e26350846f8a0d5a9b33bfb8
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M chardev/char-pty.c

  Log Message:
  -----------
  char-pty: remove unnecessary #ifdef

For some reason __APPLE__ was not checked in pty code.  However, the #ifdef
is redundant: this file is already compiled only if CONFIG_POSIX, same as
util/qemu-openpty.c which it uses.

Reported-by: Roman Bolshakov <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 92d5f1a4147c3722b5e9a8bcfb7dc261b7a8b855
      
https://github.com/qemu/qemu/commit/92d5f1a4147c3722b5e9a8bcfb7dc261b7a8b855
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/seg_helper.c

  Log Message:
  -----------
  target/i386: unify masking of interrupts

Interrupt handling depends on various flags in env->hflags or env->hflags2,
and the exact detail were not exactly replicated between x86_cpu_has_work
and x86_cpu_exec_interrupt.  Create a new function that extracts the
highest-priority non-masked interrupt, and use it in both functions.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: f8dc4c645ec2956a6cd97e0ca0fdd4753181f735
      
https://github.com/qemu/qemu/commit/f8dc4c645ec2956a6cd97e0ca0fdd4753181f735
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M target/i386/cpu.h
    M target/i386/excp_helper.c
    M target/i386/seg_helper.c
    M target/i386/svm_helper.c
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: rename HF_SVMI_MASK to HF_GUEST_MASK

This flag will be used for KVM's nested VMX migration; the HF_GUEST_MASK name
is already used in KVM, adopt it in QEMU as well.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 5b8063c40672f19716705f1342dc32e5030c2f43
      
https://github.com/qemu/qemu/commit/5b8063c40672f19716705f1342dc32e5030c2f43
  Author: Liran Alon <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M target/i386/cpu.h
    M target/i386/hvf/README.md
    M target/i386/hvf/hvf.c
    M target/i386/hvf/x86hvf.c
    M target/i386/kvm.c

  Log Message:
  -----------
  i386: Compile CPUX86State xsave_buf only when support KVM or HVF

While at it, also rename var to indicate it is not used only in KVM.

Reviewed-by: Nikita Leshchenko <address@hidden>
Reviewed-by: Patrick Colp <address@hidden>
Signed-off-by: Liran Alon <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 8371158bbaff91234cfba1c401ff523e04785b0f
      
https://github.com/qemu/qemu/commit/8371158bbaff91234cfba1c401ff523e04785b0f
  Author: Li Qiang <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M hw/misc/edu.c

  Log Message:
  -----------
  hw: edu: replace device name with macro

Just as other devices do.

Signed-off-by: Li Qiang <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: a52fbc37a46691762540b043c4cf5f9e7eb1a244
      
https://github.com/qemu/qemu/commit/a52fbc37a46691762540b043c4cf5f9e7eb1a244
  Author: Viktor Prutyanov <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    A include/qemu/win_dump_defs.h
    M win_dump.h

  Log Message:
  -----------
  dump: move Windows dump structures definitions

This patch moves definitions of Windows dump structures to
include/qemu/win_dump_defs.h to keep create_win_dump() prototype separate.

Signed-off-by: Viktor Prutyanov <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 3fa2d384c245bcee3a9ecfa11f298b76ea4c9d57
      
https://github.com/qemu/qemu/commit/3fa2d384c245bcee3a9ecfa11f298b76ea4c9d57
  Author: Viktor Prutyanov <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M Makefile
    M Makefile.objs
    M configure
    A contrib/elf2dmp/Makefile.objs
    A contrib/elf2dmp/addrspace.c
    A contrib/elf2dmp/addrspace.h
    A contrib/elf2dmp/download.c
    A contrib/elf2dmp/download.h
    A contrib/elf2dmp/err.h
    A contrib/elf2dmp/kdbg.h
    A contrib/elf2dmp/main.c
    A contrib/elf2dmp/pdb.c
    A contrib/elf2dmp/pdb.h
    A contrib/elf2dmp/pe.h
    A contrib/elf2dmp/qemu_elf.c
    A contrib/elf2dmp/qemu_elf.h

  Log Message:
  -----------
  contrib: add elf2dmp tool

elf2dmp is a converter from ELF dump (produced by 'dump-guest-memory') to
Windows MEMORY.DMP format (also know as 'Complete Memory Dump') which can be
opened in WinDbg.

This tool can help if VMCoreInfo device/driver is absent in Windows VM and
'dump-guest-memory -w' is not available but dump can be created in ELF format.

The tool works as follows:
1. Determine the system paging root looking at GS_BASE or KERNEL_GS_BASE
to locate the PRCB structure and finds the kernel CR3 nearby if QEMU CPU
state CR3 is not suitable.
2. Find an address within the kernel image by dereferencing the first
IDT entry and scans virtual memory upwards until the start of the
kernel.
3. Download a PDB matching the kernel from the Microsoft symbol store,
and figure out the layout of certain relevant structures necessary for
the dump.
4. Populate the corresponding structures in the memory image and create
the appropriate dump header.

Signed-off-by: Viktor Prutyanov <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 5ee547bb78a8cb868d68e4b9122b0df5650ed8a7
      
https://github.com/qemu/qemu/commit/5ee547bb78a8cb868d68e4b9122b0df5650ed8a7
  Author: Viktor Prutyanov <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: add myself as elf2dmp maintainer

Add myself as contrib/elf2dmp maintainer and elf2dmp as maintained.

Signed-off-by: Viktor Prutyanov <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 4c3e250627bfa2ed272660d5376ac0f6ff458556
      
https://github.com/qemu/qemu/commit/4c3e250627bfa2ed272660d5376ac0f6ff458556
  Author: Yongji Xie <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M hw/i386/kvm/clock.c

  Log Message:
  -----------
  kvmclock: run KVM_KVMCLOCK_CTRL ioctl in vcpu thread

According to KVM API Documentation, we should only
run vcpu ioctls from the same thread that was used
to create the vcpu. This patch makes KVM_KVMCLOCK_CTRL
ioctl consistent with the Documentation.

No functional change.

Signed-off-by: Yongji Xie <address@hidden>
Signed-off-by: Chai Wen <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Yongji Xie <address@hidden>


  Commit: 51f43d5792e3d7a52c0be380e9b855fc4a05a816
      
https://github.com/qemu/qemu/commit/51f43d5792e3d7a52c0be380e9b855fc4a05a816
  Author: Fam Zheng <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

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

  Log Message:
  -----------
  scsi-block: Deprecate rotation_rate

This option is added together with scsi-disk but is never honoured,
becuase we don't emulate the VPD page for scsi-block. We could intercept
and inject the user specified value like for max xfer len, but it's
probably not helpful since the intent of 070f80095ad was for random
entropy aspects, not for performance. If emulated rotation rate is
desired, scsi-hd is more suitable.

Signed-off-by: Fam Zheng <address@hidden>

Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: c921370b22cba70ada74cef43f7d36c011648ec6
      
https://github.com/qemu/qemu/commit/c921370b22cba70ada74cef43f7d36c011648ec6
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M hw/scsi/lsi53c895a.c
    M hw/scsi/trace-events

  Log Message:
  -----------
  lsi53c895a: convert to trace-events

Signed-off-by: Mark Cave-Ayland <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: dcf6760a64f6cacc5b7a77b0e530f3fffef5e189
      
https://github.com/qemu/qemu/commit/dcf6760a64f6cacc5b7a77b0e530f3fffef5e189
  Author: Thomas Huth <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M accel/tcg/translate-all.c

  Log Message:
  -----------
  accel/tcg: Remove dead code

The global cpu_single_env variable has been removed more than 5 years
ago, so apparently nobody used this dead debug code in that timeframe
anymore. Thus let's remove it completely now.

Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 422ca1432f7b44f2a9f3ad94a65d36927da021fa
      
https://github.com/qemu/qemu/commit/422ca1432f7b44f2a9f3ad94a65d36927da021fa
  Author: Marc-André Lureau <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M qom/object.c

  Log Message:
  -----------
  qom/object: add some interface asserts

An interface can't have any instance size or callback, or itself
implement other interfaces (this is unsupported).

Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 442c3b4594bb5a537c5f83dd9c65a0919723eca8
      
https://github.com/qemu/qemu/commit/442c3b4594bb5a537c5f83dd9c65a0919723eca8
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

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

  Log Message:
  -----------
  hvf: drop unused variable

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 41d54dc09f1f327dedc79d5ba0b1b437ab7b0e94
      
https://github.com/qemu/qemu/commit/41d54dc09f1f327dedc79d5ba0b1b437ab7b0e94
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: fix translation for icount mode

This patch fixes the checking of boundary crossing instructions.
In icount mode only first instruction of the block may cross
the page boundary to keep the translation deterministic.
These conditions already existed, but compared the wrong variable.

Signed-off-by: Pavel Dovgalyuk <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: d5dbde4645fe56a1bcd678f85fa26c5548bcf552
      
https://github.com/qemu/qemu/commit/d5dbde4645fe56a1bcd678f85fa26c5548bcf552
  Author: Hikaru Nishida <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M backends/Makefile.objs
    M backends/hostmem-file.c
    M exec.c
    M include/exec/memory.h
    M memory.c

  Log Message:
  -----------
  hostmem-file: make available memory-backend-file on POSIX-based hosts

Before this change, memory-backend-file object is valid for Linux hosts
only because hostmem-file.c is compiled only on Linux hosts.
However, other POSIX-based hosts (such as macOS) can support
memory-backend-file object in the same way as on Linux hosts.
This patch makes hostmem-file.c and related functions to be compiled on
all POSIX-based hosts to make available memory-backend-file on them.

Signed-off-by: Hikaru Nishida <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: b255df7e6ee2b6da7a54b62b8e6c145054fec0db
      
https://github.com/qemu/qemu/commit/b255df7e6ee2b6da7a54b62b8e6c145054fec0db
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M hw/ide/core.c

  Log Message:
  -----------
  replay: replay BH for IDE trim operation

This patch makes IDE trim BH deterministic, because it affects
the device state. Therefore its invocation should be replayed
instead of running at the random moment.

Signed-off-by: Pavel Dovgalyuk <address@hidden>
Reviewed-by: Paolo Bonzini <address@hidden>
Message-Id: <address@hidden>
Acked-by: John Snow <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: d41ca5afe3bc513ecf10b3ba5aa59523e3cd54aa
      
https://github.com/qemu/qemu/commit/d41ca5afe3bc513ecf10b3ba5aa59523e3cd54aa
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M hw/char/virtio-serial-bus.c

  Log Message:
  -----------
  virtio: do not take address of packed members

The address of a packed member is not packed, which may cause accesses
to unaligned pointers.  Avoid this by reading the packed value before
passing it to another function.

Cc: Jason Wang <address@hidden>
Cc: Peter Maydell <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 36960b4d66d2dd59174f230766d1f4eaffec60a3
      
https://github.com/qemu/qemu/commit/36960b4d66d2dd59174f230766d1f4eaffec60a3
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M memory.c

  Log Message:
  -----------
  memory: Use MAKE_64BIT_MASK()

Suggested-by: Paolo Bonzini <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 3c754a9383ac70f316f1b98aec203182de250c42
      
https://github.com/qemu/qemu/commit/3c754a9383ac70f316f1b98aec203182de250c42
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M memory.c

  Log Message:
  -----------
  memory: Refactor common shifting code from accessors

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 98f52cdbb5cb44c0ec69a133fc34505ea7c26520
      
https://github.com/qemu/qemu/commit/98f52cdbb5cb44c0ec69a133fc34505ea7c26520
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M memory.c

  Log Message:
  -----------
  memory: Fix access_with_adjusted_size(small size) on big-endian memory regions

Memory regions configured as DEVICE_BIG_ENDIAN (or DEVICE_NATIVE_ENDIAN on
big-endian guest) behave incorrectly when the memory access 'size' is smaller
than the implementation 'access_size'.

In the following code segment from access_with_adjusted_size():

    if (memory_region_big_endian(mr)) {
  for (i = 0; i < size; i += access_size) {
      r |= access_fn(mr, addr + i, value, access_size,
                  (size - access_size - i) * 8, access_mask, attrs);
  }

(size - access_size - i) * 8 is the number of bits that will arithmetic
shift the current value.

Currently we can only 'left' shift a read() access, and 'right' shift a write().

When the access 'size' is smaller than the implementation, we get a negative
number of bits to shift.

For the read() case, a negative 'left' shift is a 'right' shift :)
However since the 'shift' type is unsigned, there is currently no way to
right shift.

Fix this by changing the access_fn() prototype to handle signed shift values,
and modify the memory_region_shift_read|write_access() helpers to correctly
arithmetic shift the opposite direction when the 'shift' value is negative.

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 62a0db942dec6ebfec19aac2b604737d3c9a2d75
      
https://github.com/qemu/qemu/commit/62a0db942dec6ebfec19aac2b604737d3c9a2d75
  Author: Peter Maydell <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M docs/devel/memory.txt
    M include/exec/memory.h
    M memory.c

  Log Message:
  -----------
  memory: Remove old_mmio accessors

Now that all the users of old_mmio MemoryRegion accessors
have been converted, we can remove the core code support.

Signed-off-by: Peter Maydell <address@hidden>
Message-Id: <address@hidden>
Based-on: <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 695e2fc2d64f272cec9e15b4e2a921ae303921b3
      
https://github.com/qemu/qemu/commit/695e2fc2d64f272cec9e15b4e2a921ae303921b3
  Author: Peter Maydell <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M hw/nvram/fw_cfg.c

  Log Message:
  -----------
  hw/nvram/fw_cfg: Use memberwise copy of MemoryRegionOps struct

We've now removed the 'old_mmio' member from MemoryRegionOps,
so we can perform the copy as a simple struct copy rather
than having to do it via a memberwise copy.

Signed-off-by: Peter Maydell <address@hidden>
Message-Id: <address@hidden>
Based-on: <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 687ac05d71bbb3172e0546248e40483ef43a4813
      
https://github.com/qemu/qemu/commit/687ac05d71bbb3172e0546248e40483ef43a4813
  Author: Peter Maydell <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M docs/devel/memory.txt

  Log Message:
  -----------
  docs/devel/memory.txt: Document _with_attrs accessors

When we added the _with_attrs accessors we forgot to mention
them in the documentation.

Signed-off-by: Peter Maydell <address@hidden>
Message-Id: <address@hidden>
Based-on: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 1926ab273b374372e5108a9e360b9e9366d9acf7
      
https://github.com/qemu/qemu/commit/1926ab273b374372e5108a9e360b9e9366d9acf7
  Author: Alex Bennée <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M cpus.c

  Log Message:
  -----------
  cpus: fix TCG kick timer leak

This is an alternative fix to Marc-André's original patch.

Reported-by: Marc-André Lureau <address@hidden>
Suggested-by: Paolo Bonzini <address@hidden>
Signed-off-by: Alex Bennée <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 97866508669c4a75f531bfa94f8267900fcbb5dc
      
https://github.com/qemu/qemu/commit/97866508669c4a75f531bfa94f8267900fcbb5dc
  Author: Peter Maydell <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M hw/scsi/mptendian.c

  Log Message:
  -----------
  hw/scsi/mptendian: Avoid taking address of fields in packed structs

Taking the address of a field in a packed struct is a bad idea, because
it might not be actually aligned enough for that pointer type (and
thus cause a crash on dereference on some host architectures). Newer
versions of clang warn about this. Avoid the bug by not using the
"modify in place" byte swapping functions.

This patch was produced with the following simple spatch script:
@@
expression E;
@@
-le16_to_cpus(&E);
+E = le16_to_cpu(E);
@@
expression E;
@@
-le32_to_cpus(&E);
+E = le32_to_cpu(E);
@@
expression E;
@@
-le64_to_cpus(&E);
+E = le64_to_cpu(E);
@@
expression E;
@@
-cpu_to_le16s(&E);
+E = cpu_to_le16(E);
@@
expression E;
@@
-cpu_to_le32s(&E);
+E = cpu_to_le32(E);
@@
expression E;
@@
-cpu_to_le64s(&E);
+E = cpu_to_le64(E);

followed by some minor tidying of overlong lines and bad indent.

Signed-off-by: Peter Maydell <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: dafd95053611aa14dda40266857608d12ddce658
      
https://github.com/qemu/qemu/commit/dafd95053611aa14dda40266857608d12ddce658
  Author: Peter Maydell <address@hidden>
  Date:   2018-10-02 (Tue, 02 Oct 2018)

  Changed paths:
    M MAINTAINERS
    M Makefile
    M Makefile.objs
    M accel/tcg/translate-all.c
    M accel/tcg/translator.c
    M backends/Makefile.objs
    M backends/hostmem-file.c
    M backends/hostmem-memfd.c
    M chardev/char-pty.c
    M chardev/char-socket.c
    M configure
    A contrib/elf2dmp/Makefile.objs
    A contrib/elf2dmp/addrspace.c
    A contrib/elf2dmp/addrspace.h
    A contrib/elf2dmp/download.c
    A contrib/elf2dmp/download.h
    A contrib/elf2dmp/err.h
    A contrib/elf2dmp/kdbg.h
    A contrib/elf2dmp/main.c
    A contrib/elf2dmp/pdb.c
    A contrib/elf2dmp/pdb.h
    A contrib/elf2dmp/pe.h
    A contrib/elf2dmp/qemu_elf.c
    A contrib/elf2dmp/qemu_elf.h
    M cpus.c
    M docs/devel/memory.txt
    M exec.c
    M hw/alpha/dp264.c
    M hw/audio/es1370.c
    M hw/char/serial.c
    M hw/char/sh_serial.c
    M hw/char/virtio-serial-bus.c
    M hw/core/loader.c
    M hw/hppa/machine.c
    M hw/i386/kvm/clock.c
    M hw/i386/pc.c
    M hw/ide/core.c
    M hw/input/ps2.c
    M hw/mips/mips_fulong2e.c
    M hw/mips/mips_malta.c
    M hw/mips/mips_mipssim.c
    M hw/mips/mips_r4k.c
    M hw/misc/debugexit.c
    M hw/misc/edu.c
    M hw/misc/hyperv_testdev.c
    M hw/misc/pc-testdev.c
    M hw/moxie/moxiesim.c
    M hw/nvram/fw_cfg.c
    M hw/scsi/lsi53c895a.c
    M hw/scsi/mptendian.c
    M hw/scsi/scsi-disk.c
    M hw/scsi/trace-events
    M hw/virtio/virtio.c
    M include/exec/memory.h
    M include/hw/loader.h
    M include/qemu/atomic.h
    M include/qemu/memfd.h
    M include/qemu/osdep.h
    M include/qemu/thread.h
    M include/qemu/timer.h
    A include/qemu/win_dump_defs.h
    M include/sysemu/replay.h
    M memory.c
    M os-posix.c
    M os-win32.c
    M qga/main.c
    M qom/object.c
    M replay/replay-events.c
    M replay/replay-internal.h
    M replay/replay-snapshot.c
    M replay/replay.c
    M scsi/qemu-pr-helper.c
    M slirp/ip6_icmp.c
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/excp_helper.c
    M target/i386/hvf/README.md
    M target/i386/hvf/hvf.c
    M target/i386/hvf/x86hvf.c
    M target/i386/kvm.c
    M target/i386/seg_helper.c
    M target/i386/svm_helper.c
    M target/i386/translate.c
    M tests/Makefile.include
    A tests/atomic64-bench.c
    M tests/test-char.c
    M tests/test-rcu-list.c
    M tests/vhost-user-test.c
    M ui/input.c
    M util/Makefile.objs
    A util/atomic64.c
    M util/cacheinfo.c
    M util/memfd.c
    M util/oslib-posix.c
    M util/oslib-win32.c
    M util/qemu-timer.c
    M util/qsp.c
    M vl.c
    M win_dump.c
    M win_dump.h

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

* configure fix for environment variables (Daniel)
* fix memory leaks (Alex)
* x86_64 MTTCG fixes (Emilio)
* introduce atomic64 (Emilio)
* Fix for virtio hang (Fam, myself)
* SH serial port fix (Geert)
* Deprecate rotation_rate for scsi-block (Fam)
* Extend memory-backend-file availability to all POSIX hosts (Hikaru)
* Memory API cleanups and fixes (Igor, Li Qiang, Peter, Philippe)
* MSI/IOMMU fix (Jan)
* Socket reconnection fixes (Marc-André)
* icount fixes (Emilio, myself)
* QSP fixes for Coverity (myself)
* Some record/replay improovements (Pavel)
* Packed struct fixes (Peter)
* Windows dump fixes and elf2dmp (Viktor)
* kbmclock fix (Yongji)

# gpg: Signature made Tue 02 Oct 2018 18:13:12 BST
# gpg:                using RSA key BFFBD25F78C7AE83
# gpg: Good signature from "Paolo Bonzini <address@hidden>"
# gpg:                 aka "Paolo Bonzini <address@hidden>"
# 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: (80 commits)
  hw/scsi/mptendian: Avoid taking address of fields in packed structs
  cpus: fix TCG kick timer leak
  docs/devel/memory.txt: Document _with_attrs accessors
  hw/nvram/fw_cfg: Use memberwise copy of MemoryRegionOps struct
  memory: Remove old_mmio accessors
  memory: Fix access_with_adjusted_size(small size) on big-endian memory regions
  memory: Refactor common shifting code from accessors
  memory: Use MAKE_64BIT_MASK()
  virtio: do not take address of packed members
  replay: replay BH for IDE trim operation
  hostmem-file: make available memory-backend-file on POSIX-based hosts
  target/i386: fix translation for icount mode
  hvf: drop unused variable
  qom/object: add some interface asserts
  accel/tcg: Remove dead code
  lsi53c895a: convert to trace-events
  scsi-block: Deprecate rotation_rate
  kvmclock: run KVM_KVMCLOCK_CTRL ioctl in vcpu thread
  MAINTAINERS: add myself as elf2dmp maintainer
  contrib: add elf2dmp tool
  ...

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/3892f1f1a963...dafd95053611
      **NOTE:** This service has been marked for deprecation: 
https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.

reply via email to

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