qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL v2 00/47] Misc patches for 2018-02-05
@ 2018-02-07 15:25 Paolo Bonzini
  2018-02-07 15:25 ` [Qemu-devel] [PULL 19/47] build-sys: add --enable-sanitizers Paolo Bonzini
  2018-02-07 23:02 ` [Qemu-devel] [PULL v2 00/47] Misc patches for 2018-02-05 Peter Maydell
  0 siblings, 2 replies; 3+ messages in thread
From: Paolo Bonzini @ 2018-02-07 15:25 UTC (permalink / raw)
  To: qemu-devel

The following changes since commit f24ee107a07f093bd7ed475dd48d7ba57ea3d8fe:

  Merge remote-tracking branch 'remotes/kraxel/tags/ui-20180202-pull-request' into staging (2018-02-02 18:54:11 +0000)

are available in the git repository at:


  git://github.com/bonzini/qemu.git tags/for-upstream

for you to fetch changes up to 19306806ae30b7fb5fe61a9130c6995402acad00:

  Add the WHPX acceleration enlightenments (2018-02-07 14:09:26 +0100)

----------------------------------------------------------------
* socket option parsing fix (Daniel)
* SCSI fixes (Fam)
* Readline double-free fix (Greg)
* More HVF attribution fixes (Izik)
* WHPX (Windows Hypervisor Platform Extensions) support (Justin)
* POLLHUP handler (Klim)
* ivshmem fixes (Ladi)
* memfd memory backend (Marc-André)
* improved error message (Marcelo)
* Memory fixes (Peter Xu, Zhecheng)
* Remove obsolete code and comments (Peter M.)
* qdev API improvements (Philippe)
* Add CONFIG_I2C switch (Thomas)

----------------------------------------------------------------
Alexey Kardashevskiy (1):
      kvm: Add kvm_set_user_memory tracepoint

Daniel P. Berrange (1):
      sockets: fix parsing of ipv4/ipv6 opts in parse_socket_addr

Fam Zheng (1):
      scsi-generic: Simplify error handling code

Greg Kurz (2):
      readline: don't free completions in readline_free()
      scripts/qemu-gdb/timers.py: define encoding in header comment

Izik Eidus (1):
      Add missing hvdos public domain attribution:

Jay Zhou (1):
      memory: update comments and fix some typos

Justin Terry (VM) (4):
      Add the Windows Hypervisor Platform accelerator.
      Add the WHPX vcpu API
      Introduce the WHPX impl
      Add the WHPX acceleration enlightenments

Klim Kireev (2):
      chardev/char-socket: add POLLHUP handler
      tests/test-filter-redirector: move close()

Ladi Prosek (4):
      ivshmem: Don't update non-existent MSI routes
      ivshmem: Always remove irqfd notifiers
      ivshmem: Improve MSI irqfd error handling
      ivshmem: Disable irqfd on device reset

Marc-André Lureau (10):
      exynos4210: workaround UBSAN compilation error
      build-sys: add --enable-sanitizers
      ucontext: annotate coroutine stack for ASAN
      memfd: add error argument, instead of perror()
      memfd: add hugetlb support
      memfd: add hugetlbsize argument
      Add memfd based hostmem
      tests: keep compiling failing vhost-user tests
      vhost-user-test: make read-guest-mem setup its own qemu
      tests: use memfd in vhost-user-test

Marcelo Tosatti (1):
      qemu: improve hugepage allocation failure message

Paolo Bonzini (7):
      hvf: ept_emulation_fault() needs NetApp BSD attribution
      cpus: hax: register/unregister thread with RCU, exit loop on unplug
      cpus: kvm: unregister thread with RCU
      cpus: dummy: unregister thread with RCU, exit loop on unplug
      cpus: tcg: unregister thread with RCU, fix exiting of loop on unplug
      cpus: hvf: unregister thread with RCU
      cpus: join thread when removing a vCPU

Peter Maydell (2):
      memory-internal.h: Remove obsolete claim that header is obsolete
      Drop remaining bits of ia64 host support

Peter Xu (5):
      chardev: fix incorrect unref of source
      vhost: add traces for memory listeners
      arm: postpone device listener unregister
      vfio: listener unregister before unset container
      memory: do explicit cleanup when remove listeners

Philippe Mathieu-Daudé (3):
      qdev: rename typedef qdev_resetfn() -> DeviceReset()
      qdev: add helpers to be more explicit when using abstract QOM parent functions
      qdev: use device_class_set_parent_realize/unrealize/reset()

Thomas Huth (1):
      i2c: Add a CONFIG_I2C master switch to the configuration files

