Skip to content
Snippets Groups Projects
  1. Sep 15, 2023
  2. Sep 13, 2023
    • Stefan Hajnoczi's avatar
      Merge tag 'pull-tpm-2023-09-12-3' of https://github.com/stefanberger/qemu-tpm into staging · 005ad323
      Stefan Hajnoczi authored
      Merge tpm 2023/09/12 v3
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQEzBAABCAAdFiEEuBi5yt+QicLVzsZrda1lgCoLQhEFAmUBrwgACgkQda1lgCoL
      # QhG9PQgA5drE1s0dYGkAIZimOsRKvduMV/kqeTmqnhGSUBM9jnYLWssnuG7/nDAi
      # IXTqoKOzw27TGZKNiKuCO7PvlKCeirPEk7KmHk2JrxjC/QjtExMZLF700eLemP9/
      # RBKwHerT8mLAkVuIGFvFgU9nQRrg/YX6kSvOFBJEl4XBn4w/vyY7gp3QbJgqcl36
      # jrL7qJXrxQnT0BRRy+NlmmG3WswIY6xZpURdYKWMAINeNSH2DW2JxiDov2+fUVWH
      # jp7SKBzCsXvD/RjRz1WWRpsrz3EtC7LiaLiB685XZsMcavb1zy0Pj7pchjr6NkwF
      # 2gTWFPr/YG/eYoodtix2r2ElG4hyJQ==
      # =WBnS
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Wed 13 Sep 2023 08:46:00 EDT
      # gpg:                using RSA key B818B9CADF9089C2D5CEC66B75AD65802A0B4211
      # gpg: Good signature from "Stefan Berger <stefanb@linux.vnet.ibm.com>" [unknown]
      # gpg: WARNING: This key is not certified with a trusted signature!
      # gpg:          There is no indication that the signature belongs to the owner.
      # Primary key fingerprint: B818 B9CA DF90 89C2 D5CE  C66B 75AD 6580 2A0B 4211
      
      * tag 'pull-tpm-2023-09-12-3' of https://github.com/stefanberger/qemu-tpm
      
      :
        tpm: fix crash when FD >= 1024 and unnecessary errors due to EINTR
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      005ad323
    • Stefan Hajnoczi's avatar
      Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging · 6a2557c2
      Stefan Hajnoczi authored
      * target/i386: fix non-optimized compilation on clang
      * fix detection of Solaris/IllumOS
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmUBj8cUHHBib256aW5p
      # QHJlZGhhdC5jb20ACgkQv/vSX3jHroOP7QgApdNqHKH4zNbBRPk/cxYDZEd0maPl
      # nolD0eBts5ZWDYnQk/fFzHflzh/b5F119xv9H3fB86i/D2JNUMdqFR8QmQr9ZwEW
      # izjXe8CdWto4dsW2RQbxGihThjMGu5BTZucqKSvLiZcyTQhPhwZ917Jo9YM5k072
      # /1ECrCZYmCr2RECyNG6/zRrph8hustz5O0QEL65YhqK8ztttr+7E33m3CJ1fGEDy
      # nbXu/WKrUxG20ohQJJ7Slpt9XTBGQXlfUO5gSg3nxkS9xqOjc15sCh+yit4gvS8f
      # IDi8xD2JTWP05xQppSv33plEvmi+KrCY8d965isRsVbzPh5qB2osBoAa/A==
      # =bOr3
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Wed 13 Sep 2023 06:32:39 EDT
      # gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
      # gpg:                issuer "pbonzini@redhat.com"
      # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
      # gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [full]
      # 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
      
      * tag 'for-upstream' of https://gitlab.com/bonzini/qemu
      
      :
        target/i386: Call accel-agnostic x86_cpu_get_supported_cpuid()
        target/i386: Drop accel_uses_host_cpuid before x86_cpu_get_supported_cpuid
        target/i386: Check kvm_hyperv_expand_features() return value
        meson: Fix targetos match for illumos and Solaris.
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      6a2557c2
    • Stefan Hajnoczi's avatar
      Merge tag 'nvme-next-pull-request' of https://gitlab.com/birkelund/qemu into staging · 6c71b8a5
      Stefan Hajnoczi authored
      hw/nvme updates
      
      Two fixes for dynamic array allocation.
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQEzBAABCgAdFiEEUigzqnXi3OaiR2bATeGvMW1PDekFAmUAc8AACgkQTeGvMW1P
      # DelwhQgAxD7imw85V89Dz58LgrFoq5XZz2cq6Q5BsudyZd8FW5r7lOn9c1i0Yu2x
      # iiP93FX0b5LPQ9/8/liz3oHu1HZ7+hX+VeDZSQ1/bugfXM/eDSPA7lf7GG1np312
      # 9lKRs8o+T4Di7v93kdiEi6G3b0jQSmZ722aMa54isk58hy1mcUTnGxvPZpVZutTP
      # lYhwuElQIsnnKXB0jaRlpcDkpXdHJ1wwziaYLM7pus+tElMiSkFP05j2pX9iigKu
      # 7g+Hs+DaqrOzdoF/6uu72IKygq3/5H8iou1No/7OICWbFti5Qhhra0OKQE6nrlKd
      # 51fnWA6VjpO5g9+diwRRYbjEiOrkqQ==
      # =wn4B
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Tue 12 Sep 2023 10:20:48 EDT
      # gpg:                using RSA key 522833AA75E2DCE6A24766C04DE1AF316D4F0DE9
      # gpg: Good signature from "Klaus Jensen <its@irrelevant.dk>" [unknown]
      # gpg:                 aka "Klaus Jensen <k.jensen@samsung.com>" [unknown]
      # gpg: WARNING: This key is not certified with a trusted signature!
      # gpg:          There is no indication that the signature belongs to the owner.
      # Primary key fingerprint: DDCA 4D9C 9EF9 31CC 3468  4272 63D5 6FC5 E55D A838
      #      Subkey fingerprint: 5228 33AA 75E2 DCE6 A247  66C0 4DE1 AF31 6D4F 0DE9
      
      * tag 'nvme-next-pull-request' of https://gitlab.com/birkelund/qemu
      
      :
        hw/nvme: Avoid dynamic stack allocation
        hw/nvme: Use #define to avoid variable length array
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      6c71b8a5
    • Marc-André Lureau's avatar
      tpm: fix crash when FD >= 1024 and unnecessary errors due to EINTR · 8e32ddff
      Marc-André Lureau authored
      Replace select() with poll() to fix a crash when QEMU has a large number
      of FDs. Also use RETRY_ON_EINTR to avoid unnecessary errors due to EINTR.
      
      Cc: qemu-stable@nongnu.org
      Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2020133
      
      
      Fixes: 56a3c24f ("tpm: Probe for connected TPM 1.2 or TPM 2")
      Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: default avatarMichael Tokarev <mjt@tls.msk.ru>
      Reviewed-by: default avatarStefan Berger <stefanb@linux.ibm.com>
      Signed-off-by: default avatarStefan Berger <stefanb@linux.ibm.com>
      8e32ddff
    • Stefan Hajnoczi's avatar
      Merge tag 'pull-request-2023-09-12' of https://gitlab.com/thuth/qemu into staging · 9a8af699
      Stefan Hajnoczi authored
      * Enable AP (crypto adapter) instructions for s390x PV-guests
      * Allow NVME for s390x machines
      * Update Linux headers to v6.6-rc1
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmUATY8RHHRodXRoQHJl
      # ZGhhdC5jb20ACgkQLtnXdP5wLbVjBhAAlfXhQuxFdSRkPLyPgSuAInGTZfsW7A56
      # 6vunyzP3ZyY5G0WtbgKZ5ovDIfjzlNYvkxWmQ4m4PWEY2JaBKOqeS9+lFkdZmGD9
      # Sj1u+EereQS5MsJ31Vg2LHDKv5QbtNbVOq4KIm30qpzj1OfhfZzzqU0tGnaDlz/T
      # PW2bSQl4cGHExcYpprWx02cXsMnodWwGV2FTgtc9D42YyE1q5IDX8phjFFzUHfcQ
      # p3cjM0S2M8KOGJ5+0w2/0C4DEKgLH0OuA/JY3W+f94O+jdqoYUJpom4m6FywIKrr
      # 38c7UqQESh7r/te1UkgvxfVCbTlptsS21xQNbsa+TS/apP6IMU7VJI3N14Qshtba
      # cqcP54aGC+9v5FRz7E5njCJWJQv9JWInrKYTEEtSTFCguGCQO2owulba70MNrQc8
      # hQkBXOzqnqYVxdktcHkbnq6QZoKLfsGAxfarQPPJySNUyGgoaM0JFlzp3z0hjAHY
      # aGRZdN4kU+hF7/0RQygYDN4AzTQhn3EMZ6q6o81xVeKzfbziA3fCLXX5J1bd+rO8
      # 3LKPrmOuk3dadRVlVTyFrtlG9SEMRen8dh12oru28ebW2WTeYm71zQf7SCPGzaKE
      # hJMtlN7B9ogGxDpLJvTDLHbKNbwyIcW00GjyWiUwBg88ACg63tulD2kpUxBs2PwF
      # bVk/lIWMqL0=
      # =zeRZ
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Tue 12 Sep 2023 07:37:51 EDT
      # gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
      # gpg:                issuer "thuth@redhat.com"
      # gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
      # gpg:                 aka "Thomas Huth <thuth@redhat.com>" [full]
      # gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [full]
      # gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
      # Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5
      
      * tag 'pull-request-2023-09-12' of https://gitlab.com/thuth/qemu
      
      :
        tests/qtest/pflash: Clean up local variable shadowing
        kconfig: Add NVME to s390x machines
        target/s390x: AP-passthrough for PV guests
        target/s390x/kvm: Refactor AP functionalities
        linux-headers: Update to Linux v6.6-rc1
        s390x: do a subsystem reset before the unprotect on reboot
        s390x/ap: fix missing subsystem reset registration
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      9a8af699
    • Stefan Hajnoczi's avatar
      Merge tag 'ui-pull-request' of https://gitlab.com/marcandre.lureau/qemu into staging · 7754c971
      Stefan Hajnoczi authored
      UI patch queue
      
      - vhost-user-gpu: support dmabuf modifiers
      - fix VNC crash when there are no active_console
      - cleanups and refactoring in ui/vc code
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQJQBAABCAA6FiEEh6m9kz+HxgbSdvYt2ujhCXWWnOUFAmUAQX4cHG1hcmNhbmRy
      # ZS5sdXJlYXVAcmVkaGF0LmNvbQAKCRDa6OEJdZac5Y4jD/4/whR7a1KZqHytl6sc
      # cCQ0Xn0gpcPM8rn3tWItp2vAOlGmx8ACfAyXYa5QzO7pBOU/xoMJt8a99geNRXFu
      # nN33UJ0NRAWW6V0/cF5AVe9clckzs1Vq4VX2ITP+VAG+c+kt4E3fgFn9o8nwnBrd
      # zuiqYz4pO9yBVO/av/FZQcBY8s9/M8jrdraDNNhsY2O2k2zLTxt1xxNG5qeVvPUw
      # 2RZyc/EOG7RzW8eUA55BW/NU8Olg5u7dxsB0jfYnWBQxknOy5c+wF9MTGJSKmdGk
      # HmgfMns6intUdfHmmJuDpP1Tiy1sVK1lkrsMeeQ67M84lYZsrSI+kIG5+YbWN8vx
      # mMB/qwDmNMVMnGiBN5/ktvAJwcilYBUqen0KFrEHBghTpGhqAVoBNCC1MT/9w/bO
      # c3/E1viuCi8OamPixVu9LeqQsxuP2jK5qxjfyDYH87HdnljSY6wFbVzD/2zz5YNv
      # 43JtEbP9bv1yyRRd+JTpD54vCK0IZK7MBR8MbJqfknpbEw1FSPofRQxCSe9BlSJ/
      # nYamatH9I9i92kGg5eD573X+UcLX9eOPBw8gVNKxuttwSIW1cwjGKi12B9MiFMg7
      # Z6jP3gvpe9DrYef+4Wojo1PAioyweZVG5IFtWIqXRZjPwAoIzzVgBcEtcq4qeZwX
      # BAliXWeUcRGsbLorT3COx2DjBw==
      # =Xsr0
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Tue 12 Sep 2023 06:46:22 EDT
      # gpg:                using RSA key 87A9BD933F87C606D276F62DDAE8E10975969CE5
      # gpg:                issuer "marcandre.lureau@redhat.com"
      # gpg: Good signature from "Marc-André Lureau <marcandre.lureau@redhat.com>" [full]
      # gpg:                 aka "Marc-André Lureau <marcandre.lureau@gmail.com>" [full]
      # Primary key fingerprint: 87A9 BD93 3F87 C606 D276  F62D DAE8 E109 7596 9CE5
      
      * tag 'ui-pull-request' of https://gitlab.com/marcandre.lureau/qemu
      
      :
        ui: add precondition for dpy_get_ui_info()
        ui: fix crash when there are no active_console
        virtio-gpu/win32: set the destroy function on load
        ui/console: move DisplaySurface to its own header
        ui/vc: split off the VC part from console.c
        ui/vc: preliminary QemuTextConsole changes before split
        ui/console: remove redundant format field
        ui/vc: rename kbd_put to qemu_text_console functions
        ui/vc: remove kbd_put_keysym() and update function calls
        vmmouse: use explicit code
        vmmouse: replace DPRINTF with tracing
        vhost-user-gpu: support dmabuf modifiers
        contrib/vhost-user-gpu: add support for sending dmabuf modifiers
        docs: vhost-user-gpu: add protocol changes for dmabuf modifiers
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      7754c971
    • Philippe Mathieu-Daudé's avatar
      target/i386: Call accel-agnostic x86_cpu_get_supported_cpuid() · d0474024
      Philippe Mathieu-Daudé authored
      
      x86_cpu_get_supported_cpuid() is generic and handles the different
      accelerators. Use it instead of kvm_arch_get_supported_cpuid().
      
      That fixes a link failure introduced by commit 3adce820
      ("target/i386: Remove unused KVM stubs") when QEMU is configured
      as:
      
        $ ./configure --cc=clang \
          --target-list=x86_64-linux-user,x86_64-softmmu \
          --enable-debug
      
      We were getting:
      
        [71/71] Linking target qemu-x86_64
        FAILED: qemu-x86_64
        /usr/bin/ld: libqemu-x86_64-linux-user.fa.p/target_i386_cpu.c.o: in function `cpu_x86_cpuid':
        cpu.c:(.text+0x1374): undefined reference to `kvm_arch_get_supported_cpuid'
        /usr/bin/ld: libqemu-x86_64-linux-user.fa.p/target_i386_cpu.c.o: in function `x86_cpu_filter_features':
        cpu.c:(.text+0x81c2): undefined reference to `kvm_arch_get_supported_cpuid'
        /usr/bin/ld: cpu.c:(.text+0x81da): undefined reference to `kvm_arch_get_supported_cpuid'
        /usr/bin/ld: cpu.c:(.text+0x81f2): undefined reference to `kvm_arch_get_supported_cpuid'
        /usr/bin/ld: cpu.c:(.text+0x820a): undefined reference to `kvm_arch_get_supported_cpuid'
        /usr/bin/ld: libqemu-x86_64-linux-user.fa.p/target_i386_cpu.c.o:cpu.c:(.text+0x8225): more undefined references to `kvm_arch_get_supported_cpuid' follow
        clang: error: linker command failed with exit code 1 (use -v to see invocation)
        ninja: build stopped: subcommand failed.
      
      For the record, this is because '--enable-debug' disables
      optimizations (CFLAGS=-O0).
      
      While at this (un)optimization level GCC eliminate the
      following dead code (CPP output of mentioned build):
      
       static void x86_cpu_get_supported_cpuid(uint32_t func, uint32_t index,
                                               uint32_t *eax, uint32_t *ebx,
                                               uint32_t *ecx, uint32_t *edx)
       {
           if ((0)) {
               *eax = kvm_arch_get_supported_cpuid(kvm_state, func, index, R_EAX);
               *ebx = kvm_arch_get_supported_cpuid(kvm_state, func, index, R_EBX);
               *ecx = kvm_arch_get_supported_cpuid(kvm_state, func, index, R_ECX);
               *edx = kvm_arch_get_supported_cpuid(kvm_state, func, index, R_EDX);
           } else if (0) {
               *eax = 0;
               *ebx = 0;
               *ecx = 0;
               *edx = 0;
           } else {
               *eax = 0;
               *ebx = 0;
               *ecx = 0;
               *edx = 0;
           }
      
      Clang does not (see commit 2140cfa5 "i386: Fix build by
      providing stub kvm_arch_get_supported_cpuid()").
      
      Cc: qemu-stable@nongnu.org
      Fixes: 3adce820 ("target/i386: Remove unused KVM stubs")
      Reported-by: default avatarKevin Wolf <kwolf@redhat.com>
      Suggested-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Message-ID: <20230913093009.83520-4-philmd@linaro.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      d0474024
    • Philippe Mathieu-Daudé's avatar
      target/i386: Drop accel_uses_host_cpuid before x86_cpu_get_supported_cpuid · da472f94
      Philippe Mathieu-Daudé authored
      
      x86_cpu_get_supported_cpuid() already checks for KVM/HVF
      accelerators, so it is not needed to manually check it via
      a call to accel_uses_host_cpuid() before calling it.
      
      Suggested-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Message-ID: <20230913093009.83520-3-philmd@linaro.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      da472f94
    • Philippe Mathieu-Daudé's avatar
      target/i386: Check kvm_hyperv_expand_features() return value · 652a5f22
      Philippe Mathieu-Daudé authored
      
      In case more code is added after the kvm_hyperv_expand_features()
      call, check its return value (since it can fail).
      
      Fixes: 071ce4b0 ("i386: expand Hyper-V features during CPU feature expansion time")
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Message-ID: <20230913093009.83520-2-philmd@linaro.org>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      652a5f22
    • Jonathan Perkin's avatar
      meson: Fix targetos match for illumos and Solaris. · fb0a8b0e
      Jonathan Perkin authored
      qemu 8.1.0 breaks on illumos platforms due to _XOPEN_SOURCE and others no longer being set correctly, leading to breakage such as:
      
        https://us-central.manta.mnx.io/pkgsrc/public/reports/trunk/tools/20230908.1404/qemu-8.1.0/build.log
      
      
      
      This is a result of meson conversion which incorrectly matches against 'solaris' instead of 'sunos' for uname.
      
      First time submitting a patch here, hope I did it correctly.  Thanks.
      
      Signed-off-by: default avatarJonathan Perkin <jonathan@perkin.org.uk>
      Message-ID: <ZPtdxtum9UVPy58J@perkin.org.uk>
      Cc: qemu-stable@nongnu.org
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      fb0a8b0e
  3. Sep 12, 2023
  4. Sep 11, 2023
    • Stefan Hajnoczi's avatar
      Merge tag 'pull-vfio-20230911' of https://github.com/legoater/qemu into staging · 9ef49775
      Stefan Hajnoczi authored
      vfio queue:
      
      * Small downtime optimisation for VFIO migration
      * P2P support for VFIO migration
      * Introduction of a save_prepare() handler to fail VFIO migration
      * Fix on DMA logging ranges calculation for OVMF enabling dynamic window
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQIzBAABCAAdFiEEoPZlSPBIlev+awtgUaNDx8/77KEFAmT+uZQACgkQUaNDx8/7
      # 7KGFSw//UIqSet6MUxZZh/t7yfNFUTnxx6iPdChC3BphBaDDh99FCQrw5mPZ8ImF
      # 4rz0cIwSaHXraugEsC42TDaGjEmcAmYD0Crz+pSpLU21nKtYyWtZy6+9kyYslMNF
      # bUq0UwD0RGTP+ZZi6GBy1hM30y/JbNAGeC6uX8kyJRuK5Korfzoa/X5h+B2XfouW
      # 78G1mARHq5eOkGy91+rAJowdjqtkpKrzkfCJu83330Bb035qAT/PEzGs5LxdfTla
      # ORNqWHy3W+d8ZBicBQ5vwrk6D5JIZWma7vdXJRhs1wGO615cuyt1L8nWLFr8klW5
      # MJl+wM7DZ6UlSODq7r839GtSuWAnQc2j7JKc+iqZuBBk1v9fGXv2tZmtuTGkG2hN
      # nYXSQfuq1igu1nGVdxJv6WorDxsK9wzLNO2ckrOcKTT28RFl8oCDNSPPTKpwmfb5
      # i5RrGreeXXqRXIw0VHhq5EqpROLjAFwE9tkJndO8765Ag154plxssaKTUWo5wm7/
      # kjQVuRuhs5nnMXfL9ixLZkwD1aFn5fWAIaR0psH5vGD0fnB1Pba+Ux9ZzHvxp5D8
      # Kg3H6dKlht6VXdQ/qb0Up1LXCGEa70QM6Th2iO924ydZkkmqrSj+CFwGHvBsINa4
      # 89fYd77nbRbdwWurj3JIznJYVipau2PmfbjZ/jTed4RxjBQ+fPA=
      # =44e0
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Mon 11 Sep 2023 02:54:12 EDT
      # gpg:                using RSA key A0F66548F04895EBFE6B0B6051A343C7CFFBECA1
      # gpg: Good signature from "Cédric Le Goater <clg@redhat.com>" [unknown]
      # gpg:                 aka "Cédric Le Goater <clg@kaod.org>" [unknown]
      # gpg: WARNING: This key is not certified with a trusted signature!
      # gpg:          There is no indication that the signature belongs to the owner.
      # Primary key fingerprint: A0F6 6548 F048 95EB FE6B  0B60 51A3 43C7 CFFB ECA1
      
      * tag 'pull-vfio-20230911' of https://github.com/legoater/qemu
      
      :
        vfio/common: Separate vfio-pci ranges
        vfio/migration: Block VFIO migration with background snapshot
        vfio/migration: Block VFIO migration with postcopy migration
        migration: Add .save_prepare() handler to struct SaveVMHandlers
        migration: Move more initializations to migrate_init()
        vfio/migration: Fail adding device with enable-migration=on and existing blocker
        migration: Add migration prefix to functions in target.c
        vfio/migration: Allow migration of multiple P2P supporting devices
        vfio/migration: Add P2P support for VFIO migration
        vfio/migration: Refactor PRE_COPY and RUNNING state checks
        qdev: Add qdev_add_vm_change_state_handler_full()
        sysemu: Add prepare callback to struct VMChangeStateEntry
        vfio/migration: Move from STOP_COPY to STOP in vfio_save_cleanup()
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      9ef49775
    • Stefan Hajnoczi's avatar
      Merge tag 'pull-riscv-to-apply-20230911' of https://github.com/alistair23/qemu into staging · cb6c406e
      Stefan Hajnoczi authored
      First RISC-V PR for 8.2
      
       * Remove 'host' CPU from TCG
       * riscv_htif Fixup printing on big endian hosts
       * Add zmmul isa string
       * Add smepmp isa string
       * Fix page_check_range use in fault-only-first
       * Use existing lookup tables for MixColumns
       * Add RISC-V vector cryptographic instruction set support
       * Implement WARL behaviour for mcountinhibit/mcounteren
       * Add Zihintntl extension ISA string to DTS
       * Fix zfa fleq.d and fltq.d
       * Fix upper/lower mtime write calculation
       * Make rtc variable names consistent
       * Use abi type for linux-user target_ucontext
       * Add RISC-V KVM AIA Support
       * Fix riscv,pmu DT node path in the virt machine
       * Update CSR bits name for svadu extension
       * Mark zicond non-experimental
       * Fix satp_mode_finalize() when satp_mode.supported = 0
       * Fix non-KVM --enable-debug build
       * Add new extensions to hwprobe
       * Use accelerated helper for AES64KS1I
       * Allocate itrigger timers only once
       * Respect mseccfg.RLB for pmpaddrX changes
       * Align the AIA model to v1.0 ratified spec
       * Don't read the CSR in riscv_csrrw_do64
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQIzBAABCAAdFiEEaukCtqfKh31tZZKWr3yVEwxTgBMFAmT+ttMACgkQr3yVEwxT
      # gBN/rg/+KhOvL9xWSNb8pzlIsMQHLvndno0Sq5b9Rb/o5z1ekyYfyg6712N3JJpA
      # TIfZzOIW7oYZV8gHyaBtOt8kIbrjwzGB2rpCh4blhm+yNZv7Ym9Ko6AVVzoUDo7k
      # 2dWkLnC+52/l3SXGeyYMJOlgUUsQMwjD6ykDEr42P6DfVord34fpTH7ftwSasO9K
      # 35qJQqhUCgB3fMzjKTYICN6Rm1UluijTjRNXUZXC0XZlr+UKw2jT/UsybbWVXyNs
      # SmkRtF1MEVGvw+b8XOgA/nG1qVCWglTMcPvKjWMY+cY9WLM6/R9nXAV8OL/JPead
      # v1LvROJNukfjNtDW6AOl5/svOJTRLbIrV5EO7Hlm1E4kftGmE5C+AKZZ/VT4ucUK
      # XgqaHoXh26tFEymVjzbtyFnUHNv0zLuGelTnmc5Ps1byLSe4lT0dBaJy6Zizg0LE
      # DpTR7s3LpyV3qB96Xf9bOMaTPsekUjD3dQI/3X634r36+YovRXapJDEDacN9whbU
      # BSZc20NoM5UxVXFTbELQXolue/X2BRLxpzB+BDG8/cpu/MPgcCNiOZaVrr/pOo33
      # 6rwwrBhLSCfYAXnJ52qTUEBz0Z/FnRPza8AU/uuRYRFk6JhUXIonmO6xkzsoNKuN
      # QNnih/v1J+1XqUyyT2InOoAiTotzHiWgKZKaMfAhomt2j/slz+A=
      # =aqcx
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Mon 11 Sep 2023 02:42:27 EDT
      # gpg:                using RSA key 6AE902B6A7CA877D6D659296AF7C95130C538013
      # gpg: Good signature from "Alistair Francis <alistair@alistair23.me>" [unknown]
      # gpg: WARNING: This key is not certified with a trusted signature!
      # gpg:          There is no indication that the signature belongs to the owner.
      # Primary key fingerprint: 6AE9 02B6 A7CA 877D 6D65  9296 AF7C 9513 0C53 8013
      
      * tag 'pull-riscv-to-apply-20230911' of https://github.com/alistair23/qemu
      
      : (45 commits)
        target/riscv: don't read CSR in riscv_csrrw_do64
        target/riscv: Align the AIA model to v1.0 ratified spec
        target/riscv/pmp.c: respect mseccfg.RLB for pmpaddrX changes
        target/riscv: Allocate itrigger timers only once
        target/riscv: Use accelerated helper for AES64KS1I
        linux-user/riscv: Add new extensions to hwprobe
        hw/intc/riscv_aplic.c fix non-KVM --enable-debug build
        hw/riscv/virt.c: fix non-KVM --enable-debug build
        riscv: zicond: make non-experimental
        target/riscv: fix satp_mode_finalize() when satp_mode.supported = 0
        target/riscv: Update CSR bits name for svadu extension
        hw/riscv: virt: Fix riscv,pmu DT node path
        target/riscv: select KVM AIA in riscv virt machine
        target/riscv: update APLIC and IMSIC to support KVM AIA
        target/riscv: Create an KVM AIA irqchip
        target/riscv: check the in-kernel irqchip support
        target/riscv: support the AIA device emulation with KVM enabled
        linux-user/riscv: Use abi type for target_ucontext
        hw/intc: Make rtc variable names consistent
        hw/intc: Fix upper/lower mtime write calculation
        ...
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      cb6c406e
    • Stefan Hajnoczi's avatar
      Merge tag 'for-upstream' of https://repo.or.cz/qemu/kevin into staging · 78f8b6d9
      Stefan Hajnoczi authored
      Block layer patches
      
      - Optimise reqs_lock to make multiqueue actually scale
      - virtio: Drop out of coroutine context in virtio_load()
      - iotests: Fix reference output for some tests after recent changes
      - vpc: Avoid dynamic stack allocation
      - Code cleanup, improved documentation
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQJFBAABCAAvFiEE3D3rFZqa+V09dFb+fwmycsiPL9YFAmT7VYgRHGt3b2xmQHJl
      # ZGhhdC5jb20ACgkQfwmycsiPL9YfOg/7BoYF6lkB7DF/jH3XLY6f8zoI+OVM7dg1
      # QFEjyVO+uZiJVh0CeBNI9WgnBe7f5vXMbiStyGbWKo3BLUsjnwoQcW/Sxpw61bR2
      # jZYK6UHe0RhFqTQpbt8G1iCmlpRS+sX+Cy+lxcVcbqxcnLRXCOjT6ivyA4bGbYIC
      # q9BHg/9hBmjuM05NTV6Axy8qjqBGVaIWE9ALTnw8H//waBr4/ydJPTl7EWHe3+tO
      # Stm73evgPG7aLHM6W4qdFW4gwAQ8f+f42Q+0NH1YavB/pN3LTN1B6sLQY/51du+0
      # d/JCsXex0IZQXmNPhqv1h01vhOyU9WBmlwpPG2iZv3a06SXk1ys3rQt/L7uIcsZg
      # Z58CpcUJ517FERnkl0BWXzYhsdcW2K+RdlaiL5PX6H1A2B9LT05ouZfD47hh7kKv
      # oX+Ulk05PFr3JRCKQF6QDEejRKXt169bGzInTlns/wXinD/V4sCkUnr9aWQuhoWk
      # KhQm7WMscTTIyHP2FznO4x9kq0ALsoX/NKqBW2wgJUtqRzsd4XxPp5CXEsAir8Vt
      # dpne/DaV5iDI1mGFJrvkctJN545tEoezBtUzC8/9rZGE0cxHAkhvQVZUDo7xVmrq
      # PlGQ1ko9cNui/Gf9B6qDqaJJwSyw0S6vHurGVQJRwbyly57Fi5aisWkr4w7Rc4eA
      # 7u9B1RvwF/Q=
      # =2wGD
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Fri 08 Sep 2023 13:10:32 EDT
      # gpg:                using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6
      # gpg:                issuer "kwolf@redhat.com"
      # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
      # Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6
      
      * tag 'for-upstream' of https://repo.or.cz/qemu/kevin
      
      :
        virtio: Drop out of coroutine context in virtio_load()
        vmstate: Mark VMStateInfo.get/put() coroutine_mixed_fn
        block: Make more BlockDriver definitions static
        block/meson.build: Restore alphabetical order of files
        block: Remove unnecessary variable in bdrv_block_device_info
        block: Remove bdrv_query_block_node_info
        vmdk: Clean up bdrv_open_child() return value check
        qemu-img: Update documentation for compressed images
        block: Be more verbose in create fallback
        block/iscsi: Document why we use raw malloc()
        qemu-img: omit errno value in error message
        block: change reqs_lock to QemuMutex
        block: minimize bs->reqs_lock section in tracked_request_end()
        iotests: adapt test output for new qemu_cleanup() behavior
        block/vpc: Avoid dynamic stack allocation
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      78f8b6d9
    • Stefan Hajnoczi's avatar
      Merge tag 'pull-target-arm-20230908' of... · a7e8e30e
      Stefan Hajnoczi authored
      Merge tag 'pull-target-arm-20230908' of https://git.linaro.org/people/pmaydell/qemu-arm into staging
      
      target-arm queue:
       * New CPU type: cortex-a710
       * Implement new architectural features:
          - FEAT_PACQARMA3
          - FEAT_EPAC
          - FEAT_Pauth2
          - FEAT_FPAC
          - FEAT_FPACCOMBINE
          - FEAT_TIDCP1
       * Xilinx Versal: Model the CFU/CFI
       * Implement RMR_ELx registers
       * Implement handling of HCR_EL2.TIDCP trap bit
       * arm/kvm: Enable support for KVM_CAP_ARM_EAGER_SPLIT_CHUNK_SIZE
       * hw/intc/arm_gicv3_its: Avoid maybe-uninitialized error in get_vte()
       * target/arm: Do not use gen_mte_checkN in trans_STGP
       * arm64: Restore trapless ptimer access
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAmT7VEkZHHBldGVyLm1h
      # eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3v7BEACENUKCxsFHRQSLmQkoBCT9
      # Lc4SJrGCbVUC6b+4s5ligZSWIoFzp/kY6NPpeRYqFa0DCxozd2T5D81/j7TpSo0C
      # wUFkZfUq1nGFJ4K5arYcDwhdTtJvvc07YrSbUqufBp6uNGqhR4YmDWPECqBfOlaj
      # 7bgJM6axsg7FkJJh5zp4cQ4WEfp14MHWRPQWpVTI+9cxNmNymokSVRBhVFkM0Wen
      # WD4C/nYud8bOxpDfR8GkIqJ+UnUMhUNEhp28QmHdwywgg0zLWOE4ysIxo55cM0+0
      # FL3q45PL2e4S24UUx9dkxDBWnKEZ5qpQpPn9F6EhWzfm3n2dqr4uUnfWAEOg6NAi
      # vnGS9MlL7nZo69OM3h8g7yKDfTKYm2vl9HVZ0ytFA6PLoSnaQyQwli58qnLtiid3
      # 17MWPoNQlq6G8tHUTPkrJjdA8XLz0iNPXe5G2kwhuM/S0Lv7ORzDc2pq4qBYLvIw
      # 9nV0oUWqzyE7zH6bRKxbbPw2sMI7c8qQr9QRyZeLHL7HdcY5ExvX9FH+qii5JDR/
      # fZohi1pBoNNwYYTeSRnxgHiQ7OizYq0xQJhrdqcFF9voytZj1yZEZ0mp6Tq0/CIj
      # YkC/vEyLYBqgrJ2JeUjbV3h1RIzQcVaXxnxwGsyMyceACd6MNMmdbjR7bZk0lNIu
      # kh+aFEdKajPp56UseJiKBQ==
      # =5Shq
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Fri 08 Sep 2023 13:05:13 EDT
      # gpg:                using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
      # gpg:                issuer "peter.maydell@linaro.org"
      # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [full]
      # gpg:                 aka "Peter Maydell <pmaydell@gmail.com>" [full]
      # gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" [full]
      # gpg:                 aka "Peter Maydell <peter@archaic.org.uk>" [unknown]
      # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE
      
      * tag 'pull-target-arm-20230908' of https://git.linaro.org/people/pmaydell/qemu-arm
      
      : (26 commits)
        arm/kvm: Enable support for KVM_CAP_ARM_EAGER_SPLIT_CHUNK_SIZE
        target/arm: Enable SCTLR_EL1.TIDCP for user-only
        target/arm: Implement FEAT_TIDCP1
        target/arm: Implement HCR_EL2.TIDCP
        target/arm: Implement cortex-a710
        target/arm: Implement RMR_ELx
        arm64: Restore trapless ptimer access
        target/arm: Do not use gen_mte_checkN in trans_STGP
        hw/arm/versal: Connect the CFRAME_REG and CFRAME_BCAST_REG
        hw/arm/xlnx-versal: Connect the CFU_APB, CFU_FDRO and CFU_SFR
        hw/misc: Introduce a model of Xilinx Versal's CFRAME_BCAST_REG
        hw/misc: Introduce a model of Xilinx Versal's CFRAME_REG
        hw/misc/xlnx-versal-cfu: Introduce a model of Xilinx Versal's CFU_SFR
        hw/misc/xlnx-versal-cfu: Introduce a model of Xilinx Versal CFU_FDRO
        hw/misc: Introduce a model of Xilinx Versal's CFU_APB
        hw/misc: Introduce the Xilinx CFI interface
        hw/intc/arm_gicv3_its: Avoid maybe-uninitialized error in get_vte()
        target/arm: Implement FEAT_FPAC and FEAT_FPACCOMBINE
        target/arm: Inform helpers whether a PAC instruction is 'combined'
        target/arm: Implement FEAT_Pauth2
        ...
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      a7e8e30e
    • Joao Martins's avatar
      vfio/common: Separate vfio-pci ranges · a31fe5da
      Joao Martins authored
      
      QEMU computes the DMA logging ranges for two predefined ranges: 32-bit
      and 64-bit. In the OVMF case, when the dynamic MMIO window is enabled,
      QEMU includes in the 64-bit range the RAM regions at the lower part
      and vfio-pci device RAM regions which are at the top of the address
      space. This range contains a large gap and the size can be bigger than
      the dirty tracking HW limits of some devices (MLX5 has a 2^42 limit).
      
      To avoid such large ranges, introduce a new PCI range covering the
      vfio-pci device RAM regions, this only if the addresses are above 4GB
      to avoid breaking potential SeaBIOS guests.
      
      [ clg: - wrote commit log
             - fixed overlapping 32-bit and PCI ranges when using SeaBIOS ]
      
      Signed-off-by: default avatarJoao Martins <joao.m.martins@oracle.com>
      Signed-off-by: default avatarCédric Le Goater <clg@redhat.com>
      Fixes: 5255bbf4 ("vfio/common: Add device dirty page tracking start/stop")
      Signed-off-by: default avatarCédric Le Goater <clg@redhat.com>
      a31fe5da
    • Avihai Horon's avatar
      vfio/migration: Block VFIO migration with background snapshot · 61537976
      Avihai Horon authored
      
      Background snapshot allows creating a snapshot of the VM while it's
      running and keeping it small by not including dirty RAM pages.
      
      The way it works is by first stopping the VM, saving the non-iterable
      devices' state and then starting the VM and saving the RAM while write
      protecting it with UFFD. The resulting snapshot represents the VM state
      at snapshot start.
      
      VFIO migration is not compatible with background snapshot.
      First of all, VFIO device state is not even saved in background snapshot
      because only non-iterable device state is saved. But even if it was
      saved, after starting the VM, a VFIO device could dirty pages without it
      being detected by UFFD write protection. This would corrupt the
      snapshot, as the RAM in it would not represent the RAM at snapshot
      start.
      
      To prevent this, block VFIO migration with background snapshot.
      
      Signed-off-by: default avatarAvihai Horon <avihaih@nvidia.com>
      Reviewed-by: default avatarPeter Xu <peterx@redhat.com>
      Signed-off-by: default avatarCédric Le Goater <clg@redhat.com>
      61537976
Loading