Skip to content

Commits

Permalink
vhost-user
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Commits on Jul 6, 2017

  1. Add virtio-gpu vhost-user backend

    Add to virtio-gpu devices a "vhost-user" property. When set, the
    associated vhost-user backend is used to handle the virtio rings.
    
    For now, a socketpair is created for the backend to share the rendering
    results with qemu via a simple VHOST_GPU protocol.
    
    Example usage:
    -object vhost-user-backend,id=vug,cmd="./vhost-user-gpu"
    -device virtio-vga,virgl=true,vhost-user=vug
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Jul 6, 2017
    Copy the full SHA
    a962f5b View commit details
    Browse the repository at this point in the history
  2. contrib: add vhost-user-gpu

    Add a vhost-user gpu backend example, based on virtio-gpu/3d device. It
    is to be associated with a vhost-user-backend object, ex:
    
    -object vhost-user-backend,id=vug,cmd="vhost-user-gpu"
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Jul 6, 2017
    Copy the full SHA
    6d312bd View commit details
    Browse the repository at this point in the history
  3. vhost-user: add vhost_user_gpu_set_socket()

    Add a new vhost-user message to give a unix socket for gpu updates to a
    vhost-user backend.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Jul 6, 2017
    Copy the full SHA
    e6dfb15 View commit details
    Browse the repository at this point in the history
  4. console: add dpy_gl_scanout2()

    Add a new scanout callback that doesn't require any gl context in
    qemu (importing a dmabuf fd would require qemu egl&gl contexts, and
    would be unnecessary when using spice anyway)
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Jul 6, 2017
    Copy the full SHA
    8117ea7 View commit details
    Browse the repository at this point in the history
  5. qemu-char: block during sync read

    A sync read should block until data is available, instead of
    retrying. Change the channel to blocking during read.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Jul 6, 2017
    Copy the full SHA
    0aef27d View commit details
    Browse the repository at this point in the history
  6. contrib: add vhost-user-input

    Add a vhost-user input backend example, based on virtio-input-host
    device. It takes an evdev path as argument, and can be associated with a
    vhost-user-backend object, ex:
    
    -object vhost-user-backend,id=vuid,cmd="vhost-user-input /dev/input/event0"
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Jul 6, 2017
    Copy the full SHA
    8735dab View commit details
    Browse the repository at this point in the history
  7. Add vhost-user backend to virtio-input-host

    Learn to use a vhost-user as a virtio-input backend. Usage:
    
    -object vhost-user-backend,id=vuid -device virtio-input-host-pci,vhost-user=vuid
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Jul 6, 2017
    Copy the full SHA
    7ab1c5a View commit details
    Browse the repository at this point in the history
  8. vhost-user: add vhost_user_input_get_config()

    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Jul 6, 2017
    Copy the full SHA
    195ba24 View commit details
    Browse the repository at this point in the history
  9. vhost-user: split vhost_user_read()

    Split vhost_user_read(), so only header can be read with
    vhost_user_read_header().
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Jul 6, 2017
    Copy the full SHA
    404bf24 View commit details
    Browse the repository at this point in the history
  10. Add vhost-user-backend

    Create a vhost-user-backend object that holds a connection to a
    vhost-user backend and can be referenced from virtio devices that
    support it.
    
    Currently, you may specify the executable to spawn directly from command
    line, ex: -object vhost-user-backend,id=vui,cmd="./vhost-user-input
    /dev/input.."
    
    It may be considered a security breach to allow creating processes that
    may execute arbitrary executables, so this may be restricted to some
    known executables or directoy. If not acceptable, the object may just
    take use a socket chardev instead (like vhost-user-net today).
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Jul 6, 2017
    Copy the full SHA
    e897003 View commit details
    Browse the repository at this point in the history
  11. socket

    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Jul 6, 2017
    Copy the full SHA
    e9ab387 View commit details
    Browse the repository at this point in the history
  12. tests: use memfd in vhost-user-test

    This will exercise the memfd memory backend and should generally be
    better for testing than memory-backend-file (thanks to anonymous files
    and sealing).
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Jul 6, 2017
    Copy the full SHA
    5671bb5 View commit details
    Browse the repository at this point in the history
  13. Add memfd based hostmem

    Add a new memory backend, similar to hostmem-file, except that it
    doesn't need to create files. It also enforces memory sealing.
    
    This backend is mainly useful for sharing the memory with other
    processes.
    
    Note that Linux supports transparent huge-pages of shmem/memfd memory
    since 4.8. It is relatively easier to set up THP than a dedicate
    hugepage mount point by using "madvise" in
    /sys/kernel/mm/transparent_hugepage/shmem_enabled.
    
    Usage:
    -object memory-backend-memfd,id=mem1,size=1G
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Jul 6, 2017
    Copy the full SHA
    8ee7494 View commit details
    Browse the repository at this point in the history
  14. memfd: split qemu_memfd_alloc()

    Add a function to only create a memfd, without mmap. The function is
    used in the following memory backend.
    
    Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    elmarco committed Jul 6, 2017
    Copy the full SHA
    bff935b View commit details
    Browse the repository at this point in the history
  15. Merge remote-tracking branch 'remotes/borntraeger/tags/s390x-20170706…

    …' into staging
    
    s390x/kvm/migration: fixes, enhancements and cleanups
    
    - new email address for Cornelia
    - Fixes: 3270, flic, virtio-scsi-ccw, ipl
    - Enhancements, cpumodel, migration
    
    # gpg: Signature made Thu 06 Jul 2017 08:18:19 BST
    # gpg:                using RSA key 0x117BBC80B5A61C7C
    # gpg: Good signature from "Christian Borntraeger (IBM) <borntraeger@de.ibm.com>"
    # Primary key fingerprint: F922 9381 A334 08F9 DBAB  FBCA 117B BC80 B5A6 1C7C
    
    * remotes/borntraeger/tags/s390x-20170706:
      hw/s390x/ipl: Fix endianness problem with netboot_start_addr
      virtio-scsi-ccw: use ioeventfd even when KVM is disabled
      s390x: return unavailable features via query-cpu-definitions
      s390x/MAINTAINERS: Update my email address
      s390x: fix realize inheritance for kvm-flic
      s390x: fix error propagation in kvm-flic's realize
      s390x/3270: fix instruction interception handler
      s390x: vmstatify config migration for virtio-ccw
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    pm215 committed Jul 6, 2017
    Copy the full SHA
    b113658 View commit details
    Browse the repository at this point in the history
  16. Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into…

    … staging
    
    * qemu-thread portability improvement (Fam)
    * virtio-scsi IOMMU fix (Jason)
    * poisoning and common-obj-y cleanups (Thomas)
    * initial Hypervisor.framework refactoring (Sergio)
    * x86 TCG interrupt injection fixes (Wu Xiang, me)
    * --disable-tcg support for x86 (Yang Zhong, me)
    * various other bugfixes and cleanups (Daniel, Peter, Thomas)
    
    # gpg: Signature made Wed 05 Jul 2017 08:12:56 BST
    # gpg:                using RSA key 0xBFFBD25F78C7AE83
    # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
    # gpg:                 aka "Paolo Bonzini <pbonzini@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: (42 commits)
      target/i386: add the CONFIG_TCG into Makefiles
      target/i386: add the tcg_enabled() in target/i386/
      target/i386: move TLB refill function out of helper.c
      target/i386: split cpu_set_mxcsr() and make cpu_set_fpuc() inline
      target/i386: make cpu_get_fp80()/cpu_set_fp80() static
      target/i386: move cpu_sync_bndcs_hflags() function
      tcg: add the CONFIG_TCG into Makefiles
      tcg: add CONFIG_TCG guards in headers
      exec: elide calls to tb_lock and tb_unlock
      tcg: move tb_lock out of translate-all.h
      tcg: add the tcg-stub.c file into accel/stubs/
      vapic: use tcg_enabled
      monitor: disable "info jit" and "info opcount" if !TCG
      tcg: make tcg_allowed global
      cpu: move interrupt handling out of translate-common.c
      tcg: move page_size_init() function
      vl: add tcg_enabled() for tcg related code
      vl: convert -tb-size to qemu_strtoul
      configure: add --disable-tcg configure option
      configure: early test for supported targets
      ...
    
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
    pm215 committed Jul 6, 2017
    Copy the full SHA
    67b9c5d View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2017

  1. hw/s390x/ipl: Fix endianness problem with netboot_start_addr

    The start address has to be stored in big endian byte order
    in the iplb.ccw block for the guest.
    
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    Message-Id: <1499268345-12552-1-git-send-email-thuth@redhat.com>
    Reviewed-by: Cornelia Huck <cohuck@redhat.com>
    Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
    huth authored and borntraeger committed Jul 5, 2017
    Copy the full SHA
    1045e3c View commit details
    Browse the repository at this point in the history
  2. virtio-scsi-ccw: use ioeventfd even when KVM is disabled

    This patch is based on a similar patch from Stefan Hajnoczi -
    commit c324fd0 ("virtio-pci: use ioeventfd even when KVM is disabled")
    
    Do not check kvm_eventfds_enabled() when KVM is disabled since it
    always returns 0.  Since commit 8c56c1a
    ("memory: emulate ioeventfd") it has been possible to use ioeventfds in
    qtest or TCG mode.
    
    This patch makes -device virtio-scsi-ccw,iothread=iothread0 work even
    when KVM is disabled.
    Currently we don't have an equivalent to "memory: emulate ioeventfd"
    for ccw yet, but that this doesn't hurt and qemu-iotests 068 can pass with
    skipping iothread arguments.
    
    I have tested that virtio-scsi-ccw works under tcg both with and without
    iothread.
    
    This patch fixes qemu-iotests 068, which was accidentally merged early
    despite the dependency on ioeventfd.
    
    Signed-off-by: QingFeng Hao <haoqf@linux.vnet.ibm.com>
    Reviewed-by: Cornelia Huck <cohuck@redhat.com>
    Message-Id: <20170704132350.11874-2-haoqf@linux.vnet.ibm.com>
    Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
    Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
    SeanHQF authored and borntraeger committed Jul 5, 2017
    Copy the full SHA
    cda3c19 View commit details
    Browse the repository at this point in the history
  3. s390x: return unavailable features via query-cpu-definitions

    The response for query-cpu-definitions didn't include the
    unavailable-features field, which is used by libvirt to figure
    out whether a certain cpu model is usable on the host.
    
    The unavailable features are now computed by obtaining the host CPU
    model and comparing it against the known CPU models. The comparison
    takes into account the generation, the GA level and the feature
    bitmaps. In the case of a CPU generation/GA level mismatch
    a feature called "type" is reported to be missing.
    
    As a result, the output of virsh domcapabilities would change
    from something like
     ...
         <mode name='custom' supported='yes'>
          <model usable='unknown'>z10EC-base</model>
          <model usable='unknown'>z9EC-base</model>
          <model usable='unknown'>z196.2-base</model>
          <model usable='unknown'>z900-base</model>
          <model usable='unknown'>z990</model>
     ...
    to
     ...
         <mode name='custom' supported='yes'>
          <model usable='yes'>z10EC-base</model>
          <model usable='yes'>z9EC-base</model>
          <model usable='no'>z196.2-base</model>
          <model usable='yes'>z900-base</model>
          <model usable='yes'>z990</model>
     ...
    
    Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
    Message-Id: <1499082529-16970-1-git-send-email-mihajlov@linux.vnet.ibm.com>
    Reviewed-by: David Hildenbrand <david@redhat.com>
    Acked-by: Cornelia Huck <cohuck@redhat.com>
    Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
    Viktor Mihajlovski authored and borntraeger committed Jul 5, 2017
    Copy the full SHA
    38cba1f View commit details
    Browse the repository at this point in the history
  4. s390x/MAINTAINERS: Update my email address

    Signed-off-by: Cornelia Huck <cohuck@redhat.com>
    Message-Id: <20170704092215.13742-2-cohuck@redhat.com>
    Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
    cohuck authored and borntraeger committed Jul 5, 2017
    Copy the full SHA
    c1976ae View commit details
    Browse the repository at this point in the history
  5. s390x: fix realize inheritance for kvm-flic

    Commit f6f4ce4211 ("s390x: add property adapter_routes_max_batch",
    2016-12-09) introduces a common realize (intended to be common for all
    the subclasses) for flic, but fails to make sure the kvm-flic which had
    its own is actually calling this common realize.
    
    This omission fortunately does not result in a grave problem. The common
    realize was only supposed to catch a possible programming mistake by
    validating a value of a property set via the compat machine macros. Since
    there was no programming mistake we don't need this fixed for stable.
    
    Let's fix this problem by making sure kvm flic honors the realize of its
    parent class.
    
    Let us also improve on the error message we would hypothetically emit
    when the validation fails.
    
    Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com>
    Fixes: f6f4ce4211 ("s390x: add property adapter_routes_max_batch")
    Reviewed-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
    Reviewed-by: Yi Min Zhao <zyimin@linux.vnet.ibm.com>
    Reviewed-by: Cornelia Huck <cohuck@redhat.com>
    Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
    Halil Pasic authored and borntraeger committed Jul 5, 2017
    Copy the full SHA
    5cbab1b View commit details
    Browse the repository at this point in the history
  6. s390x: fix error propagation in kvm-flic's realize

    From the moment it was introduced by commit a2875e6f98 ("s390x/kvm:
    implement floating-interrupt controller device", 2013-07-16) the kvm-flic
    is not making realize fail properly in case it's impossible to create the
    KVM device which basically serves as a backend and is absolutely
    essential for having an operational kvm-flic.
    
    Let's fix this by making sure we do proper error propagation in realize.
    
    Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com>
    Fixes: a2875e6f98 "s390x/kvm: implement floating-interrupt controller device"
    Reviewed-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
    Reviewed-by: Yi Min Zhao <zyimin@linux.vnet.ibm.com>
    Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
    Halil Pasic authored and borntraeger committed Jul 5, 2017
    Copy the full SHA
    f62f210 View commit details
    Browse the repository at this point in the history
  7. s390x/3270: fix instruction interception handler

    Commit bab482d ("s390x/css: ccw translation infrastructure")
    introduced instruction interception handler for different types of
    subchannels. For emulated 3270 devices, we should assign the virtual
    subchannel handler to them during device realization process, or 3270
    will not work.
    
    Fixes: bab482d ("s390x/css: ccw translation infrastructure")
    
    Reviewed-by: Jing Liu <liujbjl@linux.vnet.ibm.com>
    Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com>
    Reviewed-by: Cornelia Huck <cohuck@redhat.com>
    Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
    Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
    Dong Jia Shi authored and borntraeger committed Jul 5, 2017
    Copy the full SHA
    1728cff View commit details
    Browse the repository at this point in the history
  8. s390x: vmstatify config migration for virtio-ccw

    Let's vmstatify virtio_ccw_save_config and virtio_ccw_load_config for
    flexibility (extending using subsections) and for fun.
    
    To achieve this we need to hack the config_vector, which is VirtIODevice
    (that is common virtio) state, in the middle of the VirtioCcwDevice state
    representation.  This is somewhat ugly, but we have no choice because the
    stream format needs to be preserved.
    
    Almost no changes in behavior. Exception is everything that comes with
    vmstate like extra bookkeeping about what's in the stream, and maybe some
    extra checks and better error reporting.
    
    Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com>
    Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
    Message-Id: <20170703213414.94298-1-pasic@linux.vnet.ibm.com>
    Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
    Halil Pasic authored and borntraeger committed Jul 5, 2017
    Copy the full SHA
    517ff12 View commit details
    Browse the repository at this point in the history
  9. target/i386: add the CONFIG_TCG into Makefiles

    Add the CONFIG_TCG for frontend and backend's files in the related
    Makefiles.
    
    Signed-off-by: Yang Zhong <yang.zhong@intel.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    yangzhon authored and bonzini committed Jul 5, 2017
    Copy the full SHA
    44eff67 View commit details
    Browse the repository at this point in the history
  10. target/i386: add the tcg_enabled() in target/i386/

    Add the tcg_enabled() where the x86 target needs to disable
    TCG-specific code.
    
    Signed-off-by: Yang Zhong <yang.zhong@intel.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    yangzhon authored and bonzini committed Jul 5, 2017
    Copy the full SHA
    79c664f View commit details
    Browse the repository at this point in the history
  11. target/i386: move TLB refill function out of helper.c

    This function calls tlb_set_page_with_attrs, which is not available
    when TCG is disabled.  Move it to excp_helper.c.
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    bonzini committed Jul 5, 2017
    Copy the full SHA
    6578eb2 View commit details
    Browse the repository at this point in the history
  12. target/i386: split cpu_set_mxcsr() and make cpu_set_fpuc() inline

    Split the cpu_set_mxcsr() and make cpu_set_fpuc() inline with specific
    tcg code.
    
    Signed-off-by: Yang Zhong <yang.zhong@intel.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    yangzhon authored and bonzini committed Jul 5, 2017
    Copy the full SHA
    1d8ad16 View commit details
    Browse the repository at this point in the history
  13. target/i386: make cpu_get_fp80()/cpu_set_fp80() static

    Move cpu_get_fp80()/cpu_set_fp80() from fpu_helper.c to
    machine.c because fpu_helper.c will be disabled if tcg is
    disabled in the build.
    
    Signed-off-by: Yang Zhong <yang.zhong@intel.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    yangzhon authored and bonzini committed Jul 5, 2017
    Copy the full SHA
    db573d2 View commit details
    Browse the repository at this point in the history
  14. target/i386: move cpu_sync_bndcs_hflags() function

    Move cpu_sync_bndcs_hflags() function from mpx_helper.c
    to helper.c because mpx_helper.c need be disabled when
    tcg is disabled.
    
    Signed-off-by: Yang Zhong <yang.zhong@intel.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    yangzhon authored and bonzini committed Jul 5, 2017
    Copy the full SHA
    ab0a19d View commit details
    Browse the repository at this point in the history
  15. tcg: add the CONFIG_TCG into Makefiles

    Add the CONFIG_TCG for frontend and backend's files in the related
    Makefiles.
    
    Signed-off-by: Yang Zhong <yang.zhong@intel.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    yangzhon authored and bonzini committed Jul 5, 2017
    Copy the full SHA
    e4b4b64 View commit details
    Browse the repository at this point in the history
  16. tcg: add CONFIG_TCG guards in headers

    Add CONFIG_TCG around TLB-related functions and structure declarations.
    Some of these functions are defined in ./accel/tcg/cputlb.c, which will
    not be linked in if TCG is disabled, and have no stubs; therefore, their
    callers will also be compiled out for --disable-tcg.
    
    Signed-off-by: Yang Zhong <yang.zhong@intel.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    yangzhon authored and bonzini committed Jul 5, 2017
    Copy the full SHA
    b11ec7f View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2017

  1. exec: elide calls to tb_lock and tb_unlock

    Adding assertions fixes link errors.
    
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    bonzini committed Jul 4, 2017
    Copy the full SHA
    5aa1ef7 View commit details
    Browse the repository at this point in the history
  2. tcg: move tb_lock out of translate-all.h

    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    bonzini committed Jul 4, 2017
    Copy the full SHA
    beeaef5 View commit details
    Browse the repository at this point in the history
  3. tcg: add the tcg-stub.c file into accel/stubs/

    If tcg is disabled, the functions in tcg-stub.c file will be called.
    This file is target-independent file, do not include any platform
    related stub functions into this file.
    
    Signed-off-by: Yang Zhong <yang.zhong@intel.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    yangzhon authored and bonzini committed Jul 4, 2017
    Copy the full SHA
    a574cf9 View commit details
    Browse the repository at this point in the history
Older