qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 47c660: qom: introduce object_class_get_list_


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 47c660: qom: introduce object_class_get_list_sorted
Date: Fri, 16 Mar 2018 05:58:08 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 47c66009ab793241e8210b3018c77a9ce9506aa8
      
https://github.com/qemu/qemu/commit/47c66009ab793241e8210b3018c77a9ce9506aa8
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M include/qom/object.h
    M qdev-monitor.c
    M qom/object.c
    M target/alpha/cpu.c
    M target/hppa/cpu.c
    M target/lm32/cpu.c
    M target/sh4/cpu.c
    M target/tricore/helper.c

  Log Message:
  -----------
  qom: introduce object_class_get_list_sorted

Unify half a dozen copies of very similar code (the only difference being
whether comparisons were case-sensitive) and use it also in Tricore,
which did not do any sorting of CPU model names.

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


  Commit: 52310c3fa7dc854dd2376ae8a518141abcdb78f3
      
https://github.com/qemu/qemu/commit/52310c3fa7dc854dd2376ae8a518141abcdb78f3
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/pci/pci.c
    M hw/ppc/e500.c

  Log Message:
  -----------
  net: allow using any PCI NICs in -net or -nic

Remove the hard-coded list of PCI NIC names; instead, fill an array
using all PCI devices listed under DEVICE_CATEGORY_NETWORK. Keep
the old shortcut "virtio" for virtio-net-pci.

Suggested-by: Thomas Huth <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Reviewed-by: Jason Wang <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 4b9c264bd286af7d65892821d19e13b17259b6c4
      
https://github.com/qemu/qemu/commit/4b9c264bd286af7d65892821d19e13b17259b6c4
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M include/hw/i386/pc.h

  Log Message:
  -----------
  q35: change default NIC to e1000e

The e1000 NIC is getting old and is not a very good default for a
PCIe machine type.  Change it to e1000e, which should be supported
by a good number of guests.

In particular, drivers for 82574 were added first to Linux 2.6.27 (2008)
and Windows 2008 R2.  This does mean that Windows 2008 will not work
anymore with Q35 machine types and a default "-net nic -net xxx" network
configuration; it did work before because it does have an AHCI driver.
However, Windows 2008 has been declared out of main stream support
in 2015.  It will get out of extended support in 2020.  Windows 2008
R2 has the same end of support dates and, since the two are basically
Vista vs. Windows 7, R2 probably is more popular.

Reviewed-by: Jason Wang <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: d082d16a5c521907190c58cb7e4ff5eed5c48ab1
      
https://github.com/qemu/qemu/commit/d082d16a5c521907190c58cb7e4ff5eed5c48ab1
  Author: Daniel Henrique Barboza <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

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

  Log Message:
  -----------
  scsi-disk.c: consider bl->max_transfer in INQUIRY emulation

The calculation of the max_transfer atribute of BlockDriverState
makes considerations such as max_segments and transfer_length via
the BLKSECTGET ioctl (if available).

However, bl->max_transfer isn't considered when emulating the INQUIRY
'Block Limit' response to the scsi-hd devices. This leads to situations
where the declared max_sectors from the INQUIRY response is inconsistent
with the block limits, which isn't ideal. It can also be misleading to the
user that sets /sys/block/<dev>/queue/max_sectors_kb to a certain
value, then finds a different value in the guest OS for the same disk.

Following the same logic scsi_read_complete from scsi-generic.c does
when patching the response of the Block Limits VPD back to the guest,
change the max_io_sectors value of the emulated Block Limits VPD
response by considering the blk_get_max_transfer of the related
BlockDriverState. Use MIN_NOT_ZERO to be sure that the minimal
value is chosen.

Given that we're changing max_io_sectors, consider that min_io_sectors
and opt_io_sectors can't be greater than the new calculated value.

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


  Commit: fb8152181db0df60285ec28df1be724632568569
      
https://github.com/qemu/qemu/commit/fb8152181db0df60285ec28df1be724632568569
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M qemu-doc.texi

  Log Message:
  -----------
  qemu-doc: update deprecation section to use -nic and -netdev hubport

The deprecated SLIRP options -tftp, -bootp, -redir, -smb provide
sample replacements that use "-net nic".  Suggest "-nic" instead,
since we finally have a path towards getting rid of "-net".

For "-net vlan" the replacement involves hubport network devices,
so mention that too.

Cc: Jason Wang <address@hidden>
Acked-by: Thomas Huth <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: e12c8198cf473afbec3f634a45047067773143a9
      
https://github.com/qemu/qemu/commit/e12c8198cf473afbec3f634a45047067773143a9
  Author: Thomas Huth <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M qemu-doc.texi

  Log Message:
  -----------
  qemu-doc: Add the paragraph about the -no-frame deprecation again

The section has accidentially been removed while resolving a
contextual conflict during a rebase, so add this again.

Fixes: f29d4450428fe07e9d6b0655cef2e59bfa0b2ea5
Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 0decdfe29ba6e6c9253af342916395b182bd4f84
      
https://github.com/qemu/qemu/commit/0decdfe29ba6e6c9253af342916395b182bd4f84
  Author: Marc-André Lureau <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M Makefile

  Log Message:
  -----------
  build-sys: make help could have 'modules' target

Available when configure --enable-modules.

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


  Commit: 7eceff5b5a1faa394929cacfd3520caa5b3edf42
      
https://github.com/qemu/qemu/commit/7eceff5b5a1faa394929cacfd3520caa5b3edf42
  Author: Thomas Huth <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/arm/highbank.c
    M hw/arm/msf2-soc.c
    M hw/arm/realview.c
    M hw/arm/tosa.c
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/ide/ahci-allwinner.c
    M hw/ide/cmd646.c
    M hw/ide/ich.c
    M hw/ide/isa.c
    M hw/ide/microdrive.c
    M hw/ide/mmio.c
    M hw/mips/mips_fulong2e.c
    M hw/mips/mips_jazz.c
    M hw/ppc/mac_newworld.c
    M hw/ppc/mac_oldworld.c
    M hw/ppc/prep.c
    M hw/scsi/mptendian.c
    M hw/sd/core.c
    M hw/sparc/sun4m.c
    M hw/tricore/tricore_testboard.c

  Log Message:
  -----------
  hw: Do not include "sysemu/block-backend.h" if it is not necessary