linzhecheng (1):
      memory: set ioeventfd_update_pending after address_space_update_ioeventfds

 .travis.yml                             |    3 +-
 accel/kvm/kvm-all.c                     |    6 +-
 accel/kvm/trace-events                  |    1 +
 accel/stubs/Makefile.objs               |    9 +-
 accel/stubs/whpx-stub.c                 |   48 ++
 accel/tcg/user-exec.c                   |   33 -
 backends/Makefile.objs                  |    2 +
 backends/hostmem-memfd.c                |  170 ++++
 chardev/char-pty.c                      |   38 +-
 chardev/char-socket.c                   |   22 +
 configure                               |  113 ++-
 cpus.c                                  |  109 ++-
 default-configs/arm-softmmu.mak         |    1 +
 default-configs/i386-softmmu.mak        |    1 +
 default-configs/mips-softmmu-common.mak |    1 +
 default-configs/ppc-softmmu.mak         |    1 +
 default-configs/ppcemb-softmmu.mak      |    1 +
 default-configs/x86_64-softmmu.mak      |    1 +
 hw/core/qdev.c                          |   24 +
 hw/display/exynos4210_fimd.c            |    2 +-
 hw/i2c/Makefile.objs                    |    2 +-
 hw/i386/kvm/i8254.c                     |    4 +-
 hw/i386/kvm/i8259.c                     |    3 +-
 hw/input/adb-kbd.c                      |    4 +-
 hw/input/adb-mouse.c                    |    4 +-
 hw/intc/arm_gic.c                       |    3 +-
 hw/intc/arm_gic_kvm.c                   |    7 +-
 hw/intc/arm_gicv3.c                     |    3 +-
 hw/intc/arm_gicv3_its_kvm.c             |    3 +-
 hw/intc/arm_gicv3_kvm.c                 |    7 +-
 hw/intc/i8259.c                         |    3 +-
 hw/misc/ivshmem.c                       |   79 +-
 hw/net/vmxnet3.c                        |    4 +-
 hw/nvram/Makefile.objs                  |    2 +-
 hw/pci-bridge/gen_pcie_root_port.c      |    3 +-
 hw/scsi/scsi-generic.c                  |    9 +-
 hw/scsi/vmw_pvscsi.c                    |    4 +-
 hw/timer/i8254.c                        |    3 +-
 hw/vfio/amd-xgbe.c                      |    4 +-
 hw/vfio/calxeda-xgmac.c                 |    4 +-
 hw/vfio/common.c                        |   16 +-
 hw/virtio/trace-events                  |    6 +
 hw/virtio/vhost.c                       |   19 +-
 hw/virtio/virtio-pci.c                  |    4 +-
 include/exec/memory-internal.h          |    7 +-
 include/exec/memory.h                   |   27 +-
 include/hw/qdev-core.h                  |   14 +-
 include/qemu/compiler.h                 |    4 +
 include/qemu/memfd.h                    |    5 +-
 include/qemu/processor.h                |    3 -
 include/qemu/timer.h                    |    9 -
 include/sysemu/hw_accel.h               |   13 +
 include/sysemu/whpx.h                   |   40 +
 linux-user/syscall.c                    |    7 +-
 memory.c                                |   28 +
 numa.c                                  |    1 +
 qemu-options.hx                         |   30 +-
 scripts/qemugdb/timers.py               |    1 +
 target/alpha/cpu.c                      |    4 +-
 target/arm/cpu.c                        |    4 +-
 target/arm/kvm.c                        |    2 +-
 target/cris/cpu.c                       |    4 +-
 target/hppa/cpu.c                       |    4 +-
 target/i386/Makefile.objs               |    1 +
 target/i386/cpu.c                       |    8 +-
 target/i386/helper.c                    |    2 +-
 target/i386/hvf/hvf.c                   |   27 +
 target/i386/hvf/vmx.h                   |    3 +
 target/i386/whpx-all.c                  | 1366 +++++++++++++++++++++++++++++++
 target/lm32/cpu.c                       |    5 +-
 target/m68k/cpu.c                       |    5 +-
 target/microblaze/cpu.c                 |    5 +-
 target/mips/cpu.c                       |    5 +-
 target/moxie/cpu.c                      |    5 +-
 target/nios2/cpu.c                      |    4 +-
 target/openrisc/cpu.c                   |    5 +-
 target/ppc/translate_init.c             |    8 +-
 target/s390x/cpu.c                      |    4 +-
 target/sh4/cpu.c                        |    4 +-
 target/sparc/cpu.c                      |    4 +-
 target/tilegx/cpu.c                     |    4 +-
 target/tricore/cpu.c                    |    4 +-
 target/unicore32/cpu.c                  |    4 +-
 target/xtensa/cpu.c                     |    4 +-
 tests/test-filter-redirector.c          |    2 +-
 tests/vhost-user-test.c                 |  128 ++-
 util/coroutine-ucontext.c               |   48 ++
 util/memfd.c                            |   78 +-
 util/qemu-sockets.c                     |   44 +-
 util/readline.c                         |    3 -
 90 files changed, 2445 insertions(+), 328 deletions(-)
 create mode 100644 accel/stubs/whpx-stub.c
 create mode 100644 backends/hostmem-memfd.c
 create mode 100644 include/sysemu/whpx.h
 create mode 100644 target/i386/whpx-all.c
