Skip to content
Snippets Groups Projects
  1. Jul 28, 2022
  2. Jul 25, 2022
  3. Jul 13, 2022
  4. Jul 12, 2022
  5. Jul 08, 2022
  6. Jul 05, 2022
  7. Jun 27, 2022
  8. Jun 24, 2022
  9. Jun 15, 2022
    • Jagannathan Raman's avatar
      vfio-user: build library · 55116968
      Jagannathan Raman authored
      
      add the libvfio-user library as a submodule. build it as a meson
      subproject.
      
      libvfio-user is distributed with BSD 3-Clause license and
      json-c with MIT (Expat) license
      
      Signed-off-by: default avatarElena Ufimtseva <elena.ufimtseva@oracle.com>
      Signed-off-by: default avatarJohn G Johnson <john.g.johnson@oracle.com>
      Signed-off-by: default avatarJagannathan Raman <jag.raman@oracle.com>
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Message-id: c2adec87958b081d1dc8775d4aa05c897912f025.1655151679.git.jag.raman@oracle.com
      
      [Changed submodule URL to QEMU's libvfio-user mirror on GitLab. The QEMU
      project mirrors its dependencies so that it can provide full source code
      even in the event that its dependencies become unavailable. Note that
      the mirror repo is manually updated, so please contact me to make newer
      libvfio-user commits available. If I become a bottleneck we can set up a
      cronjob.
      
      Updated scripts/meson-buildoptions.sh to match the meson_options.txt
      change. Failure to do so can result in scripts/meson-buildoptions.sh
      being modified by the build system later on and you end up with a dirty
      working tree.
      --Stefan]
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      55116968
    • Sam Li's avatar
      Use io_uring_register_ring_fd() to skip fd operations · e2848bc5
      Sam Li authored
      
      Linux recently added a new io_uring(7) optimization API that QEMU
      doesn't take advantage of yet. The liburing library that QEMU uses
      has added a corresponding new API calling io_uring_register_ring_fd().
      When this API is called after creating the ring, the io_uring_submit()
      library function passes a flag to the io_uring_enter(2) syscall
      allowing it to skip the ring file descriptor fdget()/fdput()
      operations. This saves some CPU cycles.
      
      Signed-off-by: default avatarSam Li <faithilikerun@gmail.com>
      Message-id: 20220531105011.111082-1-faithilikerun@gmail.com
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      e2848bc5
    • Paolo Bonzini's avatar
      meson: put cross compiler info in a separate section · 12640f05
      Paolo Bonzini authored
      
      While at it, remove a dead assignment and simply inline the value of the
      "target" variable, which is used just once.
      
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      12640f05
    • Alexander Bulekov's avatar
      build: fix check for -fsanitize-coverage-allowlist · aa4f3a3b
      Alexander Bulekov authored
      
      The existing check has two problems:
      1. Meson uses a private directory for the get_supported_arguments check.
      ./instrumentation-filter does not exist in that private directory (it is
      copied into the root of the build-directory).
      
      2. fsanitize-coverage-allowlist is unused when coverage instrumentation
      is not configured. No instrumentation are passed for the
      get_supported_arguments check
      
      Thus the check always fails. To work around this, change the check to an
      "if cc.compiles" check and provide /dev/null, instead of the real
      filter.
      
      Meson log:
      Working directory:  build/meson-private/tmpl6wld2d9
      Command line:  clang-13 -m64 -mcx16
      build/meson-private/tmpl6wld2d9/output.obj -c -O3 -D_FILE_OFFSET_BITS=64
      -O0 -Werror=implicit-function-declaration -Werror=unknown-warning-option
      -Werror=unused-command-line-argument
      -Werror=ignored-optimization-argument
      -fsanitize-coverage-allowlist=instrumentation-filter
      
      Error:
      error: argument unused during compilation:
      '-fsanitize-coverage-allowlist=instrumentation-filter'
      
      Signed-off-by: default avatarAlexander Bulekov <alxndr@bu.edu>
      Message-Id: <20220614155415.4023833-1-alxndr@bu.edu>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      aa4f3a3b
  10. Jun 14, 2022
  11. Jun 06, 2022
  12. Jun 01, 2022
  13. May 28, 2022
  14. May 26, 2022
  15. May 18, 2022
  16. May 17, 2022
  17. May 16, 2022
    • Leonardo Bras's avatar
      meson.build: Fix docker-test-build@alpine when including linux/errqueue.h · 354081d4
      Leonardo Bras authored
      
      A build error happens in alpine CI when linux/errqueue.h is included
      in io/channel-socket.c, due to redefining of 'struct __kernel_timespec':
      
      ===
      ninja: job failed: [...]
      In file included from /usr/include/linux/errqueue.h:6,
                       from ../io/channel-socket.c:29:
      /usr/include/linux/time_types.h:7:8: error: redefinition of 'struct __kernel_timespec'
          7 | struct __kernel_timespec {
            |        ^~~~~~~~~~~~~~~~~
      In file included from /usr/include/liburing.h:19,
                       from /builds/user/qemu/include/block/aio.h:18,
                       from /builds/user/qemu/include/io/channel.h:26,
                       from /builds/user/qemu/include/io/channel-socket.h:24,
                       from ../io/channel-socket.c:24:
      /usr/include/liburing/compat.h:9:8: note: originally defined here
          9 | struct __kernel_timespec {
            |        ^~~~~~~~~~~~~~~~~
      ninja: subcommand failed
      ===
      
      As above error message suggests, 'struct __kernel_timespec' was already
      defined by liburing/compat.h.
      
      Fix alpine CI by adding test to disable liburing in configure step if a
      redefinition happens between linux/errqueue.h and liburing/compat.h.
      
      [dgilbert: This has been fixed in Alpine issue 13813 and liburing]
      
      Signed-off-by: default avatarLeonardo Bras <leobras@redhat.com>
      Message-Id: <20220513062836.965425-2-leobras@redhat.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      354081d4
    • Daniel P. Berrangé's avatar
      tests: add migration tests of TLS with x509 credentials · d47b83b1
      Daniel P. Berrangé authored
      
      This validates that we correctly handle migration success and failure
      scenarios when using TLS with x509 certificates. There are quite a few
      different scenarios that matter in relation to hostname validation.
      
      Signed-off-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Message-Id: <20220426160048.812266-5-berrange@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
        dgilbert: Manual merge due to ifdef change in 3
      d47b83b1
  18. May 12, 2022
  19. May 09, 2022
    • Nicolas Saenz Julienne's avatar
      util/main-loop: Introduce the main loop into QOM · 70ac26b9
      Nicolas Saenz Julienne authored
      
      'event-loop-base' provides basic property handling for all 'AioContext'
      based event loops. So let's define a new 'MainLoopClass' that inherits
      from it. This will permit tweaking the main loop's properties through
      qapi as well as through the command line using the '-object' keyword[1].
      Only one instance of 'MainLoopClass' might be created at any time.
      
      'EventLoopBaseClass' learns a new callback, 'can_be_deleted()' so as to
      mark 'MainLoop' as non-deletable.
      
      [1] For example:
            -object main-loop,id=main-loop,aio-max-batch=<value>
      
      Signed-off-by: default avatarNicolas Saenz Julienne <nsaenzju@redhat.com>
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Acked-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Message-id: 20220425075723.20019-3-nsaenzju@redhat.com
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      70ac26b9
    • Nicolas Saenz Julienne's avatar
      Introduce event-loop-base abstract class · 7d5983e3
      Nicolas Saenz Julienne authored
      
      Introduce the 'event-loop-base' abstract class, it'll hold the
      properties common to all event loops and provide the necessary hooks for
      their creation and maintenance. Then have iothread inherit from it.
      
      EventLoopBaseClass is defined as user creatable and provides a hook for
      its children to attach themselves to the user creatable class 'complete'
      function. It also provides an update_params() callback to propagate
      property changes onto its children.
      
      The new 'event-loop-base' class will live in the root directory. It is
      built on its own using the 'link_whole' option (there are no direct
      function dependencies between the class and its children, it all happens
      trough 'constructor' magic). And also imposes new compilation
      dependencies:
      
          qom <- event-loop-base <- blockdev (iothread.c)
      
      And in subsequent patches:
      
          qom <- event-loop-base <- qemuutil (util/main-loop.c)
      
      All this forced some amount of reordering in meson.build:
      
       - Moved qom build definition before qemuutil. Doing it the other way
         around (i.e. moving qemuutil after qom) isn't possible as a lot of
         core libraries that live in between the two depend on it.
      
       - Process the 'hw' subdir earlier, as it introduces files into the
         'qom' source set.
      
      No functional changes intended.
      
      Signed-off-by: default avatarNicolas Saenz Julienne <nsaenzju@redhat.com>
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Acked-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Message-id: 20220425075723.20019-2-nsaenzju@redhat.com
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      7d5983e3
  20. May 08, 2022
  21. May 07, 2022
Loading