After reviewing a patch from Philippe that removes block-backend.h
from hw/lm32/milkymist.c, I noticed that this header is included
unnecessarily in a lot of other files, too. Remove those unneeded
includes to speed up the compilation process a little bit.

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


  Commit: 205f31a81adbd06830f2048ec00d729ebd67efa6
      
https://github.com/qemu/qemu/commit/205f31a81adbd06830f2048ec00d729ebd67efa6
  Author: Eric Blake <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  checkpatch: Exempt long URLs

Sometimes, we want to refer to really long URLs, but checkpatch
balks, and we have to manually bypass the check.  URL shorteners
may be nice at reducing long links, but it's hard to guarantee the
shortened link will live as long as the real target, and it is
also nice to see the original target without having to load the
shortened URL through a browser.  So exempt a line containing
only a URL from the long-line syntax check.

Reviewed-by: Stefan Hajnoczi <address@hidden>
Suggested-by: Peter Maydell <address@hidden>
Signed-off-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: c8ca2a23a953bcda04b5e10380f462526ed1ed89
      
https://github.com/qemu/qemu/commit/c8ca2a23a953bcda04b5e10380f462526ed1ed89
  Author: Peter Xu <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M include/sysemu/sysemu.h
    M stubs/machine-init-done.c
    M vl.c

  Log Message:
  -----------
  vl: export machine_init_done

We have that variable but not exported.  Export that so modules can have
a way to poke on whether machine init has finished.

Meanwhile, set that up even before calling the notifiers, so that
notifiers who may depend on this field will get a correct answer.

Suggested-by: Paolo Bonzini <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Signed-off-by: Peter Xu <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Acked-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: c863fdec6aff6b5a4ca8fff1537b80d9f8b97726
      
https://github.com/qemu/qemu/commit/c863fdec6aff6b5a4ca8fff1537b80d9f8b97726
  Author: Daniel P. Berrangé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M chardev/char-socket.c

  Log Message:
  -----------
  chardev: fix handling of EAGAIN for TCP chardev

When this commit was applied

  commit 9894dc0cdcc397ee5b26370bc53da6d360a363c2
  Author: Daniel P. Berrange <address@hidden>
  Date:   Tue Jan 19 11:14:29 2016 +0000

    char: convert from GIOChannel to QIOChannel

The tcp_chr_recv() function was changed to return QIO_CHANNEL_ERR_BLOCK
which corresonds to -2. As such the handling for EAGAIN was able to be
removed from tcp_chr_read(). Unfortunately in a later commit:

  commit b6572b4f97a7b126c7b24e165893ed9fe3d72e1f
  Author: Marc-André Lureau <address@hidden>
  Date:   Fri Mar 11 18:55:24 2016 +0100

    char: translate from QIOChannel error to errno

The tcp_chr_recv() function was changed back to return -1, with errno
set to EAGAIN, without also re-addding support for this to tcp_chr_read()

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


  Commit: 3da9de5ce22125c917f722f13f91a0e3b096a251
      
https://github.com/qemu/qemu/commit/3da9de5ce22125c917f722f13f91a0e3b096a251
  Author: Peter Xu <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M chardev/char-socket.c

  Log Message:
  -----------
  chardev: update net listener gcontext

TCP chardevs can be using QIO network listeners working in the
background when in listening mode.  However the network listeners are
always running in main context.  This can race with chardevs that are
running in non-main contexts.

To solve this, we need to re-setup the net listeners in
tcp_chr_update_read_handler() with the newly cached gcontext.

Reviewed-by: Marc-André Lureau <address@hidden>
Signed-off-by: Peter Xu <address@hidden>
Message-Id: <address@hidden>
Acked-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: ce1230c054e97932660aecd9ba61ee31d461e339
      
https://github.com/qemu/qemu/commit/ce1230c054e97932660aecd9ba61ee31d461e339
  Author: Peter Xu <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M chardev/char-socket.c

  Log Message:
  -----------
  chardev: allow telnet gsource to switch gcontext

It was originally created by qio_channel_add_watch() so it's always
assigning the task to main context.  Now we use the new API called
qio_channel_add_watch_source() so that we get the GSource handle rather
than the tag ID.

Meanwhile, caching the gsource and TCPChardevTelnetInit (which holds the
handshake data) in SocketChardev.telnet_source so that we can also do
dynamic context switch when update read handlers.

Signed-off-by: Peter Xu <address@hidden>
Message-Id: <address@hidden>
Acked-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: c7278b43550f501a6d62388eb7a7e68a5b43c044
      
https://github.com/qemu/qemu/commit/c7278b43550f501a6d62388eb7a7e68a5b43c044
  Author: Peter Xu <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M chardev/char-mux.c
    M chardev/char.c
    M include/chardev/char-mux.h
    M include/chardev/char.h
    M tests/test-char.c

  Log Message:
  -----------
  chardev: introduce chr_machine_done hook

Introduce ChardevClass.chr_machine_done() hook so that chardevs can run
customized procedures after machine init.

There was an existing mux user already that did similar thing but used a
raw machine done notifier.  Generalize it into a framework, and let the
mux chardevs provide such a class-specific hook to achieve the same
thing.  Then we can move the mux related code to the char-mux.c file.

Since at it, replace the mux_realized variable with the global
machine_init_done varible.

This notifier framework will be further leverged by other type of
chardevs soon.

Signed-off-by: Peter Xu <address@hidden>
Message-Id: <address@hidden>
Acked-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 3e7d4d20d3a528b1ed10b1dc3d83119bfb0c5f24
      
https://github.com/qemu/qemu/commit/3e7d4d20d3a528b1ed10b1dc3d83119bfb0c5f24
  Author: Peter Xu <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M chardev/char-socket.c

  Log Message:
  -----------
  chardev: use chardev's gcontext for async connect

Generalize the function to create the async QIO task connection.  Also,
fix the context pointer to use the chardev's gcontext.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Peter Xu <address@hidden>
Message-Id: <address@hidden>
Acked-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 25679e5d58e258e9950685ffbd0cae4cd40d9cc2
      
