Commit Graph

100997 Commits

Author SHA1 Message Date
Fabx 800eb468a4
ui: Warn user about no output when AV Pack set to "None" 2023-11-28 09:35:21 -07:00
Fabx b605381adb
ui: Use only one option for settings window (#1122)
* rebase code

* remove unsused item

* restore "system" displaying on first boot

* restore popup menu functions (separate commit)

* restore snapshot function in popup menu

* get current index value from config file
2023-11-19 14:16:06 -05:00
Matt Borgerson b3fc80b3a8 nv2a: Implement ZCLIP_MIN,MAX with gl_ClipDistance 2023-10-22 00:22:03 -07:00
Matt Borgerson 5fa08d20d6 nv2a: Scale Z by full depth range in inverse viewport transform 2023-10-22 00:22:03 -07:00
Matt Borgerson d6e5342f89 nvnet: Add unicast and multicast filtering 2023-10-18 01:33:40 -07:00
Matt Borgerson ccb1211cd6 nvnet: Use HWADDR_PRIx for debug hwaddr printing 2023-10-18 01:33:40 -07:00
7oxicshadow 51b0cda5ea
ui: Remember debug video size, position and state across restarts 2023-10-16 01:44:51 -04:00
Antonio Abbatangelo 1e73bf5325 vl: Prevent selection of HDD image as DVD image 2023-10-12 12:39:55 -07:00
Antonio Abbatangelo 38950d7e8c ui: Apply correct snapshot activation action for save menuitem 2023-10-12 11:17:12 -07:00
Matt Borgerson edecb41b97 accel/tcg: Support jit profiling with VTune 2023-08-02 00:57:03 -07:00
Revix-0 1d3c7c05d4 ui: Add option to hide cursor after a period of time 2023-08-02 00:54:43 -07:00
Matt Borgerson e5dd3cc1ce tcg/i386: Simplify FP ops further when AVX is available 2023-07-31 00:39:08 -07:00
Matt Borgerson f4ad6927e7 tcg/i386: Simplify FP ops 2023-07-31 00:39:08 -07:00
Matt Borgerson 16dd084612 Revert "vl: Move input init to exit_preconfig"
This reverts commit a5034584c0.
2023-07-28 16:31:15 -07:00
Matt Borgerson a5034584c0 vl: Move input init to exit_preconfig 2023-07-28 15:05:40 -07:00
Matt Borgerson c9eb5dd9ce tcg/i386: Support fabs,fchs with unique out,in 2023-07-28 14:48:25 -07:00
Matt Borgerson 8ab3658c85 tcg/i386: Support fmul with unique out,in0,in1 2023-07-28 14:48:25 -07:00
Matt Borgerson d7077a39af tcg/i386: Specify a0 output for clarity in fops 2023-07-28 14:48:25 -07:00
Matt Borgerson de611d611b nv2a: Left-align surface type in nv2a_pgraph_surface_target trace 2023-07-27 22:23:52 -07:00
Matt Borgerson 5c495db618 nv2a: Add [last_]surface_shape.clip_y to vmstate 2023-07-27 22:09:02 -07:00
Matt Borgerson 5055cc6401 ui: Add toggle to hide notifications 2023-07-27 19:54:46 -07:00
Matt Borgerson 15bf68594f imgui: Set remote to xemu fork 2023-07-22 21:34:39 -07:00
Matt Borgerson 93ab116e91 ui: Fix audio debug dialog spacing 2023-07-21 18:25:25 -07:00
Matt Borgerson 1985b63ffa ui: Fix controller nav 2023-07-21 17:45:20 -07:00
Matt Borgerson 8702713963 ui: Update httplib API 2023-07-21 01:35:58 -07:00
Matt Borgerson 45f3d303b3 httplib: Submodule and update to v0.13.1 2023-07-21 01:35:58 -07:00
Matt Borgerson 9c2144eb2b ui: Update ImPlot API 2023-07-21 01:35:58 -07:00
Matt Borgerson 1a5dff927d ui: Update Dear ImGui API 2023-07-21 01:35:58 -07:00
Matt Borgerson 81935947dc ui: Update Dear ImGui SDL2 impl name 2023-07-21 01:35:58 -07:00
Matt Borgerson f28fb5fe76 implot: Update to v0.15 2023-07-21 01:35:58 -07:00
Matt Borgerson 35a1f93825 imgui: Update to v1.89.7 2023-07-21 01:35:58 -07:00
Matt Borgerson 2ee8a42e9d xxHash: Update to dev @ 72e69d3 2023-07-21 01:35:58 -07:00
Matt Borgerson 94c9ce2d82 tomlplusplus: Update to v3.3.0 2023-07-21 01:35:58 -07:00
Matt Borgerson 0d132e43c7 ci: Add Windows symbols package 2023-07-20 17:52:56 -07:00
Matt Borgerson 9ce3cab385 build: Don't strip Windows release binary 2023-07-20 17:52:56 -07:00
Matt Borgerson ae55a3eb4d build: Drop commented-out data packaging 2023-07-20 17:52:56 -07:00
mborgerson 158cc0d140
Merge QEMU v7.2.4 2023-07-17 04:10:07 -07:00
Matt Borgerson 0f27526006 v7.2.4 release
-----BEGIN PGP SIGNATURE-----
 
 iQFDBAABCAAtFiEEe3O61ovnosKJMUsicBtPaxppPlkFAmSp1ksPHG1qdEB0bHMu
 bXNrLnJ1AAoJEHAbT2saaT5ZaU4IAKVA9cUkF8IORzcZ8iXy6kTjLNYXd458nURO
 PkrZ0DZfnUJTmyUDoR5gjZrZhRvvHGSyAnwBvd1WLeFZgD2yD2i2ZZczfI3uc3ov
 LkW6mMJRVEWFlszA6SCbFtZ+Z9hgbJidQmb+SxxxnCmrnQF48ysQ0Feg/B4TObMt
 Ej/xMEF52Ujr4VDe3Iq6dXp/AT8NwShEEc1VWFXbNJCNp2BM31FC21cFENPiv2y3
 2E8n+wOGxSSayArOEkgov55Mre9M7L79hOhRXgp0EmJP/nxmm9GTv5rETrT5USr7
 rZzDrsfS3muSArsGd7J4NkvyrParNmIBjSrOK0zX5p8pg9pVJ7U=
 =o+if
 -----END PGP SIGNATURE-----

Merge tag 'v7.2.4' into sync/qemu-7.2.0

v7.2.4 release
2023-07-17 03:29:42 -07:00
Paolo Bonzini ff50379f74 target/i386: fix operand size for VCOMI/VUCOMI instructions
Compared to other SSE instructions, VUCOMISx and VCOMISx are different:
the single and double precision versions are distinguished through a
prefix, however they use no-prefix and 0x66 for SS and SD respectively.
Scalar values usually are associated with 0xF2 and 0xF3.

Because of these, they incorrectly perform a 128-bit memory load instead
of a 32- or 64-bit load.  Fix this by writing a custom decoding function.

I tested that the reproducer is fixed and the test-avx output does not
change.

Reported-by: Gabriele Svelto <gsvelto@mozilla.com>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1637
Fixes: f8d19eec0d ("target/i386: reimplement 0x0f 0x28-0x2f, add AVX", 2022-10-18)
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2023-07-17 02:54:43 -07:00
Bernhard Beschow c37add4067 qemu/osdep: Switch position of "extern" and "G_NORETURN"
Fixes the Windows build under msys2 using GCC 12 which fails with the following
error:

  [184/579] Compiling C++ object qga/vss-win32/qga-vss.dll.p/install.cpp.obj
  FAILED: qga/vss-win32/qga-vss.dll.p/install.cpp.obj
  "c++" "-m64" "-mcx16" "-Iqga/vss-win32/qga-vss.dll.p" "-Iqga/vss-win32" "-I../src/qga/vss-win32" "-I." "-Iqapi" "-Itrace" "-Iui" "-Iui/shader" "-IC:/msys64/mingw64/include/glib-2.0" "-IC:/msys64/mingw64/lib/glib-2.0/include" "-fdiagnostics-color=auto" "-Wall" "-Winvalid-pch" "-Wnon-virtual-dtor" "-Werror" "-std=gnu++11" "-g" "-iquote" "." "-iquote" "C:/msys64/home/shentey/Projects/qemu/src" "-iquote" "C:/msys64/home/shentey/Projects/qemu/src/include" "-iquote" "C:/msys64/home/shentey/Projects/qemu/src/tcg/i386" "-D__STDC_LIMIT_MACROS" "-D__STDC_CONSTANT_MACROS" "-D__STDC_FORMAT_MACROS" "-fno-pie" "-no-pie" "-D_GNU_SOURCE" "-D_FILE_OFFSET_BITS=64" "-D_LARGEFILE_SOURCE" "-fno-strict-aliasing" "-fno-common" "-fwrapv" "-Wundef" "-Wwrite-strings" "-Wtype-limits" "-Wformat-security" "-Wformat-y2k" "-Winit-self" "-Wignored-qualifiers" "-Wempty-body" "-Wendif-labels" "-Wexpansion-to-defined" "-Wimplicit-fallthrough=2" "-Wmissing-format-attribute" "-Wno-missing-include-dirs" "-Wno-shift-negative-value" "-Wno-psabi" "-fstack-protector-strong" "-Wno-unknown-pragmas" "-Wno-delete-non-virtual-dtor" "-Wno-non-virtual-dtor" -MD -MQ qga/vss-win32/qga-vss.dll.p/install.cpp.obj -MF "qga/vss-win32/qga-vss.dll.p/install.cpp.obj.d" -o qga/vss-win32/qga-vss.dll.p/install.cpp.obj "-c" ../src/qga/vss-win32/install.cpp
  In file included from C:/msys64/mingw64/lib/glib-2.0/include/glibconfig.h:9,
              from C:/msys64/mingw64/include/glib-2.0/glib/gtypes.h:34,
              from C:/msys64/mingw64/include/glib-2.0/glib/galloca.h:34,
              from C:/msys64/mingw64/include/glib-2.0/glib.h:32,
              from C:/msys64/home/shentey/Projects/qemu/src/include/glib-compat.h:32,
              from C:/msys64/home/shentey/Projects/qemu/src/include/qemu/osdep.h:144,
              from ../src/qga/vss-win32/install.cpp:13:
  C:/msys64/mingw64/include/glib-2.0/glib/gmacros.h:1075:21: error: standard attributes in middle of decl-specifiers
  1075 | # define G_NORETURN [[noreturn]]
        |                     ^
  C:/msys64/home/shentey/Projects/qemu/src/include/qemu/osdep.h:240:8: note: in expansion of macro 'G_NORETURN'
  240 | extern G_NORETURN
        |        ^~~~~~~~~~
  C:/msys64/mingw64/include/glib-2.0/glib/gmacros.h:1075:21: note: standard attributes must precede the decl-specifiers to apply to the declaration, or follow them to apply to the type
  1075 | # define G_NORETURN [[noreturn]]
        |                     ^
  C:/msys64/home/shentey/Projects/qemu/src/include/qemu/osdep.h:240:8: note: in expansion of macro 'G_NORETURN'
  240 | extern G_NORETURN
        |        ^~~~~~~~~~
  C:/msys64/mingw64/include/glib-2.0/glib/gmacros.h:1075:21: error: attribute ignored [-Werror=attributes]
  1075 | # define G_NORETURN [[noreturn]]
        |                     ^
  C:/msys64/home/shentey/Projects/qemu/src/include/qemu/osdep.h:240:8: note: in expansion of macro 'G_NORETURN'
  240 | extern G_NORETURN
        |        ^~~~~~~~~~
  C:/msys64/mingw64/include/glib-2.0/glib/gmacros.h:1075:21: note: an attribute that appertains to a type-specifier is ignored
  1075 | # define G_NORETURN [[noreturn]]
        |                     ^
  C:/msys64/home/shentey/Projects/qemu/src/include/qemu/osdep.h:240:8: note: in expansion of macro 'G_NORETURN'
  240 | extern G_NORETURN
        |        ^~~~~~~~~~
  cc1plus.exe: all warnings being treated as errors

Apparently it also fixes the compilation with Clang 15 (see
https://gitlab.com/qemu-project/qemu/-/issues/1541 ).

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1541
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Message-Id: <20230318185931.181659-1-shentey@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2023-07-15 18:18:42 -07:00
Matt Borgerson 8da35b81a8 Merge remote-tracking branch 'origin/master' into sync/qemu-7.2.0 2023-07-15 17:24:01 -07:00
Matt Borgerson b5015e99b7 target/i386: Check CR0.TS before enter_mmx
When CR0.TS=1, execution of x87 FPU, MMX, and some SSE instructions will
cause a Device Not Available (DNA) exception (#NM). System software uses
this exception event to lazily context switch FPU state.

Before this patch, enter_mmx helpers may be generated just before #NM
generation, prematurely resetting FPU state before the guest has a
chance to save it.
2023-07-15 17:17:27 -07:00
Erik Abair 7bfb7c8537 nv2a: Remove assert on TEXGEN_OBJECT_LINEAR
The behavior seems to match HW.

[Test](https://github.com/abaire/nxdk_pgraph_tests/blob/main/src/tests/texgen_tests.cpp#L22)
![HW results](https://github.com/abaire/nxdk_pgraph_tests_golden_results/wiki/Results-Texgen#objectlinearpng)

Fixes #379
2023-07-09 21:19:43 -07:00
Erik Abair 22aaac801c nv2a: Compile fix for DEBUG_NV2A enabled 2023-07-08 21:52:41 -07:00
Michael Tokarev 681858ea14 Update version for 7.2.4 release
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2023-07-09 00:33:17 +03:00
Dongwon Kim 5cc60b67d3 ui/gtk: set the area of the scanout texture correctly
x and y offsets and width and height of the scanout texture
is not correctly configured in case guest scanout frame is
dmabuf.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Cc: Vivek Kasireddy <vivek.kasireddy@intel.com>
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Message-ID: <20230621213150.29573-1-dongwon.kim@intel.com>
(cherry picked from commit 37802a24eb)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2023-07-02 07:49:18 +03:00
Shameer Kolothum 3b1b9aa4d5 vfio/pci: Call vfio_prepare_kvm_msi_virq_batch() in MSI retry path
When vfio_enable_vectors() returns with less than requested nr_vectors
we retry with what kernel reported back. But the retry path doesn't
call vfio_prepare_kvm_msi_virq_batch() and this results in,

qemu-system-aarch64: vfio: Error: Failed to enable 4 MSI vectors, retry with 1
qemu-system-aarch64: ../hw/vfio/pci.c:602: vfio_commit_kvm_msi_virq_batch: Assertion `vdev->defer_kvm_irq_routing' failed

Fixes: dc580d51f7 ("vfio: defer to commit kvm irq routing when enable msi/msix")
Reviewed-by: Longpeng <longpeng2@huawei.com>
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
(cherry picked from commit c174088923)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2023-06-30 19:02:13 +03:00
Zhenzhong Duan c7b6b705ef vfio/pci: Fix a segfault in vfio_realize
The kvm irqchip notifier is only registered if the device supports
INTx, however it's unconditionally removed in vfio realize error
path. If the assigned device does not support INTx, this will cause
QEMU to crash when vfio realize fails. Change it to conditionally
remove the notifier only if the notify hook is setup.

Before fix:
(qemu) device_add vfio-pci,host=81:11.1,id=vfio1,bus=root1,xres=1
Connection closed by foreign host.

After fix:
(qemu) device_add vfio-pci,host=81:11.1,id=vfio1,bus=root1,xres=1
Error: vfio 0000:81:11.1: xres and yres properties require display=on
(qemu)

Fixes: c5478fea27 ("vfio/pci: Respond to KVM irqchip change notifier")
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Joao Martins <joao.m.martins@oracle.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
(cherry picked from commit 357bd7932a)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2023-06-30 19:00:39 +03:00
Nicholas Piggin 4d8459c365 target/ppc: Fix decrementer time underflow and infinite timer loop
It is possible to store a very large value to the decrementer that it
does not raise the decrementer exception so the timer is scheduled, but
the next time value wraps and is treated as in the past.

This can occur if (u64)-1 is stored on a zero-triggered exception, or
(u64)-1 is stored twice on an underflow-triggered exception, for
example.

If such a value is set in DECAR, it gets stored to the decrementer by
the timer function, which then immediately causes another timer, which
hangs QEMU.

Clamp the decrementer to the implemented width, and use that as the
value for the timer calculation, effectively preventing this overflow.

Reported-by: sdicaro@DDCI.com
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20230530131214.373524-1-npiggin@gmail.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
(cherry picked from commit 09d2db9f46)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2023-06-30 09:18:28 +03:00
Eugenio Pérez 78c4994e94 vdpa: mask _F_CTRL_GUEST_OFFLOADS for vhost vdpa devices
QEMU does not emulate it so it must be disabled as long as the backend
does not support it.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Message-Id: <20230602173328.1917385-1-eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Tested-by: Lei Yang <leiyang@redhat.com>
(cherry picked from commit 51e84244a7)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2023-06-30 09:11:26 +03:00