Skip to content
Snippets Groups Projects
  1. Sep 12, 2023
  2. Sep 07, 2023
    • Paolo Bonzini's avatar
      contrib/plugins: use an independent makefile · bafe78ad
      Paolo Bonzini authored
      
      The initial reason to write this patch was to remove the last use of
      CONFIG_DEBUG_TCG from the makefiles; the flags to use to build TCG
      plugins are unrelated to --enable-debug-tcg, and instead they should
      be the same as those used to build emulators (the plugins are not build
      via meson for demonstration reasons only).
      
      However, since contrib/plugins/Makefile is also the last case of doing
      a compilation job using config-host.mak, go a step further and make it
      use a completely separate configuration file, removing all references
      to compilers from the toplevel config-host.mak.  Clean up references to
      empty variables, and use .SECONDARY so that intermediate object files
      are not deleted.
      
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      bafe78ad
    • Paolo Bonzini's avatar
      contrib/plugins: add Darwin support · f6feb021
      Paolo Bonzini authored
      
      Under Darwin, using -shared makes it impossible to have undefined symbols
      and -bundle has to be used instead; so detect the OS and use
      different options.
      
      Based-on: <20230907101811.469236-1-pbonzini@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      f6feb021
    • Philippe Mathieu-Daudé's avatar
      contrib/plugins/lockstep: Fix string format · 3045019f
      Philippe Mathieu-Daudé authored
      
      This fixes on Darwin:
      
        plugins/lockstep.c:138:25: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                us->pc, them->pc, g_slist_length(divergence_log),
                                ^~~~~~
        plugins/lockstep.c:138:33: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                us->pc, them->pc, g_slist_length(divergence_log),
                                        ^~~~~~~~
        plugins/lockstep.c:148:25: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                us->pc, us->insn_count, them->pc, them->insn_count);
                                ^~~~~~
        plugins/lockstep.c:148:49: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                us->pc, us->insn_count, them->pc, them->insn_count);
                                                        ^~~~~~~~
        plugins/lockstep.c:156:36: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                           prev->block->pc, prev->block->insns,
                                           ^~~~~~~~~~~~~~~
        plugins/lockstep.c:156:53: warning: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                           prev->block->pc, prev->block->insns,
                                                            ^~~~~~~~~~~~~~~~~~
      
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Message-ID: <20230907105004.88600-5-philmd@linaro.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      3045019f
    • Philippe Mathieu-Daudé's avatar
      contrib/plugins/howvec: Fix string format · 9b60d6a1
      Philippe Mathieu-Daudé authored
      
      This fixes on Darwin:
      
        plugins/howvec.c:186:40: warning: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                               class->count);
                                               ^~~~~~~~~~~~
        plugins/howvec.c:213:36: warning: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                           rec->count,
                                           ^~~~~~~~~~
      
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Message-ID: <20230907105004.88600-4-philmd@linaro.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      9b60d6a1
    • Philippe Mathieu-Daudé's avatar
      contrib/plugins/drcov: Fix string format · 3df17650
      Philippe Mathieu-Daudé authored
      
      This fixes on Darwin:
      
        plugins/drcov.c:52:13: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                    start_code, end_code, entry, path);
                    ^~~~~~~~~~
        plugins/drcov.c:52:25: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                    start_code, end_code, entry, path);
                                ^~~~~~~~
        plugins/drcov.c:52:35: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                    start_code, end_code, entry, path);
                                          ^~~~~
      
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Message-ID: <20230907105004.88600-3-philmd@linaro.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      3df17650
    • Philippe Mathieu-Daudé's avatar
      contrib/plugins/cache: Fix string format · 86e49b2e
      Philippe Mathieu-Daudé authored
      
      This fixes on Darwin:
      
        plugins/cache.c:550:28: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                   l1_daccess,
                                   ^~~~~~~~~~
        plugins/cache.c:551:28: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                   l1_dmisses,
                                   ^~~~~~~~~~
        plugins/cache.c:553:28: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                   l1_iaccess,
                                   ^~~~~~~~~~
        plugins/cache.c:554:28: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                   l1_imisses,
                                   ^~~~~~~~~~
        plugins/cache.c:560:32: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                       l2_access,
                                       ^~~~~~~~~
        plugins/cache.c:561:32: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                                       l2_misses,
                                       ^~~~~~~~~
        plugins/cache.c:665:52: warning: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                g_string_append_printf(rep, ", %ld, %s\n", insn->l1_dmisses,
                                               ~~~         ^~~~~~~~~~~~~~~~
                                               %llu
        plugins/cache.c:678:52: warning: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                g_string_append_printf(rep, ", %ld, %s\n", insn->l1_imisses,
                                               ~~~         ^~~~~~~~~~~~~~~~
                                               %llu
        plugins/cache.c:695:52: warning: format specifies type 'long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
                g_string_append_printf(rep, ", %ld, %s\n", insn->l2_misses,
                                               ~~~         ^~~~~~~~~~~~~~~
                                               %llu
      
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Message-ID: <20230907105004.88600-2-philmd@linaro.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      86e49b2e
    • Paolo Bonzini's avatar
      contrib/plugins: remove -soname argument · 07c4523c
      Paolo Bonzini authored
      
      -soname is not needed for runtime-loaded modules.  For example, Meson says:
      
                  if not isinstance(target, build.SharedModule) or target.force_soname:
                      # Add -Wl,-soname arguments on Linux, -install_name on OS X
                      commands += linker.get_soname_args(
                          self.environment, target.prefix, target.name, target.suffix,
                          target.soversion, target.darwin_versions)
      
      (force_soname is set is shared modules are linked into a build target, which is not
      the case here.
      
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      07c4523c
  3. Aug 31, 2023
  4. Jul 31, 2023
  5. Jul 10, 2023
    • Erico Nunes's avatar
      contrib/vhost-user-gpu: implement get_edid feature · c0644426
      Erico Nunes authored
      
      Implement the virtio-gpu feature in contrib/vhost-user-gpu, which was
      unsupported until now.
      In this implementation, the feature is enabled inconditionally to avoid
      creating another optional config argument.
      Similarly to get_display_info, vhost-user-gpu sends a message back to
      the frontend to have access to all the display information. In the
      case of get_edid, it also needs to pass which scanout we should
      retrieve the edid for.
      
      The VHOST_USER_GPU_PROTOCOL_F_EDID protocol feature is required if the
      frontend sets the VIRTIO_GPU_F_EDID virtio-gpu feature. If the frontend
      sets the virtio-gpu feature but does not support the protocol feature,
      the backend will abort with an error.
      
      Signed-off-by: default avatarErico Nunes <ernunes@redhat.com>
      Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <20230626164708.1163239-4-ernunes@redhat.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      c0644426
  6. Jul 03, 2023
  7. Jun 26, 2023
  8. Jun 02, 2023
    • Eric Blake's avatar
      cutils: Adjust signature of parse_uint[_full] · bd1386cc
      Eric Blake authored
      
      It's already confusing that we have two very similar functions for
      wrapping the parse of a 64-bit unsigned value, differing mainly on
      whether they permit leading '-'.  Adjust the signature of parse_uint()
      and parse_uint_full() to be like all of qemu_strto*(): put the result
      parameter last, use the same types (uint64_t and unsigned long long
      have the same width, but are not always the same type), and mark
      endptr const (this latter change only affects the rare caller of
      parse_uint).  Adjust all callers in the tree.
      
      While at it, note that since cutils.c already includes:
      
          QEMU_BUILD_BUG_ON(sizeof(int64_t) != sizeof(long long));
      
      we are guaranteed that the result of parse_uint* cannot exceed
      UINT64_MAX (or the build would have failed), so we can drop
      pre-existing dead comparisons in opts-visitor.c that were never false.
      
      Reviewed-by: default avatarHanna Czenczek <hreitz@redhat.com>
      Message-Id: <20230522190441.64278-8-eblake@redhat.com>
      [eblake: Drop dead code spotted by Markus]
      Signed-off-by: default avatarEric Blake <eblake@redhat.com>
      bd1386cc
  9. May 18, 2023
  10. Mar 22, 2023
  11. Mar 21, 2023
  12. Mar 10, 2023
  13. Feb 27, 2023
  14. Dec 21, 2022
  15. Dec 14, 2022
  16. Oct 31, 2022
  17. Oct 22, 2022
  18. Oct 06, 2022
Loading