https://github.com/qemu/qemu/commit/25679e5d58e258e9950685ffbd0cae4cd40d9cc2
  Author: Peter Xu <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M chardev/char-socket.c

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

This patch allows the socket chardev async connection be setup with
non-default gcontext.  We do it by postponing the setup to machine done,
since until then we can know which context we should run the async
operation on.

Reviewed-by: Paolo Bonzini <address@hidden>
Signed-off-by: Peter Xu <address@hidden>
Message-Id: <address@hidden>
Acked-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 05b6cc4ae2efbafad9b45a93bccfcae51d018043
      
https://github.com/qemu/qemu/commit/05b6cc4ae2efbafad9b45a93bccfcae51d018043
  Author: Peter Xu <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M chardev/char-socket.c

  Log Message:
  -----------
  chardev: tcp: let TLS run on chardev context

Now qio_channel_tls_handshake() is ready to receive the context.  Let
socket chardev use it, then the TLS handshake of chardev will always be
with the chardev's context.

Signed-off-by: Peter Xu <address@hidden>
Message-Id: <address@hidden>
Acked-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 4397a018473ae589be959ba93cb491cbd77fe789
      
https://github.com/qemu/qemu/commit/4397a018473ae589be959ba93cb491cbd77fe789
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/scsi/scsi-bus.c
    M hw/scsi/scsi-disk.c
    M tests/virtio-scsi-test.c

  Log Message:
  -----------
  scsi: support NDOB (no data-out buffer) for WRITE SAME commands

A NDOB bit set to one specifies that the disk shall not transfer data
from the data-out buffer and shall process the command as if the data-out
buffer contained user data set to all zeroes.

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


  Commit: 8cc436d9c513797291b531bbf06ef306f41e8c9b
      
https://github.com/qemu/qemu/commit/8cc436d9c513797291b531bbf06ef306f41e8c9b
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M default-configs/i386-softmmu.mak
    M default-configs/x86_64-softmmu.mak
    M hw/i386/Makefile.objs

  Log Message:
  -----------
  hw/i386: make IOMMUs configurable via default-configs/

Allow distributions to disable the Intel and/or AMD IOMMU devices.

Reviewed-by: Thomas Huth <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 7e563bfb8a5104ff0eed0fff8d13cbe63a25d17c
      
https://github.com/qemu/qemu/commit/7e563bfb8a5104ff0eed0fff8d13cbe63a25d17c
  Author: Thomas Huth <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M Makefile
    M bsd-user/main.c
    M configure
    M linux-user/main.c
    M qemu-img.c
    M qemu-io.c
    M qemu-nbd.c
    M qga/main.c
    M scsi/qemu-pr-helper.c
    M ui/cocoa.m
    M vl.c

  Log Message:
  -----------
  Polish the version strings containing the package version

Since commit 67a1de0d195a there is no space anymore between the
version number and the parentheses when running configure with
--with-pkgversion=foo :

 $ qemu-system-s390x --version
 QEMU emulator version 2.11.50(foo)

But the space is included when building without that option
when building from a git checkout:

 $ qemu-system-s390x --version
 QEMU emulator version 2.11.50 (v2.11.0-1494-gbec9c64-dirty)

The same confusion exists with the "query-version" QMP command.
Let's fix this by introducing a proper QEMU_FULL_VERSION definition
that includes the space and parentheses, while the QEMU_PKGVERSION
should just cleanly contain the package version string itself.
Note that this also changes the behavior of the "query-version" QMP
command (the space and parentheses are not included there anymore),
but that's supposed to be OK since the strings there are not meant
to be parsed by other tools.

Fixes: 67a1de0d195a6185c39b436159c9ffc7720bf979
Buglink: https://bugs.launchpad.net/qemu/+bug/1673373
Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 148b2ba1145af29a7afac349b8169790e06d6df4
      
https://github.com/qemu/qemu/commit/148b2ba1145af29a7afac349b8169790e06d6df4
  Author: Thomas Huth <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/mips/mips_jazz.c
    M hw/scsi/esp.c
    M include/hw/scsi/esp.h

  Log Message:
  -----------
  hw/mips/jazz: Fix implicit creation of "-drive if=scsi" devices

The global hack for creating SCSI devices has recently been removed,
but this apparently broke SCSI devices on some boards that were not
ready for this change yet. For the pica61 machine you now get:

$ mips64-softmmu/qemu-system-mips64 -M pica61 -cdrom x.iso
qemu-system-mips64: -cdrom x.iso: machine type does not support 
if=scsi,bus=0,unit=2

Fix it by calling scsi_bus_legacy_handle_cmdline() after creating the
corresponding SCSI controller.

Fixes: 1454509726719e0933c800fad00d6999752688ea
Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Hervé Poussineau <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: b9b758175424857a900c3253ffb8e55fa0a3fdd6
      
https://github.com/qemu/qemu/commit/b9b758175424857a900c3253ffb8e55fa0a3fdd6
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M tests/rcutorture.c

  Log Message:
  -----------
  rcutorture: remove synchronize_rcu from readers

This gives much worse numbers for readers, especially if synchronize_rcu
is made more expensive as is the case with --enable-membarrier.  Before:

   $ tests/rcutorture 10 stress 10
   n_reads: 98304  n_updates: 529  n_mberror: 0
   rcu_stress_count: 98302 2 0 0 0 0 0 0 0 0 0

After:

   $ tests/rcutorture 10 stress 10
   n_reads: 165158482  n_updates: 429  n_mberror: 0
   rcu_stress_count: 165154364 4118 0 0 0 0 0 0 0 0 0

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


  Commit: 729c0ddd3cdf16973d850b1ee7c5234a1e4dddbb
      
https://github.com/qemu/qemu/commit/729c0ddd3cdf16973d850b1ee7c5234a1e4dddbb
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M docs/devel/atomics.txt

  Log Message:
  -----------
  docs: document atomic_load_acquire and atomic_store_release

We will use them in the next patch, document what they do.

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


  Commit: 77a8b8462b02a10aea5cad389a8f9260f79ede36
      