-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Qemu-devel] [PULL 19/47] build-sys: add --enable-sanitizers
  2018-02-07 15:25 [Qemu-devel] [PULL v2 00/47] Misc patches for 2018-02-05 Paolo Bonzini
@ 2018-02-07 15:25 ` Paolo Bonzini
  2018-02-07 23:02 ` [Qemu-devel] [PULL v2 00/47] Misc patches for 2018-02-05 Peter Maydell
  1 sibling, 0 replies; 3+ messages in thread
From: Paolo Bonzini @ 2018-02-07 15:25 UTC (permalink / raw)
  To: qemu-devel; +Cc: Marc-André Lureau

From: Marc-André Lureau <marcandre.lureau@redhat.com>

Typical slowdown introduced by AddressSanitizer is 2x.
UBSan shouldn't have much impact on runtime cost.

Enable it by default when --enable-debug, unless --disable-sanitizers.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20180116151152.4040-3-marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 configure | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/configure b/configure
index bdbd097..35147ad 100755
--- a/configure
+++ b/configure
@@ -342,6 +342,7 @@ rdma=""
 gprof="no"
 debug_tcg="no"
 debug="no"
+sanitizers="no"
 fortify_source=""
 strip_opt="yes"
 tcg_interpreter="no"
@@ -993,6 +994,10 @@ for opt do
       strip_opt="no"
       fortify_source="no"
   ;;
+  --enable-sanitizers) sanitizers="yes"
+  ;;
+  --disable-sanitizers) sanitizers="no"
+  ;;
   --enable-sparse) sparse="yes"
   ;;
   --disable-sparse) sparse="no"
@@ -1474,6 +1479,7 @@ Advanced options (experts only):
   --firmwarepath=PATH      search PATH for firmware files
   --with-confsuffix=SUFFIX suffix for QEMU data inside datadir/libdir/sysconfdir [$confsuffix]
   --enable-debug           enable common debug build options
+  --enable-sanitizers      enable default sanitizers
   --disable-strip          disable stripping binaries
   --disable-werror         disable compilation abort on warning
   --disable-stack-protector disable compiler-provided stack protection
@@ -5201,6 +5207,23 @@ if compile_prog "" "" ; then
 fi
 
 ##########################################
+# checks for sanitizers
+
+write_c_skeleton
+
+have_asan=no
+have_ubsan=no
+
+if test "$sanitizers" = "yes" ; then
+  if compile_prog "$CPU_CFLAGS -Werror -fsanitize=address" ""; then
+      have_asan=yes
+  fi
+  if compile_prog "$CPU_CFLAGS -Werror -fsanitize=undefined" ""; then
+      have_ubsan=yes
+  fi
+fi
+
+##########################################
 # End of CC checks
 # After here, no more $cc or $ld runs
 
@@ -5224,6 +5247,13 @@ else
     CFLAGS="-O2 $CFLAGS"
 fi
 
+if test "$have_asan" = "yes"; then
+  CFLAGS="-fsanitize=address $CFLAGS"
+fi
+if test "$have_ubsan" = "yes"; then
+  CFLAGS="-fsanitize=undefined $CFLAGS"
+fi
+
 ##########################################
 # Do we have libnfs
 if test "$libnfs" != "no" ; then
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PULL v2 00/47] Misc patches for 2018-02-05
  2018-02-07 15:25 [Qemu-devel] [PULL v2 00/47] Misc patches for 2018-02-05 Paolo Bonzini
  2018-02-07 15:25 ` [Qemu-devel] [PULL 19/47] build-sys: add --enable-sanitizers Paolo Bonzini
@ 2018-02-07 23:02 ` Peter Maydell
  1 sibling, 0 replies; 3+ messages in thread
From: Peter Maydell @ 2018-02-07 23:02 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: QEMU Developers

On 7 February 2018 at 15:25, Paolo Bonzini <pbonzini@redhat.com> wrote:
> The following changes since commit f24ee107a07f093bd7ed475dd48d7ba57ea3d8fe:
>
>   Merge remote-tracking branch 'remotes/kraxel/tags/ui-20180202-pull-request' into staging (2018-02-02 18:54:11 +0000)
>
> are available in the git repository at:
>
>
>   git://github.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to 19306806ae30b7fb5fe61a9130c6995402acad00:
>
>   Add the WHPX acceleration enlightenments (2018-02-07 14:09:26 +0100)
>

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-02-07 23:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-07 15:25 [Qemu-devel] [PULL v2 00/47] Misc patches for 2018-02-05 Paolo Bonzini
2018-02-07 15:25 ` [Qemu-devel] [PULL 19/47] build-sys: add --enable-sanitizers Paolo Bonzini
2018-02-07 23:02 ` [Qemu-devel] [PULL v2 00/47] Misc patches for 2018-02-05 Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).