Branch: refs/heads/master Home: https://github.com/qemu/qemu Commit: 47c66009ab793241e8210b3018c77a9ce9506aa8 https://github.com/qemu/qemu/commit/47c66009ab793241e8210b3018c77a9ce9506aa8 Author: Paolo Bonzini <pbonz...@redhat.com> 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é <f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 52310c3fa7dc854dd2376ae8a518141abcdb78f3 https://github.com/qemu/qemu/commit/52310c3fa7dc854dd2376ae8a518141abcdb78f3 Author: Paolo Bonzini <pbonz...@redhat.com> 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 <th...@redhat.com> Reviewed-by: Thomas Huth <th...@redhat.com> Reviewed-by: Jason Wang <jasow...@redhat.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 4b9c264bd286af7d65892821d19e13b17259b6c4 https://github.com/qemu/qemu/commit/4b9c264bd286af7d65892821d19e13b17259b6c4 Author: Paolo Bonzini <pbonz...@redhat.com> 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 <jasow...@redhat.com> Reviewed-by: Thomas Huth <th...@redhat.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: d082d16a5c521907190c58cb7e4ff5eed5c48ab1 https://github.com/qemu/qemu/commit/d082d16a5c521907190c58cb7e4ff5eed5c48ab1 Author: Daniel Henrique Barboza <danie...@linux.vnet.ibm.com> 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 <danie...@linux.vnet.ibm.com> Reviewed-by: Fam Zheng <f...@redhat.com> Message-Id: <20180306154411.18462-1-danie...@linux.vnet.ibm.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: fb8152181db0df60285ec28df1be724632568569 https://github.com/qemu/qemu/commit/fb8152181db0df60285ec28df1be724632568569 Author: Paolo Bonzini <pbonz...@redhat.com> 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 <jasow...@redhat.com> Acked-by: Thomas Huth <th...@redhat.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: e12c8198cf473afbec3f634a45047067773143a9 https://github.com/qemu/qemu/commit/e12c8198cf473afbec3f634a45047067773143a9 Author: Thomas Huth <th...@redhat.com> 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 <th...@redhat.com> Message-Id: <1520405769-22179-1-git-send-email-th...@redhat.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 0decdfe29ba6e6c9253af342916395b182bd4f84 https://github.com/qemu/qemu/commit/0decdfe29ba6e6c9253af342916395b182bd4f84 Author: Marc-André Lureau <marcandre.lur...@redhat.com> 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 <marcandre.lur...@redhat.com> Message-Id: <20180306161728.20890-1-marcandre.lur...@redhat.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 7eceff5b5a1faa394929cacfd3520caa5b3edf42 https://github.com/qemu/qemu/commit/7eceff5b5a1faa394929cacfd3520caa5b3edf42 Author: Thomas Huth <th...@redhat.com> 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 <th...@redhat.com> Message-Id: <1518684912-31637-1-git-send-email-th...@redhat.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 205f31a81adbd06830f2048ec00d729ebd67efa6 https://github.com/qemu/qemu/commit/205f31a81adbd06830f2048ec00d729ebd67efa6 Author: Eric Blake <ebl...@redhat.com> 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 <stefa...@redhat.com> Suggested-by: Peter Maydell <peter.mayd...@linaro.org> Signed-off-by: Eric Blake <ebl...@redhat.com> Message-Id: <20180222215838.18223-1-ebl...@redhat.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: c8ca2a23a953bcda04b5e10380f462526ed1ed89 https://github.com/qemu/qemu/commit/c8ca2a23a953bcda04b5e10380f462526ed1ed89 Author: Peter Xu <pet...@redhat.com> 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 <pbonz...@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> Signed-off-by: Peter Xu <pet...@redhat.com> Message-Id: <20180306053320.15401-2-pet...@redhat.com> Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> Acked-by: Stefan Hajnoczi <stefa...@redhat.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: c863fdec6aff6b5a4ca8fff1537b80d9f8b97726 https://github.com/qemu/qemu/commit/c863fdec6aff6b5a4ca8fff1537b80d9f8b97726 Author: Daniel P. Berrangé <berra...@redhat.com> 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 <berra...@redhat.com> 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 <marcandre.lur...@redhat.com> 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 <rnd...@yandex.ru> Signed-off-by: Daniel P. Berrangé <berra...@redhat.com> Message-Id: <20180222121351.26191-1-berra...@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 3da9de5ce22125c917f722f13f91a0e3b096a251 https://github.com/qemu/qemu/commit/3da9de5ce22125c917f722f13f91a0e3b096a251 Author: Peter Xu <pet...@redhat.com> 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 <marcandre.lur...@redhat.com> Signed-off-by: Peter Xu <pet...@redhat.com> Message-Id: <20180306053320.15401-4-pet...@redhat.com> Acked-by: Stefan Hajnoczi <stefa...@redhat.com> Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: ce1230c054e97932660aecd9ba61ee31d461e339 https://github.com/qemu/qemu/commit/ce1230c054e97932660aecd9ba61ee31d461e339 Author: Peter Xu <pet...@redhat.com> 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 <pet...@redhat.com> Message-Id: <20180306053320.15401-5-pet...@redhat.com> Acked-by: Stefan Hajnoczi <stefa...@redhat.com> Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: c7278b43550f501a6d62388eb7a7e68a5b43c044 https://github.com/qemu/qemu/commit/c7278b43550f501a6d62388eb7a7e68a5b43c044 Author: Peter Xu <pet...@redhat.com> 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 <pet...@redhat.com> Message-Id: <20180306053320.15401-6-pet...@redhat.com> Acked-by: Stefan Hajnoczi <stefa...@redhat.com> Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 3e7d4d20d3a528b1ed10b1dc3d83119bfb0c5f24 https://github.com/qemu/qemu/commit/3e7d4d20d3a528b1ed10b1dc3d83119bfb0c5f24 Author: Peter Xu <pet...@redhat.com> 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 <pbonz...@redhat.com> Signed-off-by: Peter Xu <pet...@redhat.com> Message-Id: <20180306053320.15401-7-pet...@redhat.com> Acked-by: Stefan Hajnoczi <stefa...@redhat.com> Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 25679e5d58e258e9950685ffbd0cae4cd40d9cc2 https://github.com/qemu/qemu/commit/25679e5d58e258e9950685ffbd0cae4cd40d9cc2 Author: Peter Xu <pet...@redhat.com> 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 <pbonz...@redhat.com> Signed-off-by: Peter Xu <pet...@redhat.com> Message-Id: <20180306053320.15401-8-pet...@redhat.com> Acked-by: Stefan Hajnoczi <stefa...@redhat.com> Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 05b6cc4ae2efbafad9b45a93bccfcae51d018043 https://github.com/qemu/qemu/commit/05b6cc4ae2efbafad9b45a93bccfcae51d018043 Author: Peter Xu <pet...@redhat.com> 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 <pet...@redhat.com> Message-Id: <20180306053320.15401-9-pet...@redhat.com> Acked-by: Stefan Hajnoczi <stefa...@redhat.com> Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 4397a018473ae589be959ba93cb491cbd77fe789 https://github.com/qemu/qemu/commit/4397a018473ae589be959ba93cb491cbd77fe789 Author: Paolo Bonzini <pbonz...@redhat.com> 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 <pbonz...@redhat.com> Commit: 8cc436d9c513797291b531bbf06ef306f41e8c9b https://github.com/qemu/qemu/commit/8cc436d9c513797291b531bbf06ef306f41e8c9b Author: Paolo Bonzini <pbonz...@redhat.com> 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 <th...@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 7e563bfb8a5104ff0eed0fff8d13cbe63a25d17c https://github.com/qemu/qemu/commit/7e563bfb8a5104ff0eed0fff8d13cbe63a25d17c Author: Thomas Huth <th...@redhat.com> 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 <th...@redhat.com> Message-Id: <1518692807-25859-1-git-send-email-th...@redhat.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 148b2ba1145af29a7afac349b8169790e06d6df4 https://github.com/qemu/qemu/commit/148b2ba1145af29a7afac349b8169790e06d6df4 Author: Thomas Huth <th...@redhat.com> 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 <th...@redhat.com> Message-Id: <1520414644-11535-1-git-send-email-th...@redhat.com> Reviewed-by: Hervé Poussineau <hpous...@reactos.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: b9b758175424857a900c3253ffb8e55fa0a3fdd6 https://github.com/qemu/qemu/commit/b9b758175424857a900c3253ffb8e55fa0a3fdd6 Author: Paolo Bonzini <pbonz...@redhat.com> 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 <pbonz...@redhat.com> Commit: 729c0ddd3cdf16973d850b1ee7c5234a1e4dddbb https://github.com/qemu/qemu/commit/729c0ddd3cdf16973d850b1ee7c5234a1e4dddbb Author: Paolo Bonzini <pbonz...@redhat.com> 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 <pbonz...@redhat.com> Commit: 77a8b8462b02a10aea5cad389a8f9260f79ede36 https://github.com/qemu/qemu/commit/77a8b8462b02a10aea5cad389a8f9260f79ede36 Author: Paolo Bonzini <pbonz...@redhat.com> 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 <pbonz...@redhat.com> Commit: c8d3877e48c4f57381d72eaf8d016bff12ce2d7c https://github.com/qemu/qemu/commit/c8d3877e48c4f57381d72eaf8d016bff12ce2d7c Author: Paolo Bonzini <pbonz...@redhat.com> 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 <pbonz...@redhat.com> Commit: a40161cbe9ccbcbab798c3e4d257c4bba99d153a https://github.com/qemu/qemu/commit/a40161cbe9ccbcbab798c3e4d257c4bba99d153a Author: Paolo Bonzini <pbonz...@redhat.com> 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 <pbonz...@redhat.com> Commit: bb3d5ea858e7f888563a56c8e2d99df47882a4cf https://github.com/qemu/qemu/commit/bb3d5ea858e7f888563a56c8e2d99df47882a4cf Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-2-f4...@amsat.org> Reviewed-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 55f613ac25420384b2c4645420fea2f9bab15379 https://github.com/qemu/qemu/commit/55f613ac25420384b2c4645420fea2f9bab15379 Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-3-f4...@amsat.org> Reviewed-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 47973a2dbfad7fd584f37ca57d79097c9f220e93 https://github.com/qemu/qemu/commit/47973a2dbfad7fd584f37ca57d79097c9f220e93 Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Acked-by: David Gibson <da...@gibson.dropbear.id.au> (hw/ppc) Message-Id: <20180308223946.26784-4-f4...@amsat.org> Reviewed-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: a48c6b5155bf542b14d6a6fc04f627eb2cb62967 https://github.com/qemu/qemu/commit/a48c6b5155bf542b14d6a6fc04f627eb2cb62967 Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-5-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 010d2dc4731d00d6c8e05ad333104d258180c19a https://github.com/qemu/qemu/commit/010d2dc4731d00d6c8e05ad333104d258180c19a Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Acked-by: David Gibson <da...@gibson.dropbear.id.au> (hw/ppc) Message-Id: <20180308223946.26784-6-f4...@amsat.org> Reviewed-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 4e00105a76c9c3502ca1fec0c73ea3f57b72f21b https://github.com/qemu/qemu/commit/4e00105a76c9c3502ca1fec0c73ea3f57b72f21b Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-7-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 818c9d992f5b8db2c46f9171ec69055f1b0bdf5c https://github.com/qemu/qemu/commit/818c9d992f5b8db2c46f9171ec69055f1b0bdf5c Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-8-f4...@amsat.org> Reviewed-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 1854eb287e77c07b2089b42319e23c7c0df8a2f1 https://github.com/qemu/qemu/commit/1854eb287e77c07b2089b42319e23c7c0df8a2f1 Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-9-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 63f01a74aeeb9c4fb39e2b4100beb084f5c10c95 https://github.com/qemu/qemu/commit/63f01a74aeeb9c4fb39e2b4100beb084f5c10c95 Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-10-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 4c3119a6e3ea7bdab718015b6f5176cfaf52f7ce https://github.com/qemu/qemu/commit/4c3119a6e3ea7bdab718015b6f5176cfaf52f7ce Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-11-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: cd9526ab7c04f2c32c63340b04401f6ed25682b9 https://github.com/qemu/qemu/commit/cd9526ab7c04f2c32c63340b04401f6ed25682b9 Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-12-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 6f6695b13638b0a4bfd9f75c022a9a7c55fb0b51 https://github.com/qemu/qemu/commit/6f6695b13638b0a4bfd9f75c022a9a7c55fb0b51 Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-13-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 72d3d8f052a19abc455ddc88efef75c407ac7c8d https://github.com/qemu/qemu/commit/72d3d8f052a19abc455ddc88efef75c407ac7c8d Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Acked-by: David Gibson <da...@gibson.dropbear.id.au> Message-Id: <20180308223946.26784-14-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: c16a4e1bc5e76a65cfa38266a1d9e88806b4bddf https://github.com/qemu/qemu/commit/c16a4e1bc5e76a65cfa38266a1d9e88806b4bddf Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-15-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 78f16256c157394522b0abae1dda0bfcbb11c068 https://github.com/qemu/qemu/commit/78f16256c157394522b0abae1dda0bfcbb11c068 Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-16-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 7313b1f28bec390d03ec4b84146fbea43487f2ae https://github.com/qemu/qemu/commit/7313b1f28bec390d03ec4b84146fbea43487f2ae Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-17-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 5c961c3fb11b19ac52385859ea03a10219892ff8 https://github.com/qemu/qemu/commit/5c961c3fb11b19ac52385859ea03a10219892ff8 Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-18-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 728d89100367a0000315fcb96dd251caa0e84bbd https://github.com/qemu/qemu/commit/728d89100367a0000315fcb96dd251caa0e84bbd Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-19-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 98cf824b5f82b78ee1d6411b4e304a13f5f92502 https://github.com/qemu/qemu/commit/98cf824b5f82b78ee1d6411b4e304a13f5f92502 Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-20-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 0170a3fcb3b8ed03fbf55e71b731c829137a3c3c https://github.com/qemu/qemu/commit/0170a3fcb3b8ed03fbf55e71b731c829137a3c3c Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-21-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: b250d04a3b39bec01f79d376777823870703f45b https://github.com/qemu/qemu/commit/b250d04a3b39bec01f79d376777823870703f45b Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-22-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 7bea0dd434e5cf5b26c28f06d4e2e912bf397b77 https://github.com/qemu/qemu/commit/7bea0dd434e5cf5b26c28f06d4e2e912bf397b77 Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-23-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: f4564fc0e8138bdc33c9783991f7173645a1396a https://github.com/qemu/qemu/commit/f4564fc0e8138bdc33c9783991f7173645a1396a Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-24-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: a4cb773928e047b137c6998209cf2eec857fac6b https://github.com/qemu/qemu/commit/a4cb773928e047b137c6998209cf2eec857fac6b Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-25-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: ac64273c66ab136c44043259162a89ec89d21e22 https://github.com/qemu/qemu/commit/ac64273c66ab136c44043259162a89ec89d21e22 Author: Philippe Mathieu-Daudé <f4...@amsat.org> 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é <f4...@amsat.org> Message-Id: <20180308223946.26784-26-f4...@amsat.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 5f3bdfd4fa33255542a4b6249913d9ffb11b44f9 https://github.com/qemu/qemu/commit/5f3bdfd4fa33255542a4b6249913d9ffb11b44f9 Author: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> 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 <pavel.dovga...@ispras.ru> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Message-Id: <20180227095140.1060.61357.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> Commit: 1a96e3c1e7dbb466a8c93743b8f5ae37cc023766 https://github.com/qemu/qemu/commit/1a96e3c1e7dbb466a8c93743b8f5ae37cc023766 Author: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> 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 <pavel.dovga...@ispras.ru> Acked-by: Paolo Bonzini <pbonz...@redhat.com> Message-Id: <20180227095203.1060.70831.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> Commit: 1652e0c30f28b755fde72d363634a586f133dc20 https://github.com/qemu/qemu/commit/1652e0c30f28b755fde72d363634a586f133dc20 Author: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> 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 <pavel.dovga...@ispras.ru> Acked-by: Paolo Bonzini <pbonz...@redhat.com> Message-Id: <20180227095209.1060.45884.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> Commit: 377b21ccea1755a8b0dae822c29567c58dda6939 https://github.com/qemu/qemu/commit/377b21ccea1755a8b0dae822c29567c58dda6939 Author: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> 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 <pavel.dovga...@ispras.ru> Message-Id: <20180227095214.1060.32939.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> Commit: bb040e006f0245ca376b45dc5ea247f6e1f02648 https://github.com/qemu/qemu/commit/bb040e006f0245ca376b45dc5ea247f6e1f02648 Author: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> 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 <pavel.dovga...@ispras.ru> Acked-by: Paolo Bonzini <pbonz...@redhat.com> Message-Id: <20180227095220.1060.58759.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 4b930d264cea0d72e775a7a57a8fce79158e8c10 https://github.com/qemu/qemu/commit/4b930d264cea0d72e775a7a57a8fce79158e8c10 Author: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> 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 <pavel.dovga...@ispras.ru> Acked-by: Paolo Bonzini <pbonz...@redhat.com> Message-Id: <20180227095226.1060.50975.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> Commit: 80be169c1fd178ed18d17012b7cdc09850ea8cd7 https://github.com/qemu/qemu/commit/80be169c1fd178ed18d17012b7cdc09850ea8cd7 Author: Alex Bennée <alex.ben...@linaro.org> 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 <alex.ben...@linaro.org> Reviewed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> Acked-by: Paolo Bonzini <pbonz...@redhat.com> Message-Id: <20180227095231.1060.91180.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 180d30bebeff8e3687b50bd55d44e6a5a83bc4da https://github.com/qemu/qemu/commit/180d30bebeff8e3687b50bd55d44e6a5a83bc4da Author: Alex Bennée <alex.ben...@linaro.org> 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 <alex.ben...@linaro.org> Tested-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> Message-Id: <20180227095237.1060.44661.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: a36544d34c8b7e483386d29f9716ca9f4caad9fb https://github.com/qemu/qemu/commit/a36544d34c8b7e483386d29f9716ca9f4caad9fb Author: Alex Bennée <alex.ben...@linaro.org> 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 <alex.ben...@linaro.org> Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> Message-Id: <20180227095242.1060.16601.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 1a423896fa4fc2ea49c64e7a493d88a8b251950d https://github.com/qemu/qemu/commit/1a423896fa4fc2ea49c64e7a493d88a8b251950d Author: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> 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 <pavel.dovga...@ispras.ru> Acked-by: Paolo Bonzini <pbonz...@redhat.com> Message-Id: <20180227095254.1060.96971.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> Commit: d759c951f3287fad04210a52f2dc93f94cf58c7f https://github.com/qemu/qemu/commit/d759c951f3287fad04210a52f2dc93f94cf58c7f Author: Alex Bennée <alex.ben...@linaro.org> 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 <alex.ben...@linaro.org> Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> Tested-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> Message-Id: <20180227095248.1060.40374.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Alex Bennée <alex.ben...@linaro.org> Commit: 6dc0f5296359ff59c248215a965c8658dea9544b https://github.com/qemu/qemu/commit/6dc0f5296359ff59c248215a965c8658dea9544b Author: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> 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 <pavel.dovga...@ispras.ru> Message-Id: <20180227095259.1060.86410.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> Commit: 66eb7825d0bd84a870a054fb208fe765317109fa https://github.com/qemu/qemu/commit/66eb7825d0bd84a870a054fb208fe765317109fa Author: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> 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 <pavel.dovga...@ispras.ru> Message-Id: <20180227095305.1060.56463.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> Commit: 821c113033075d4f1b50966d92022a1064085422 https://github.com/qemu/qemu/commit/821c113033075d4f1b50966d92022a1064085422 Author: Alex Bennée <alex.ben...@linaro.org> 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 <alex.ben...@linaro.org> Message-Id: <20180227095310.1060.14500.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 89e46eb477113550485bc24264d249de9fd1260a https://github.com/qemu/qemu/commit/89e46eb477113550485bc24264d249de9fd1260a Author: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> 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 <pavel.dovga...@ispras.ru> Message-Id: <20180227095316.1060.4134.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> Commit: 0b30dc0164eeb4df059b5e5ce8c5796152b821e0 https://github.com/qemu/qemu/commit/0b30dc0164eeb4df059b5e5ce8c5796152b821e0 Author: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> 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 <pavel.dovga...@ispras.ru> Message-Id: <20180227095322.1060.53929.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Commit: 7273db9d28d5e1b7a6c202a5054861c1f0bcc446 https://github.com/qemu/qemu/commit/7273db9d28d5e1b7a6c202a5054861c1f0bcc446 Author: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> 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 <pavel.dovga...@ispras.ru> Message-Id: <20180227095333.1060.1331.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> Commit: 0790f86861079b1932679d0f011e431aaf4ee9e2 https://github.com/qemu/qemu/commit/0790f86861079b1932679d0f011e431aaf4ee9e2 Author: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> 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 <pavel.dovga...@ispras.ru> Message-Id: <20180227095338.1060.27385.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> Commit: 3788c7b6e56fa34ee2a73e41706eb2a2447ba75a https://github.com/qemu/qemu/commit/3788c7b6e56fa34ee2a73e41706eb2a2447ba75a Author: Peter Maydell <peter.mayd...@linaro.org> 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 <bonz...@gnu.org>" # gpg: aka "Paolo Bonzini <pbonz...@redhat.com>" # 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 <peter.mayd...@linaro.org> # Conflicts: # default-configs/i386-softmmu.mak # default-configs/x86_64-softmmu.mak Compare: https://github.com/qemu/qemu/compare/a57946ff2acb...3788c7b6e56f