https://github.com/qemu/qemu/commit/77a8b8462b02a10aea5cad389a8f9260f79ede36
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M include/qemu/rcu.h
    M util/rcu.c

  Log Message:
  -----------
  rcu: make memory barriers more explicit

Prepare for introducing smp_mb_placeholder() and smp_mb_global().
The new smp_mb() in synchronize_rcu() is not strictly necessary, since
the first atomic_mb_set for rcu_gp_ctr provides the required ordering.
However, synchronize_rcu is not performance critical, and it *will* be
necessary to introduce a smp_mb_global before calling wait_for_readers().

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


  Commit: c8d3877e48c4f57381d72eaf8d016bff12ce2d7c
      
https://github.com/qemu/qemu/commit/c8d3877e48c4f57381d72eaf8d016bff12ce2d7c
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M include/qemu/rcu.h
    A include/qemu/sys_membarrier.h
    M util/rcu.c

  Log Message:
  -----------
  membarrier: introduce qemu/sys_membarrier.h

This new header file provides heavy-weight "global" memory barriers that
enforce memory ordering on each running thread belonging to the current
process.  For now, use a dummy implementation that issues memory barriers
on both sides (matching what QEMU has been doing so far).

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


  Commit: a40161cbe9ccbcbab798c3e4d257c4bba99d153a
      
https://github.com/qemu/qemu/commit/a40161cbe9ccbcbab798c3e4d257c4bba99d153a
  Author: Paolo Bonzini <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M configure
    M include/qemu/sys_membarrier.h
    M util/Makefile.objs
    A util/sys_membarrier.c

  Log Message:
  -----------
  membarrier: add --enable-membarrier

Actually enable the global memory barriers if supported by the OS.
Because only recent versions of Linux include the support, they
are disabled by default.  Note that it also has to be disabled
for QEMU to run under Wine.

Before this patch, rcutorture reports 85 ns/read for my machine,
after the patch it reports 12.5 ns/read.  On the other hand updates
go from 50 *micro*seconds to 20 *milli*seconds.

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


  Commit: bb3d5ea858e7f888563a56c8e2d99df47882a4cf
      
https://github.com/qemu/qemu/commit/bb3d5ea858e7f888563a56c8e2d99df47882a4cf
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M MAINTAINERS
    M hw/char/Makefile.objs
    A hw/char/parallel-isa.c
    M hw/char/parallel.c
    M hw/i386/pc.c
    M hw/isa/isa-bus.c
    M hw/mips/mips_fulong2e.c
    M hw/mips/mips_jazz.c
    M hw/mips/mips_malta.c
    M hw/sparc64/sun4u.c
    A include/hw/char/parallel.h
    M include/hw/i386/pc.h

  Log Message:
  -----------
  hw/isa: Move parallel_hds_isa_init() to hw/char/parallel-isa.c

Again... (after 07dc788054d7 and 9157eee1b1c0).

We now extract the ISA bus specific helpers.

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


  Commit: 55f613ac25420384b2c4645420fea2f9bab15379
      
https://github.com/qemu/qemu/commit/55f613ac25420384b2c4645420fea2f9bab15379
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M MAINTAINERS
    M hw/dma/i82374.c
    M hw/dma/i8257.c
    M hw/i386/pc.c
    M hw/mips/mips_fulong2e.c
    M hw/mips/mips_jazz.c
    M hw/mips/mips_malta.c
    M hw/sparc/sun4m.c
    M hw/sparc64/sun4u.c
    A include/hw/dma/i8257.h
    R include/hw/isa/i8257.h
    M include/hw/isa/isa.h

  Log Message:
  -----------
  hw/dma/i8257: Rename DMA_init() to i8257_dma_init()

- Move the header from hw/isa/ to hw/dma/
- Remove the old i386/pc dependency
- use a bool type for the high_page_enable argument

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


  Commit: 47973a2dbfad7fd584f37ca57d79097c9f220e93
      
https://github.com/qemu/qemu/commit/47973a2dbfad7fd584f37ca57d79097c9f220e93
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M MAINTAINERS
    M hw/alpha/dp264.c
    M hw/i386/pc.c
    M hw/i386/vmmouse.c
    M hw/i386/vmport.c
    M hw/input/pckbd.c
    M hw/mips/mips_fulong2e.c
    M hw/mips/mips_jazz.c
    M hw/mips/mips_malta.c
    M hw/mips/mips_r4k.c
    M hw/ppc/prep.c
    M hw/sparc64/sun4u.c
    M hw/unicore32/puv3.c
    M include/hw/i386/pc.h
    A include/hw/input/i8042.h

  Log Message:
  -----------
  hw/input/i8042: Extract declarations from i386/pc.h into input/i8042.h

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Acked-by: David Gibson <address@hidden> (hw/ppc)
Message-Id: <address@hidden>
Reviewed-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: a48c6b5155bf542b14d6a6fc04f627eb2cb62967
      
https://github.com/qemu/qemu/commit/a48c6b5155bf542b14d6a6fc04f627eb2cb62967
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Fix the PC87312 include path

Missed while moving it in 0d09e41a51aa.

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


  Commit: 010d2dc4731d00d6c8e05ad333104d258180c19a
      
https://github.com/qemu/qemu/commit/010d2dc4731d00d6c8e05ad333104d258180c19a
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/isa/pc87312.c
    M hw/ppc/prep.c
    M include/hw/isa/pc87312.h

  Log Message:
  -----------
  hw/isa/pc87312: Rename the device type as TYPE_PC87312_SUPERIO

Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Acked-by: David Gibson <address@hidden> (hw/ppc)
Message-Id: <address@hidden>
Reviewed-by: Mark Cave-Ayland <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 4e00105a76c9c3502ca1fec0c73ea3f57b72f21b
      
https://github.com/qemu/qemu/commit/4e00105a76c9c3502ca1fec0c73ea3f57b72f21b
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/isa/pc87312.c
    M include/hw/isa/pc87312.h

  Log Message:
  -----------
  hw/isa/pc87312: Use uint16_t for the ISA I/O base address

