[Qemu-devel] [PULL 00/47] Misc patches for 2018-02-05

Paolo Bonzini posted 47 patches 6 years, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1517858941-5538-1-git-send-email-pbonzini@redhat.com
Test checkpatch passed
Test docker-build@min-glib passed
Test docker-mingw@fedora passed
Test docker-quick@centos6 passed
Test ppc passed
Test s390x passed
There is a newer version of this series
.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                               |  118 ++-
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, 2450 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
[Qemu-devel] [PULL 00/47] Misc patches for 2018-02-05
Posted by Paolo Bonzini 6 years, 2 months ago
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 d2eac10f23a071ddbd2970ed139c6ca077ff2e48:

  Add the WHPX acceleration enlightenments (2018-02-05 18:30:55 +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                               |  118 ++-
 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, 2450 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


Re: [Qemu-devel] [PULL 00/47] Misc patches for 2018-02-05
Posted by Peter Maydell 6 years, 2 months ago
On 5 February 2018 at 19:28, 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 d2eac10f23a071ddbd2970ed139c6ca077ff2e48:
>
>   Add the WHPX acceleration enlightenments (2018-02-05 18:30:55 +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)
>
> ----------------------------------------------------------------

Hi. I'm afraid this fails to build the all-linux-static config:

  LINK    ivshmem-client
[usual linker gripes about getpwuid &c in static binaries deleted]
/usr/lib/gcc/x86_64-linux-gnu/5/libubsan.a(sanitizer_linux_libcdep.o):
In function `__sanitizer::SetEnv(cha
r const*, char const*)':
(.text+0x41b): undefined reference to `dlsym'
/usr/lib/gcc/x86_64-linux-gnu/5/libubsan.a(sanitizer_linux_libcdep.o):
In function `__sanitizer::InitTlsSiz
e()':
(.text+0x553): undefined reference to `dlsym'
collect2: error: ld returned 1 exit status

thanks
-- PMM

Re: [Qemu-devel] [PULL 00/47] Misc patches for 2018-02-05
Posted by Paolo Bonzini 6 years, 2 months ago
On 06/02/2018 20:18, Peter Maydell wrote:
> Hi. I'm afraid this fails to build the all-linux-static config:
> 
>   LINK    ivshmem-client
> [usual linker gripes about getpwuid &c in static binaries deleted]
> /usr/lib/gcc/x86_64-linux-gnu/5/libubsan.a(sanitizer_linux_libcdep.o):
> In function `__sanitizer::SetEnv(cha
> r const*, char const*)':
> (.text+0x41b): undefined reference to `dlsym'
> /usr/lib/gcc/x86_64-linux-gnu/5/libubsan.a(sanitizer_linux_libcdep.o):
> In function `__sanitizer::InitTlsSiz
> e()':
> (.text+0x553): undefined reference to `dlsym'
> collect2: error: ld returned 1 exit status

Uhm, what is all-linux-static?  Is it using --enable-debug?

Paolo

Re: [Qemu-devel] [PULL 00/47] Misc patches for 2018-02-05
Posted by Peter Maydell 6 years, 2 months ago
On 6 February 2018 at 20:37, Paolo Bonzini <pbonzini@redhat.com> wrote:
> On 06/02/2018 20:18, Peter Maydell wrote:
>> Hi. I'm afraid this fails to build the all-linux-static config:
>>
>>   LINK    ivshmem-client
>> [usual linker gripes about getpwuid &c in static binaries deleted]
>> /usr/lib/gcc/x86_64-linux-gnu/5/libubsan.a(sanitizer_linux_libcdep.o):
>> In function `__sanitizer::SetEnv(cha
>> r const*, char const*)':
>> (.text+0x41b): undefined reference to `dlsym'
>> /usr/lib/gcc/x86_64-linux-gnu/5/libubsan.a(sanitizer_linux_libcdep.o):
>> In function `__sanitizer::InitTlsSiz
>> e()':
>> (.text+0x553): undefined reference to `dlsym'
>> collect2: error: ld returned 1 exit status
>
> Uhm, what is all-linux-static?  Is it using --enable-debug?

Yeah, it's a config with --enable-debug --static --disable-system

thanks
-- PMM

Re: [Qemu-devel] [PULL 00/47] Misc patches for 2018-02-05
Posted by Paolo Bonzini 6 years, 2 months ago
On 07/02/2018 12:55, Peter Maydell wrote:
> On 6 February 2018 at 20:37, Paolo Bonzini <pbonzini@redhat.com> wrote:
>> On 06/02/2018 20:18, Peter Maydell wrote:
>>> Hi. I'm afraid this fails to build the all-linux-static config:
>>>
>>>   LINK    ivshmem-client
>>> [usual linker gripes about getpwuid &c in static binaries deleted]
>>> /usr/lib/gcc/x86_64-linux-gnu/5/libubsan.a(sanitizer_linux_libcdep.o):
>>> In function `__sanitizer::SetEnv(cha
>>> r const*, char const*)':
>>> (.text+0x41b): undefined reference to `dlsym'
>>> /usr/lib/gcc/x86_64-linux-gnu/5/libubsan.a(sanitizer_linux_libcdep.o):
>>> In function `__sanitizer::InitTlsSiz
>>> e()':
>>> (.text+0x553): undefined reference to `dlsym'
>>> collect2: error: ld returned 1 exit status
>>
>> Uhm, what is all-linux-static?  Is it using --enable-debug?
> 
> Yeah, it's a config with --enable-debug --static --disable-system

Ok, I'll drop the change to enable --enable-sanitizers when you give
--enable-debug.  It's premature.

Paolo

Re: [Qemu-devel] [PULL 00/47] Misc patches for 2018-02-05
Posted by Marc-André Lureau 6 years, 2 months ago
Hi

On Wed, Feb 7, 2018 at 1:05 PM, Paolo Bonzini <pbonzini@redhat.com> wrote:
> On 07/02/2018 12:55, Peter Maydell wrote:
>> On 6 February 2018 at 20:37, Paolo Bonzini <pbonzini@redhat.com> wrote:
>>> On 06/02/2018 20:18, Peter Maydell wrote:
>>>> Hi. I'm afraid this fails to build the all-linux-static config:
>>>>
>>>>   LINK    ivshmem-client
>>>> [usual linker gripes about getpwuid &c in static binaries deleted]
>>>> /usr/lib/gcc/x86_64-linux-gnu/5/libubsan.a(sanitizer_linux_libcdep.o):
>>>> In function `__sanitizer::SetEnv(cha
>>>> r const*, char const*)':
>>>> (.text+0x41b): undefined reference to `dlsym'
>>>> /usr/lib/gcc/x86_64-linux-gnu/5/libubsan.a(sanitizer_linux_libcdep.o):
>>>> In function `__sanitizer::InitTlsSiz
>>>> e()':
>>>> (.text+0x553): undefined reference to `dlsym'
>>>> collect2: error: ld returned 1 exit status
>>>
>>> Uhm, what is all-linux-static?  Is it using --enable-debug?
>>
>> Yeah, it's a config with --enable-debug --static --disable-system
>
> Ok, I'll drop the change to enable --enable-sanitizers when you give
> --enable-debug.  It's premature.

It is a bit weird that this is not caught during configure time, that
does check static compilation (when --static) with the sanitizers.
What is the host? is there a docker check to reproduce?


-- 
Marc-André Lureau

Re: [Qemu-devel] [PULL 00/47] Misc patches for 2018-02-05
Posted by Peter Maydell 6 years, 2 months ago
On 7 February 2018 at 12:49, Marc-André Lureau
<marcandre.lureau@gmail.com> wrote:
> It is a bit weird that this is not caught during configure time, that
> does check static compilation (when --static) with the sanitizers.
> What is the host? is there a docker check to reproduce?

The host is x86-64 ubuntu xenial.

thanks
-- PMM