This matches the isa_register_ioport() prototype.

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


  Commit: 818c9d992f5b8db2c46f9171ec69055f1b0bdf5c
      
https://github.com/qemu/qemu/commit/818c9d992f5b8db2c46f9171ec69055f1b0bdf5c
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/isa/pc87312.c

  Log Message:
  -----------
  hw/isa/pc87312: Use 'unsigned int' for the irq value

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


  Commit: 1854eb287e77c07b2089b42319e23c7c0df8a2f1
      
https://github.com/qemu/qemu/commit/1854eb287e77c07b2089b42319e23c7c0df8a2f1
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M MAINTAINERS
    M hw/isa/Makefile.objs
    A hw/isa/isa-superio.c
    A include/hw/isa/superio.h

  Log Message:
  -----------
  hw/isa/superio: Add a Super I/O template based on the PC87312 device

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


  Commit: 63f01a74aeeb9c4fb39e2b4100beb084f5c10c95
      
https://github.com/qemu/qemu/commit/63f01a74aeeb9c4fb39e2b4100beb084f5c10c95
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/isa/pc87312.c
    M include/hw/isa/pc87312.h

  Log Message:
  -----------
  hw/isa/pc87312: Inherit from the abstract TYPE_ISA_SUPERIO

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


  Commit: 4c3119a6e3ea7bdab718015b6f5176cfaf52f7ce
      
https://github.com/qemu/qemu/commit/4c3119a6e3ea7bdab718015b6f5176cfaf52f7ce
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/isa/isa-superio.c
    M hw/isa/pc87312.c
    M hw/isa/trace-events
    M include/hw/isa/pc87312.h
    M include/hw/isa/superio.h

  Log Message:
  -----------
  hw/isa/superio: Factor out the parallel code from pc87312.c

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


  Commit: cd9526ab7c04f2c32c63340b04401f6ed25682b9
      
https://github.com/qemu/qemu/commit/cd9526ab7c04f2c32c63340b04401f6ed25682b9
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/isa/isa-superio.c
    M hw/isa/pc87312.c
    M hw/isa/trace-events
    M include/hw/isa/pc87312.h
    M include/hw/isa/superio.h

  Log Message:
  -----------
  hw/isa/superio: Factor out the serial code from pc87312.c

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


  Commit: 6f6695b13638b0a4bfd9f75c022a9a7c55fb0b51
      
https://github.com/qemu/qemu/commit/6f6695b13638b0a4bfd9f75c022a9a7c55fb0b51
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/isa/isa-superio.c
    M hw/isa/pc87312.c
    M hw/isa/trace-events
    M include/hw/isa/pc87312.h
    M include/hw/isa/superio.h

  Log Message:
  -----------
  hw/isa/superio: Factor out the floppy disc controller code from pc87312.c

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


  Commit: 72d3d8f052a19abc455ddc88efef75c407ac7c8d
      
https://github.com/qemu/qemu/commit/72d3d8f052a19abc455ddc88efef75c407ac7c8d
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/isa/isa-superio.c
    M hw/ppc/prep.c
    M include/hw/isa/superio.h

  Log Message:
  -----------
  hw/isa/superio: Add a keyboard/mouse controller (8042)

Since the PC87312 inherits this abstract model, we remove the I8042
instance in the PREP machine.

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


  Commit: c16a4e1bc5e76a65cfa38266a1d9e88806b4bddf
      
https://github.com/qemu/qemu/commit/c16a4e1bc5e76a65cfa38266a1d9e88806b4bddf
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/isa/isa-superio.c
    M hw/isa/pc87312.c
    M hw/isa/trace-events
    M include/hw/isa/superio.h

  Log Message:
  -----------
  hw/isa/superio: Factor out the IDE code from pc87312.c

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


  Commit: 78f16256c157394522b0abae1dda0bfcbb11c068
      
https://github.com/qemu/qemu/commit/78f16256c157394522b0abae1dda0bfcbb11c068
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/mips/mips_malta.c

  Log Message:
  -----------
  hw/mips/malta: Code movement

Move the SouthBridge peripherals first, and keep the Super I/O
peripherals last.

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


  Commit: 7313b1f28bec390d03ec4b84146fbea43487f2ae
      
https://github.com/qemu/qemu/commit/7313b1f28bec390d03ec4b84146fbea43487f2ae
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/isa/isa-superio.c
    M hw/mips/mips_malta.c
    M include/hw/isa/superio.h

  Log Message:
  -----------
  hw/isa/superio: Factor out the FDC37M817 Super I/O from mips_malta.c

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


  Commit: 5c961c3fb11b19ac52385859ea03a10219892ff8
      
https://github.com/qemu/qemu/commit/5c961c3fb11b19ac52385859ea03a10219892ff8
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/mips/mips_fulong2e.c

  Log Message:
  -----------
  hw/mips/mips_fulong2e: Factor out vt82c686b_southbridge_init()

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


  Commit: 728d89100367a0000315fcb96dd251caa0e84bbd
      
https://github.com/qemu/qemu/commit/728d89100367a0000315fcb96dd251caa0e84bbd
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/isa/vt82c686.c
    M hw/mips/mips_fulong2e.c
    M include/hw/isa/vt82c686.h

  Log Message:
  -----------
  hw/isa/vt82c686: Rename vt82c686b_init() -> vt82c686b_isa_init()

This function only initialize the ISA bus.

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


  Commit: 98cf824b5f82b78ee1d6411b4e304a13f5f92502
      
https://github.com/qemu/qemu/commit/98cf824b5f82b78ee1d6411b4e304a13f5f92502
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/isa/vt82c686.c
    M hw/mips/mips_fulong2e.c
    M include/hw/isa/vt82c686.h

  Log Message:
  -----------
  hw/isa/vt82c686: Add the TYPE_VT82C686B_SUPERIO

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


  Commit: 0170a3fcb3b8ed03fbf55e71b731c829137a3c3c
      
https://github.com/qemu/qemu/commit/0170a3fcb3b8ed03fbf55e71b731c829137a3c3c
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add entries for the VT82C686B Super I/O

So far, it is only used by the MIPS Fulong 2E mini PC.

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


  Commit: b250d04a3b39bec01f79d376777823870703f45b
      
https://github.com/qemu/qemu/commit/b250d04a3b39bec01f79d376777823870703f45b
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Split the Alpha TCG/machine section

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


  Commit: 7bea0dd434e5cf5b26c28f06d4e2e912bf397b77
      
https://github.com/qemu/qemu/commit/7bea0dd434e5cf5b26c28f06d4e2e912bf397b77
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M MAINTAINERS
    M hw/isa/Makefile.objs
    A hw/isa/smc37c669-superio.c
    M include/hw/isa/superio.h

  Log Message:
  -----------
  hw/isa/superio: Add the SMC FDC37C669 Super I/O

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


  Commit: f4564fc0e8138bdc33c9783991f7173645a1396a
      
https://github.com/qemu/qemu/commit/f4564fc0e8138bdc33c9783991f7173645a1396a
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M default-configs/alpha-softmmu.mak
    M hw/alpha/dp264.c

  Log Message:
  -----------
  hw/alpha/dp264: Add the ISA DMA controller

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


  Commit: a4cb773928e047b137c6998209cf2eec857fac6b
      
https://github.com/qemu/qemu/commit/a4cb773928e047b137c6998209cf2eec857fac6b
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M default-configs/alpha-softmmu.mak
    M hw/alpha/dp264.c

  Log Message:
  -----------
  hw/alpha/dp264: Use the TYPE_SMC37C669_SUPERIO

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


  Commit: ac64273c66ab136c44043259162a89ec89d21e22
      
https://github.com/qemu/qemu/commit/ac64273c66ab136c44043259162a89ec89d21e22
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M hw/i386/pc.c

  Log Message:
  -----------
  hw/i386/pc: Factor out the superio code

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


  Commit: 5f3bdfd4fa33255542a4b6249913d9ffb11b44f9
      
https://github.com/qemu/qemu/commit/5f3bdfd4fa33255542a4b6249913d9ffb11b44f9
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M accel/tcg/cpu-exec.c

  Log Message:
  -----------
  cpu-exec: fix exception_index handling

Function cpu_handle_interrupt calls cc->cpu_exec_interrupt to process
pending hardware interrupts. Under the hood cpu_exec_interrupt uses
cpu->exception_index to pass information to the internal function which
is usually common for exception and interrupt processing.
But this value is not reset after return and may be processed again
by cpu_handle_exception. This does not happen due to overwriting
the exception_index at the end of cpu_handle_interrupt.
But this branch may also overwrite the valid exception_index in some cases.
Therefore this patch:
 1. resets exception_index just after the call to cpu_exec_interrupt
 2. prevents overwriting the meaningful value of exception_index

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


  Commit: 1a96e3c1e7dbb466a8c93743b8f5ae37cc023766
      
https://github.com/qemu/qemu/commit/1a96e3c1e7dbb466a8c93743b8f5ae37cc023766
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M replay/replay-events.c

  Log Message:
  -----------
  replay: fix processing async events

Asynchronous events saved at checkpoints may invoke
callbacks when processed. These callbacks may also generate/read
new events (e.g. clock reads). Therefore event processing flag must be
reset before callback invocation.

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


  Commit: 1652e0c30f28b755fde72d363634a586f133dc20
      
https://github.com/qemu/qemu/commit/1652e0c30f28b755fde72d363634a586f133dc20
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M replay/replay-events.c

  Log Message:
  -----------
  replay: fixed replay_enable_events

This patch fixes assignment to internal events_enabled variable.
Now it is set only in record/replay mode. This affects the behavior
of the external functions that check this flag.

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


  Commit: 377b21ccea1755a8b0dae822c29567c58dda6939
      
https://github.com/qemu/qemu/commit/377b21ccea1755a8b0dae822c29567c58dda6939
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M include/sysemu/replay.h
    M migration/savevm.c
    M replay/replay-snapshot.c

  Log Message:
  -----------
  replay: fix save/load vm for non-empty queue

This patch does not allows saving/loading vmstate when
replay events queue is not empty. There is no reliable
way to save events queue, because it describes internal
coroutine state. Therefore saving and loading operations
should be deferred to another record/replay step.

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


  Commit: bb040e006f0245ca376b45dc5ea247f6e1f02648
      
https://github.com/qemu/qemu/commit/bb040e006f0245ca376b45dc5ea247f6e1f02648
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M docs/replay.txt

  Log Message:
  -----------
  replay: added replay log format description

This patch adds description of the replay log file format
into the docs/replay.txt.

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


  Commit: 4b930d264cea0d72e775a7a57a8fce79158e8c10
      
https://github.com/qemu/qemu/commit/4b930d264cea0d72e775a7a57a8fce79158e8c10
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

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

  Log Message:
  -----------
  replay: save prior value of the host clock

This patch adds saving/restoring of the host clock field 'last'.
It is used in host clock calculation and therefore clock may
become incorrect when using restored vmstate.

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


  Commit: 80be169c1fd178ed18d17012b7cdc09850ea8cd7
      
https://github.com/qemu/qemu/commit/80be169c1fd178ed18d17012b7cdc09850ea8cd7
  Author: Alex Bennée <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

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

  Log Message:
  -----------
  replay/replay.c: bump REPLAY_VERSION again

This time commit 802f045a5f61b781df55e4492d896b4d20503ba7 broke the
replay file format. Also add a comment about this to
replay-internal.h.

Signed-off-by: Alex Bennée <address@hidden>
Reviewed-off-by: Pavel Dovgalyuk <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 180d30bebeff8e3687b50bd55d44e6a5a83bc4da
      
https://github.com/qemu/qemu/commit/180d30bebeff8e3687b50bd55d44e6a5a83bc4da
  Author: Alex Bennée <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M replay/replay-internal.c

  Log Message:
  -----------
  replay/replay-internal.c: track holding of replay_lock

This is modelled after the iothread mutex lock. We keep a TLS flag to
indicate when that thread has acquired the lock and assert we don't
double-lock or release when we shouldn't have.

Signed-off-by: Alex Bennée <address@hidden>
Tested-by: Pavel Dovgalyuk <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: a36544d34c8b7e483386d29f9716ca9f4caad9fb
      
https://github.com/qemu/qemu/commit/a36544d34c8b7e483386d29f9716ca9f4caad9fb
  Author: Alex Bennée <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M include/sysemu/replay.h
    M replay/replay-internal.c
    M replay/replay-internal.h
    M stubs/replay.c

  Log Message:
  -----------
  replay: make locking visible outside replay code

The replay_mutex_lock/unlock/locked functions are now going to be used
for ensuring lock-step behaviour between the two threads. Make them
public API functions and also provide stubs for non-QEMU builds on
common paths.

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


  Commit: 1a423896fa4fc2ea49c64e7a493d88a8b251950d
      
https://github.com/qemu/qemu/commit/1a423896fa4fc2ea49c64e7a493d88a8b251950d
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

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

  Log Message:
  -----------
  replay: don't destroy mutex at exit

Replay mutex is held by vCPU thread and destroy function is called
from atexit of the main thread. Therefore we cannot destroy it safely.

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


  Commit: d759c951f3287fad04210a52f2dc93f94cf58c7f
      
https://github.com/qemu/qemu/commit/d759c951f3287fad04210a52f2dc93f94cf58c7f
  Author: Alex Bennée <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M cpus.c
    M docs/replay.txt
    M replay/replay-audio.c
    M replay/replay-char.c
    M replay/replay-events.c
    M replay/replay-internal.c
    M replay/replay-time.c
    M replay/replay.c
    M util/main-loop.c
    M vl.c

  Log Message:
  -----------
  replay: push replay_mutex_lock up the call tree

Now instead of using the replay_lock to guard the output of the log we
now use it to protect the whole execution section. This replaces what
the BQL used to do when it was held during TCG execution.

We also introduce some rules for locking order - mainly that you
cannot take the replay_mutex while holding the BQL. This leads to some
slight sophistry during start-up and extending the
replay_mutex_destroy function to unlock the mutex without checking
for the BQL condition so it can be cleanly dropped in the non-replay
case.

Signed-off-by: Alex Bennée <address@hidden>
Signed-off-by: Pavel Dovgalyuk <address@hidden>
Tested-by: Pavel Dovgalyuk <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Alex Bennée <address@hidden>


  Commit: 6dc0f5296359ff59c248215a965c8658dea9544b
      
https://github.com/qemu/qemu/commit/6dc0f5296359ff59c248215a965c8658dea9544b
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M replay/replay-internal.c

  Log Message:
  -----------
  replay: check return values of fwrite

This patch adds error reporting when fwrite cannot completely
save the buffer to the file.

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


  Commit: 66eb7825d0bd84a870a054fb208fe765317109fa
      
https://github.com/qemu/qemu/commit/66eb7825d0bd84a870a054fb208fe765317109fa
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M replay/replay.c

  Log Message:
  -----------
  replay: avoid recursive call of checkpoints

This patch adds a flag which denies recursive call of replay_checkpoint
function. Checkpoints may be accompanied by the hardware events. When event
is processed, virtual device may invoke timer modification functions that
also invoke the checkpoint function. This leads to infinite loop.

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


  Commit: 821c113033075d4f1b50966d92022a1064085422
      
https://github.com/qemu/qemu/commit/821c113033075d4f1b50966d92022a1064085422
  Author: Alex Bennée <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    A scripts/replay-dump.py

  Log Message:
  -----------
  scripts/replay-dump.py: replay log dumper

This script is a debugging tool for looking through the contents of a
replay log file. It is incomplete but should fail gracefully at events
it doesn't understand.

It currently understands two different log formats as the audio
record/replay support was merged during since MTTCG. It was written to
help debug what has caused the BQL changes to break replay support.

Signed-off-by: Alex Bennée <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 89e46eb477113550485bc24264d249de9fd1260a
      
https://github.com/qemu/qemu/commit/89e46eb477113550485bc24264d249de9fd1260a
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

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

  Log Message:
  -----------
  replay: don't process async events when warping the clock

Virtual clock is warped from iothread and vcpu thread. When the hardware
events associated with warp checkpoint, then interrupt delivering may be
non-deterministic if checkpoint is processed in different threads in record
and replay.
This patch disables event processing for clock warp checkpoint and leaves
all hardware events to other checkpoints (e.g., virtual clock).

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


  Commit: 0b30dc0164eeb4df059b5e5ce8c5796152b821e0
      
https://github.com/qemu/qemu/commit/0b30dc0164eeb4df059b5e5ce8c5796152b821e0
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

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

  Log Message:
  -----------
  replay: save vmstate of the asynchronous events

This patch fixes saving and loading the snapshots in the replay mode.
It is required for the snapshots created in the moment when the header
of the asynchronous event is read. This information was not saved in
the snapshot. After loading the vmstate replay continued with the file offset
passed the event header. The event header is lost in this case and replay
hangs.

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


  Commit: 7273db9d28d5e1b7a6c202a5054861c1f0bcc446
      
https://github.com/qemu/qemu/commit/7273db9d28d5e1b7a6c202a5054861c1f0bcc446
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

  Changed paths:
    M docs/replay.txt

  Log Message:
  -----------
  replay: update documentation

This patch clarifies the description of the record/replay feature
in docs/replay.txt

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


  Commit: 0790f86861079b1932679d0f011e431aaf4ee9e2
      
https://github.com/qemu/qemu/commit/0790f86861079b1932679d0f011e431aaf4ee9e2
  Author: Pavel Dovgalyuk <address@hidden>
  Date:   2018-03-12 (Mon, 12 Mar 2018)

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

  Log Message:
  -----------
  tcg: fix cpu_io_recompile

cpu_io_recompile() function was broken by
the commit 9b990ee5a3cc6aa38f81266fb0c6ef37a36c45b9. Instead of regenerating
the block starting from PC of the original block, it just set the instruction
counter for TCG. In most cases this was unnoticed, but in icount mode
there was an exception for incorrect usage of CF_LAST_IO flag.
This patch recovers recompilation of the original block and also
configures translation for executing single IO instruction which
caused a recompilation.

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


  Commit: 3788c7b6e56fa34ee2a73e41706eb2a2447ba75a
      
https://github.com/qemu/qemu/commit/3788c7b6e56fa34ee2a73e41706eb2a2447ba75a
  Author: Peter Maydell <address@hidden>
  Date:   2018-03-16 (Fri, 16 Mar 2018)

  Changed paths:
    M MAINTAINERS
    M Makefile
    M accel/tcg/cpu-exec.c
    M accel/tcg/translate-all.c
    M bsd-user/main.c
    M chardev/char-mux.c
    M chardev/char-socket.c
    M chardev/char.c
    M configure
    M cpus.c
    M default-configs/alpha-softmmu.mak
    M default-configs/i386-softmmu.mak
    M default-configs/x86_64-softmmu.mak
    M docs/devel/atomics.txt
    M docs/replay.txt
    M hw/alpha/dp264.c
    M hw/arm/highbank.c
    M hw/arm/msf2-soc.c
    M hw/arm/realview.c
    M hw/arm/tosa.c
    M hw/char/Makefile.objs
    A hw/char/parallel-isa.c
    M hw/char/parallel.c
    M hw/dma/i82374.c
    M hw/dma/i8257.c
    M hw/i386/Makefile.objs
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/i386/vmmouse.c
    M hw/i386/vmport.c
    M hw/ide/ahci-allwinner.c
    M hw/ide/cmd646.c
    M hw/ide/ich.c
    M hw/ide/isa.c
    M hw/ide/microdrive.c
    M hw/ide/mmio.c
    M hw/input/pckbd.c
    M hw/isa/Makefile.objs
    M hw/isa/isa-bus.c
    A hw/isa/isa-superio.c
    M hw/isa/pc87312.c
    A hw/isa/smc37c669-superio.c
    M hw/isa/trace-events
    M hw/isa/vt82c686.c
    M hw/mips/mips_fulong2e.c
    M hw/mips/mips_jazz.c
    M hw/mips/mips_malta.c
    M hw/mips/mips_r4k.c
    M hw/pci/pci.c
    M hw/ppc/e500.c
    M hw/ppc/mac_newworld.c
    M hw/ppc/mac_oldworld.c
    M hw/ppc/prep.c
    M hw/scsi/esp.c
    M hw/scsi/mptendian.c
    M hw/scsi/scsi-bus.c
    M hw/scsi/scsi-disk.c
    M hw/sd/core.c
    M hw/sparc/sun4m.c
    M hw/sparc64/sun4u.c
    M hw/tricore/tricore_testboard.c
    M hw/unicore32/puv3.c
    M include/chardev/char-mux.h
    M include/chardev/char.h
    A include/hw/char/parallel.h
    A include/hw/dma/i8257.h
    M include/hw/i386/pc.h
    A include/hw/input/i8042.h
    R include/hw/isa/i8257.h
    M include/hw/isa/isa.h
    M include/hw/isa/pc87312.h
    A include/hw/isa/superio.h
    M include/hw/isa/vt82c686.h
    M include/hw/scsi/esp.h
    M include/qemu/rcu.h
    A include/qemu/sys_membarrier.h
    M include/qemu/timer.h
    M include/qom/object.h
    M include/sysemu/replay.h
    M include/sysemu/sysemu.h
    M linux-user/main.c
    M migration/savevm.c
    M qdev-monitor.c
    M qemu-doc.texi
    M qemu-img.c
    M qemu-io.c
    M qemu-nbd.c
    M qga/main.c
    M qom/object.c
    M replay/replay-audio.c
    M replay/replay-char.c
    M replay/replay-events.c
    M replay/replay-internal.c
    M replay/replay-internal.h
    M replay/replay-snapshot.c
    M replay/replay-time.c
    M replay/replay.c
    M scripts/checkpatch.pl
    A scripts/replay-dump.py
    M scsi/qemu-pr-helper.c
    M stubs/machine-init-done.c
    M stubs/replay.c
    M target/alpha/cpu.c
    M target/hppa/cpu.c
    M target/lm32/cpu.c
    M target/sh4/cpu.c
    M target/tricore/helper.c
    M tests/rcutorture.c
    M tests/test-char.c
    M tests/virtio-scsi-test.c
    M ui/cocoa.m
    M util/Makefile.objs
    M util/main-loop.c
    M util/qemu-timer.c
    M util/rcu.c
    A util/sys_membarrier.c
    M vl.c

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

* Record-replay lockstep execution, log dumper and fixes (Alex, Pavel)
* SCSI fix to pass maximum transfer size (Daniel Barboza)
* chardev fixes and improved iothread support (Daniel Berrangé, Peter)
* checkpatch tweak (Eric)
* make help tweak (Marc-André)
* make more PCI NICs available with -net or -nic (myself)
* change default q35 NIC to e1000e (myself)
* SCSI support for NDOB bit (myself)
* membarrier system call support (myself)
* SuperIO refactoring (Philippe)
* miscellaneous cleanups and fixes (Thomas)

# gpg: Signature made Mon 12 Mar 2018 16:10:52 GMT
# 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: (69 commits)
  tcg: fix cpu_io_recompile
  replay: update documentation
  replay: save vmstate of the asynchronous events
  replay: don't process async events when warping the clock
  scripts/replay-dump.py: replay log dumper
  replay: avoid recursive call of checkpoints
  replay: check return values of fwrite
  replay: push replay_mutex_lock up the call tree
  replay: don't destroy mutex at exit
  replay: make locking visible outside replay code
  replay/replay-internal.c: track holding of replay_lock
  replay/replay.c: bump REPLAY_VERSION again
  replay: save prior value of the host clock
  replay: added replay log format description
  replay: fix save/load vm for non-empty queue
  replay: fixed replay_enable_events
  replay: fix processing async events
  cpu-exec: fix exception_index handling
  hw/i386/pc: Factor out the superio code
  hw/alpha/dp264: Use the TYPE_SMC37C669_SUPERIO
  ...

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

# Conflicts:
#       default-configs/i386-softmmu.mak
#       default-configs/x86_64-softmmu.mak


Compare: https://github.com/qemu/qemu/compare/a57946ff2acb...3788c7b6e56f

reply via email to

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