Branch: refs/heads/master Home: https://github.com/qemu/qemu Commit: cda6d7e282af53264228cdb4b233f624ab074161 https://github.com/qemu/qemu/commit/cda6d7e282af53264228cdb4b233f624ab074161 Author: Thomas Huth <th...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths: M hw/s390x/s390-virtio-ccw.c Log Message: ----------- hw/s390x/s390-virtio-ccw: Remove the deprecated 2.10 machine type The s390-ccw-virtio-2.10 machine is older than 6 years, so according to our machine support policy, it can be removed now. Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-ID: <20250506062148.306084-2-th...@redhat.com> Reviewed-by: Eric Farman <far...@linux.ibm.com> Signed-off-by: Thomas Huth <th...@redhat.com> Commit: ea9544b7e8e1e1ce971877e1e1367d98209543ef https://github.com/qemu/qemu/commit/ea9544b7e8e1e1ce971877e1e1367d98209543ef Author: Thomas Huth <th...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/s390x/s390-virtio-ccw.c Log Message: ----------- hw/s390x/s390-virtio-ccw: Remove the deprecated 2.11 machine type The s390-ccw-virtio-2.11 machine is older than 6 years, so according to our machine support policy, it can be removed now. Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-ID: <20250506062148.306084-3-th...@redhat.com> Reviewed-by: Eric Farman <far...@linux.ibm.com> Signed-off-by: Thomas Huth <th...@redhat.com> Commit: b80fadee690f9eef193e4ad4113ee2f2265ac174 https://github.com/qemu/qemu/commit/b80fadee690f9eef193e4ad4113ee2f2265ac174 Author: Thomas Huth <th...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/s390x/event-facility.c Log Message: ----------- hw/s390x/event-facility: Remove the obsolete "allow_all_mask_sizes" code Now that the machine types 2.11 and older have been removed, we don't need the "allow_all_mask_sizes" compatibility handling code anymore and can remove it now. Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-ID: <20250506062148.306084-4-th...@redhat.com> Reviewed-by: Eric Farman <far...@linux.ibm.com> Signed-off-by: Thomas Huth <th...@redhat.com> Commit: edce9fe075fac9f8189829a040e760f8c301a012 https://github.com/qemu/qemu/commit/edce9fe075fac9f8189829a040e760f8c301a012 Author: Thomas Huth <th...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/s390x/gen-features.c Log Message: ----------- target/s390x: Rename the qemu_V2_11 feature set to qemu_MIN Now that the v2.11 machine type has been removed, it does not make sense to keep the qemu_V2_11 feature set around. This is rather the (minimum) feature set of the oldest supported machine now, so rename it to qemu_MIN. Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-ID: <20250506062148.306084-5-th...@redhat.com> Reviewed-by: Eric Farman <far...@linux.ibm.com> Signed-off-by: Thomas Huth <th...@redhat.com> Commit: fa3452c3914505e7352379179c10a22cc9017f84 https://github.com/qemu/qemu/commit/fa3452c3914505e7352379179c10a22cc9017f84 Author: Thomas Huth <th...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/s390x/s390-virtio-ccw.c Log Message: ----------- hw/s390x/s390-virtio-ccw: Remove the deprecated 2.12 machine type The s390-ccw-virtio-2.12 machine is older than 6 years, so according to our machine support policy, it can be removed now. Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-ID: <20250506062148.306084-6-th...@redhat.com> Reviewed-by: Eric Farman <far...@linux.ibm.com> Signed-off-by: Thomas Huth <th...@redhat.com> Commit: 240e7c36e75767ef102bd2c532947800aa0030d6 https://github.com/qemu/qemu/commit/240e7c36e75767ef102bd2c532947800aa0030d6 Author: Thomas Huth <th...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/s390x/s390-virtio-ccw.c Log Message: ----------- hw/s390x/s390-virtio-ccw: Remove the deprecated 3.0 machine type The s390-ccw-virtio-3.0 machine is older than 6 years, so according to our machine support policy, it can be removed now. Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-ID: <20250506062148.306084-7-th...@redhat.com> Reviewed-by: Eric Farman <far...@linux.ibm.com> Signed-off-by: Thomas Huth <th...@redhat.com> Commit: bbe6f504ef181f3745762818249bbf7ca44bf363 https://github.com/qemu/qemu/commit/bbe6f504ef181f3745762818249bbf7ca44bf363 Author: Thomas Huth <th...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/s390x/s390-virtio-ccw.c M include/hw/s390x/s390-virtio-ccw.h M target/s390x/kvm/kvm.c Log Message: ----------- hw/s390x: Remove the obsolete hpage_1m_allowed switch The s390-ccw-virtio-3.0 machine was the last one that used the hpage_1m_allowed switch. Since we removed this machine type, we can now remove the switch and the related code, too. This allows us to get rid of the get_machine_class() hack and the big fat warning comment there. Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-ID: <20250506062148.306084-8-th...@redhat.com> Reviewed-by: Eric Farman <far...@linux.ibm.com> Signed-off-by: Thomas Huth <th...@redhat.com> Commit: 3b912daea079445aad40d8e189c40597b229cf10 https://github.com/qemu/qemu/commit/3b912daea079445aad40d8e189c40597b229cf10 Author: Thomas Huth <th...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/s390x/s390-virtio-ccw.c M target/s390x/gen-features.c Log Message: ----------- hw/s390x/s390-virtio-ccw: Remove the deprecated 3.1 machine type The s390-ccw-virtio-3.1 machine is older than 6 years, so according to our machine support policy, it can be removed now. The v3.1 CPU feature group gets merged into the minimum CPU feature group now. Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-ID: <20250506062148.306084-9-th...@redhat.com> Reviewed-by: Eric Farman <far...@linux.ibm.com> Signed-off-by: Thomas Huth <th...@redhat.com> Commit: 1b432c51cd12e778079ee0cfd7e4c51aad928c65 https://github.com/qemu/qemu/commit/1b432c51cd12e778079ee0cfd7e4c51aad928c65 Author: Thomas Huth <th...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/s390x/s390-virtio-ccw.c M target/s390x/gen-features.c Log Message: ----------- hw/s390x/s390-virtio-ccw: Remove the deprecated 4.0 machine type The s390-ccw-virtio-4.0 machine is older than 6 years, so according to our machine support policy, it can be removed now. The corresponding v4.0 CPU feature group gets merged into the minimum feature group now. Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-ID: <20250506062148.306084-10-th...@redhat.com> Reviewed-by: Eric Farman <far...@linux.ibm.com> Signed-off-by: Thomas Huth <th...@redhat.com> Commit: bdf12f2a56bf3f13c52eb51f0a994bbfe40706b2 https://github.com/qemu/qemu/commit/bdf12f2a56bf3f13c52eb51f0a994bbfe40706b2 Author: Fabiano Rosas <faro...@suse.de> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/s390x/s390-virtio-ccw.c Log Message: ----------- s390x: Fix leak in machine_set_loadparm ASAN spotted a leaking string in machine_set_loadparm(): Direct leak of 9 byte(s) in 1 object(s) allocated from: #0 0x560ffb5bb379 in malloc ../projects/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3 #1 0x7f1aca926518 in g_malloc ../glib/gmem.c:106 #2 0x7f1aca94113e in g_strdup ../glib/gstrfuncs.c:364 #3 0x560ffc8afbf9 in qobject_input_type_str ../qapi/qobject-input-visitor.c:542:12 #4 0x560ffc8a80ff in visit_type_str ../qapi/qapi-visit-core.c:349:10 #5 0x560ffbe6053a in machine_set_loadparm ../hw/s390x/s390-virtio-ccw.c:802:10 #6 0x560ffc0c5e52 in object_property_set ../qom/object.c:1450:5 #7 0x560ffc0d4175 in object_property_set_qobject ../qom/qom-qobject.c:28:10 #8 0x560ffc0c6004 in object_property_set_str ../qom/object.c:1458:15 #9 0x560ffbe2ae60 in update_machine_ipl_properties ../hw/s390x/ipl.c:569:9 #10 0x560ffbe2aa65 in s390_ipl_update_diag308 ../hw/s390x/ipl.c:594:5 #11 0x560ffbdee132 in handle_diag_308 ../target/s390x/diag.c:147:9 #12 0x560ffbebb956 in helper_diag ../target/s390x/tcg/misc_helper.c:137:9 #13 0x7f1a3c51c730 (/memfd:tcg-jit (deleted)+0x39730) Cc: qemu-sta...@nongnu.org Signed-off-by: Fabiano Rosas <faro...@suse.de> Message-ID: <20250509174938.25935-1-faro...@suse.de> Fixes: 1fd396e3228 ("s390x: Register TYPE_S390_CCW_MACHINE properties as class properties") Reviewed-by: Thomas Huth <th...@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Signed-off-by: Thomas Huth <th...@redhat.com> Commit: 98cbac128f1c38fa62becf5b89bc662c9218a780 https://github.com/qemu/qemu/commit/98cbac128f1c38fa62becf5b89bc662c9218a780 Author: Davidlohr Bueso <d...@stgolabs.net> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/cxl/cxl-device-utils.c M hw/cxl/cxl-mailbox-utils.c M hw/mem/cxl_type3.c M include/hw/cxl/cxl_device.h M include/hw/cxl/cxl_mailbox.h Log Message: ----------- hw/cxl: Support aborting background commands As of 3.1 spec, background commands can be canceled with a new abort command. Implement the support, which is advertised in the CEL. No ad-hoc context undoing is necessary as all the command logic of the running bg command is done upon completion. Arbitrarily, the on-going background cmd will not be aborted if already at least 85% done; A mutex is introduced to stabilize mbox request cancel command vs the timer callback being fired scenarios (as well as reading the mbox registers). While some operations under critical regions may be unnecessary (irq notifying, cmd callbacks), this is not a path where performance is important, so simplicity is preferred. Tested-by: Ajay Joshi <ajay.open...@micron.com> Reviewed-by: Ajay Joshi <ajay.open...@micron.com> Signed-off-by: Davidlohr Bueso <d...@stgolabs.net> Signed-off-by: Jonathan Cameron <jonathan.came...@huawei.com> Message-Id: <20250305092501.191929-2-jonathan.came...@huawei.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 1000158f031818bf286454c8691da9b4f33c4d02 https://github.com/qemu/qemu/commit/1000158f031818bf286454c8691da9b4f33c4d02 Author: Davidlohr Bueso <d...@stgolabs.net> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/cxl/cxl-mailbox-utils.c Log Message: ----------- hw/cxl: Support get/set mctp response payload size Add Get/Set Response Message Limit commands. Signed-off-by: Davidlohr Bueso <d...@stgolabs.net> Reviewed-by: Fan Ni <fan...@samsung.com> Signed-off-by: Jonathan Cameron <jonathan.came...@huawei.com> Message-Id: <20250305092501.191929-3-jonathan.came...@huawei.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 77a8e9fe0ecb71b260d17f43221df5b18769b359 https://github.com/qemu/qemu/commit/77a8e9fe0ecb71b260d17f43221df5b18769b359 Author: Vinayak Holikatti <vinayak...@samsung.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/cxl/cxl-mailbox-utils.c Log Message: ----------- hw/cxl/cxl-mailbox-utils: Add support for Media operations discovery commands cxl r3.2 (8.2.10.9.5.3) CXL spec 3.2 section 8.2.10.9.5.3 describes media operations commands. CXL devices supports media operations discovery command. Signed-off-by: Vinayak Holikatti <vinayak...@samsung.com> Signed-off-by: Jonathan Cameron <jonathan.came...@huawei.com> Message-Id: <20250305092501.191929-4-jonathan.came...@huawei.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 484df0704ea592ebd5993c15d63ea38f309ec6e0 https://github.com/qemu/qemu/commit/484df0704ea592ebd5993c15d63ea38f309ec6e0 Author: Vinayak Holikatti <vinayak...@samsung.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/cxl/cxl-mailbox-utils.c Log Message: ----------- hw/cxl: factor out calculation of sanitize duration from cmd_santize_overwrite Move the code of calculation of sanitize duration into function for usability by other sanitize routines Estimate times based on: https://pmem.io/documents/NVDIMM_DSM_Interface-V1.8.pdf Signed-off-by: Davidlohr Bueso <d...@stgolabs.net> Signed-off-by: Vinayak Holikatti <vinayak...@samsung.com> Signed-off-by: Jonathan Cameron <jonathan.came...@huawei.com> Message-Id: <20250305092501.191929-5-jonathan.came...@huawei.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 40ab4ed107757e1c5bdccc906e8a44cb4e2cb7a4 https://github.com/qemu/qemu/commit/40ab4ed107757e1c5bdccc906e8a44cb4e2cb7a4 Author: Vinayak Holikatti <vinayak...@samsung.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/cxl/cxl-mailbox-utils.c M include/hw/cxl/cxl_device.h Log Message: ----------- hw/cxl/cxl-mailbox-utils: Media operations Sanitize and Write Zeros commands CXL r3.2(8.2.10.9.5.3) CXL spec 3.2 section 8.2.10.9.5.3 describes media operations commands. CXL devices supports media operations Sanitize and Write zero command. Signed-off-by: Vinayak Holikatti <vinayak...@samsung.com> Signed-off-by: Jonathan Cameron <jonathan.came...@huawei.com> Message-Id: <20250305092501.191929-6-jonathan.came...@huawei.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: a3e0b1ff37e930095a417666ab3e12715394fb9b https://github.com/qemu/qemu/commit/a3e0b1ff37e930095a417666ab3e12715394fb9b Author: Sweta Kumari <s5.kum...@samsung.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/cxl/cxl-mailbox-utils.c M hw/mem/cxl_type3.c M include/hw/cxl/cxl_device.h Log Message: ----------- hw/cxl/cxl-mailbox-utils: CXL CCI Get/Set alert config commands 1) get alert configuration(Opcode 4201h) 2) set alert configuration(Opcode 4202h) Signed-off-by: Sweta Kumari <s5.kum...@samsung.com> Signed-off-by: Jonathan Cameron <jonathan.came...@huawei.com> Message-Id: <20250305092501.191929-7-jonathan.came...@huawei.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: abde58f8644491503c058c2ff0775613f251c8e6 https://github.com/qemu/qemu/commit/abde58f8644491503c058c2ff0775613f251c8e6 Author: Yuquan Wang <wangyuquan1...@phytium.com.cn> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M docs/system/devices/cxl.rst Log Message: ----------- docs/cxl: Add serial number for persistent-memdev Add serial number parameter in the cxl persistent examples. Signed-off-by: Yuquan Wang <wangyuquan1...@phytium.com.cn> Signed-off-by: Jonathan Cameron <jonathan.came...@huawei.com> Message-Id: <20250305092501.191929-9-jonathan.came...@huawei.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 3a031e395dc65239d031890d038bc354af61dc35 https://github.com/qemu/qemu/commit/3a031e395dc65239d031890d038bc354af61dc35 Author: Akihiko Odaki <akihiko.od...@daynix.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/pci/pci.c Log Message: ----------- hw/pci: Do not add ROM BAR for SR-IOV VF A SR-IOV VF cannot have a ROM BAR. Co-developed-by: Yui Washizu <yui.wash...@gmail.com> Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com> Message-Id: <20250314-sriov-v9-1-57dae8ae3...@daynix.com> Tested-by: Yui Washizu <yui.wash...@gmail.com> Tested-by: Pasha Tatashin <pasha.tatas...@soleen.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: a5745ac183e606937f22bfbf59a7f18e74f3c464 https://github.com/qemu/qemu/commit/a5745ac183e606937f22bfbf59a7f18e74f3c464 Author: Akihiko Odaki <akihiko.od...@daynix.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/pci/pci.c Log Message: ----------- hw/pci: Fix SR-IOV VF number calculation pci_config_get_bar_addr() had a division by vf_stride. vf_stride needs to be non-zero when there are multiple VFs, but the specification does not prohibit to make it zero when there is only one VF. Do not perform the division for the first VF to avoid division by zero. Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com> Message-Id: <20250314-sriov-v9-2-57dae8ae3...@daynix.com> Tested-by: Yui Washizu <yui.wash...@gmail.com> Tested-by: Pasha Tatashin <pasha.tatas...@soleen.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 92b6ce3dba26bd3734b528bda7f9a9dee2ee7bb4 https://github.com/qemu/qemu/commit/92b6ce3dba26bd3734b528bda7f9a9dee2ee7bb4 Author: Akihiko Odaki <akihiko.od...@daynix.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/pci/pcie_sriov.c Log Message: ----------- pcie_sriov: Ensure PF and VF are mutually exclusive A device cannot be a SR-IOV PF and a VF at the same time. Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com> Message-Id: <20250314-sriov-v9-3-57dae8ae3...@daynix.com> Tested-by: Yui Washizu <yui.wash...@gmail.com> Tested-by: Pasha Tatashin <pasha.tatas...@soleen.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: d2f5bb7849e463646173564fdadf40e32a32bf6e https://github.com/qemu/qemu/commit/d2f5bb7849e463646173564fdadf40e32a32bf6e Author: Akihiko Odaki <akihiko.od...@daynix.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/pci/pcie_sriov.c Log Message: ----------- pcie_sriov: Check PCI Express for SR-IOV PF SR-IOV requires PCI Express. Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com> Message-Id: <20250314-sriov-v9-4-57dae8ae3...@daynix.com> Tested-by: Yui Washizu <yui.wash...@gmail.com> Tested-by: Pasha Tatashin <pasha.tatas...@soleen.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 19e55471d4e8a494cfda7470e701829e3a873bdc https://github.com/qemu/qemu/commit/19e55471d4e8a494cfda7470e701829e3a873bdc Author: Akihiko Odaki <akihiko.od...@daynix.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/pci/pci.c M hw/pci/pcie_sriov.c M include/hw/pci/pci_device.h M include/hw/pci/pcie_sriov.h Log Message: ----------- pcie_sriov: Allow user to create SR-IOV device A user can create a SR-IOV device by specifying the PF with the sriov-pf property of the VFs. The VFs must be added before the PF. A user-creatable VF must have PCIDeviceClass::sriov_vf_user_creatable set. Such a VF cannot refer to the PF because it is created before the PF. A PF that user-creatable VFs can be attached calls pcie_sriov_pf_init_from_user_created_vfs() during realization and pcie_sriov_pf_exit() when exiting. Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com> Message-Id: <20250314-sriov-v9-5-57dae8ae3...@daynix.com> Tested-by: Yui Washizu <yui.wash...@gmail.com> Tested-by: Pasha Tatashin <pasha.tatas...@soleen.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 3f9cfaa92c96d604e98f16ade5af4742460e4c0f https://github.com/qemu/qemu/commit/3f9cfaa92c96d604e98f16ade5af4742460e4c0f Author: Akihiko Odaki <akihiko.od...@daynix.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/virtio/virtio-pci.c M include/hw/virtio/virtio-pci.h Log Message: ----------- virtio-pci: Implement SR-IOV PF Allow user to attach SR-IOV VF to a virtio-pci PF. Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com> Message-Id: <20250314-sriov-v9-6-57dae8ae3...@daynix.com> Tested-by: Yui Washizu <yui.wash...@gmail.com> Tested-by: Pasha Tatashin <pasha.tatas...@soleen.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 49f7cb18db0790f7f32cb85dc35ffc25e44a828b https://github.com/qemu/qemu/commit/49f7cb18db0790f7f32cb85dc35ffc25e44a828b Author: Akihiko Odaki <akihiko.od...@daynix.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/virtio/virtio-net-pci.c Log Message: ----------- virtio-net: Implement SR-IOV VF A virtio-net device can be added as a SR-IOV VF to another virtio-pci device that will be the PF. Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com> Message-Id: <20250314-sriov-v9-7-57dae8ae3...@daynix.com> Tested-by: Yui Washizu <yui.wash...@gmail.com> Tested-by: Pasha Tatashin <pasha.tatas...@soleen.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 6f9bebf1dc6b54b63be739ea247b3942f841b9e3 https://github.com/qemu/qemu/commit/6f9bebf1dc6b54b63be739ea247b3942f841b9e3 Author: Akihiko Odaki <akihiko.od...@daynix.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M MAINTAINERS M docs/system/index.rst A docs/system/sriov.rst Log Message: ----------- docs: Document composable SR-IOV device Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com> Message-Id: <20250314-sriov-v9-8-57dae8ae3...@daynix.com> Tested-by: Yui Washizu <yui.wash...@gmail.com> Tested-by: Pasha Tatashin <pasha.tatas...@soleen.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: d0c280d3fac644c26a86d2fb70c5920b3d5bef85 https://github.com/qemu/qemu/commit/d0c280d3fac644c26a86d2fb70c5920b3d5bef85 Author: Akihiko Odaki <akihiko.od...@daynix.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M docs/system/sriov.rst M hw/pci/pcie_sriov.c M hw/virtio/virtio-pci.c M include/hw/pci/pcie_sriov.h Log Message: ----------- pcie_sriov: Make a PCI device with user-created VF ARI-capable Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com> Message-Id: <20250314-sriov-v9-9-57dae8ae3...@daynix.com> Tested-by: Yui Washizu <yui.wash...@gmail.com> Tested-by: Pasha Tatashin <pasha.tatas...@soleen.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 8717987fb528ff704e275a1a99f59a20e0b272f5 https://github.com/qemu/qemu/commit/8717987fb528ff704e275a1a99f59a20e0b272f5 Author: Stephen Bates <sba...@raithlin.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/misc/pci-testdev.c Log Message: ----------- pci-testdev.c: Add membar-backed option for backing membar The pci-testdev device allows for an optional BAR. We have historically used this without backing to test that systems and OSes can accomodate large PCI BARs. However to help test p2pdma operations it is helpful to add an option to back this BAR with host memory. We add a membar-backed boolean parameter and when set to true or on we do a host RAM backing. The default is false which ensures backward compatability. Signed-off-by: Stephen Bates <sba...@raithlin.com> Message-Id: <z_6jhdtn5plad...@mkmstebates01.amd.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: e0f300b36da1ee794fd81aa95f56e7bc9f010d46 https://github.com/qemu/qemu/commit/e0f300b36da1ee794fd81aa95f56e7bc9f010d46 Author: Haoqian He <haoqian...@smartx.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/block/virtio-blk.c M hw/core/vm-change-state-handler.c M hw/scsi/scsi-bus.c M hw/vfio/migration.c M hw/virtio/virtio.c M include/system/runstate.h M system/cpus.c M system/runstate.c Log Message: ----------- system/runstate: add VM state change cb with return value This patch adds the new VM state change cb type `VMChangeStateHandlerWithRet`, which has return value for `VMChangeStateEntry`. Thus, we can register a new VM state change cb with return value for device. Note that `VMChangeStateHandler` and `VMChangeStateHandlerWithRet` are mutually exclusive and cannot be provided at the same time. This patch is the pre patch for 'vhost-user: return failure if backend crashes when live migration', which makes the live migration aware of the loss of connection with the vhost-user backend and aborts the live migration. Virtio device will use VMChangeStateHandlerWithRet. Signed-off-by: Haoqian He <haoqian...@smartx.com> Message-Id: <20250416024729.3289157-2-haoqian...@smartx.com> Tested-by: Lei Yang <leiy...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 5a317017b827e338358792cd07663f8ea25f1ffe https://github.com/qemu/qemu/commit/5a317017b827e338358792cd07663f8ea25f1ffe Author: Haoqian He <haoqian...@smartx.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/virtio/vhost.c M include/hw/virtio/vhost.h Log Message: ----------- vhost: return failure if stop virtqueue failed in vhost_dev_stop This patch captures the error of vhost_virtqueue_stop() in vhost_dev_stop() and returns the error upward. Specifically, if QEMU is disconnected from the vhost backend, some actions in vhost_dev_stop() will fail, such as sending vhost-user messages to the backend (GET_VRING_BASE, SET_VRING_ENABLE) and vhost_reset_status. Considering that both set_vring_enable and vhost_reset_status require setting the specific virtio feature bit, we can capture vhost_virtqueue_stop()'s error to indicate that QEMU has lost connection with the backend. This patch is the pre patch for 'vhost-user: return failure if backend crashes when live migration', which makes the live migration aware of the loss of connection with the vhost-user backend and aborts the live migration. Signed-off-by: Haoqian He <haoqian...@smartx.com> Message-Id: <20250416024729.3289157-3-haoqian...@smartx.com> Tested-by: Lei Yang <leiy...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: bc85aae4204509420f0a4403ca728801170d9351 https://github.com/qemu/qemu/commit/bc85aae4204509420f0a4403ca728801170d9351 Author: Haoqian He <haoqian...@smartx.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M backends/vhost-user.c M hw/block/vhost-user-blk.c M hw/block/virtio-blk.c M hw/char/virtio-serial-bus.c M hw/display/vhost-user-gpu.c M hw/input/virtio-input.c M hw/net/virtio-net.c M hw/scsi/vhost-scsi-common.c M hw/scsi/vhost-scsi.c M hw/scsi/vhost-user-scsi.c M hw/virtio/vdpa-dev.c M hw/virtio/vhost-user-base.c M hw/virtio/vhost-user-fs.c M hw/virtio/vhost-user-scmi.c M hw/virtio/vhost-user-vsock.c M hw/virtio/vhost-vsock-common.c M hw/virtio/vhost-vsock.c M hw/virtio/virtio-balloon.c M hw/virtio/virtio-crypto.c M hw/virtio/virtio-iommu.c M hw/virtio/virtio-rng.c M hw/virtio/virtio.c M include/hw/virtio/vhost-scsi-common.h M include/hw/virtio/vhost-vsock-common.h M include/hw/virtio/virtio.h M include/system/vhost-user-backend.h Log Message: ----------- vhost-user: return failure if backend crash when live migration Live migration should be terminated if the vhost-user backend crashes before the migration completes. Specifically, since the vhost device will be stopped when VM is stopped before the end of the live migration, in current implementation if the backend crashes, vhost-user device set_status() won't return failure, live migration won't perceive the disconnection between QEMU and the backend. When the VM is migrated to the destination, the inflight IO will be resubmitted, and if the IO was completed out of order before, it will cause IO error. To fix this issue: 1. Add the return value to set_status() for VirtioDeviceClass. a. For the vhost-user device, return failure when the backend crashes. b. For other virtio devices, always return 0. 2. Return failure if vhost_dev_stop() failed for vhost-user device. If QEMU loses connection with the vhost-user backend, virtio set_status() can return failure to the upper layer, migration_completion() can handle the error, terminate the live migration, and restore the VM, so that inflight IO can be completed normally. Signed-off-by: Haoqian He <haoqian...@smartx.com> Message-Id: <20250416024729.3289157-4-haoqian...@smartx.com> Tested-by: Lei Yang <leiy...@redhat.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 1a5a2629eab94297a37e4adcc5fb69beb7bb0b0c https://github.com/qemu/qemu/commit/1a5a2629eab94297a37e4adcc5fb69beb7bb0b0c Author: Dongli Zhang <dongli.zh...@oracle.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/scsi/vhost-scsi.c Log Message: ----------- vhost-scsi: support VIRTIO_SCSI_F_HOTPLUG So far there isn't way to test host kernel vhost-scsi event queue path, because VIRTIO_SCSI_F_HOTPLUG isn't supported by QEMU. virtio-scsi.c and vhost-user-scsi.c already support VIRTIO_SCSI_F_HOTPLUG as property "hotplug". Add support to vhost-scsi.c to help evaluate and test event queue. To test the feature: 1. Create vhost-scsi target with targetcli. targetcli /backstores/fileio create name=storage file_or_dev=disk01.raw targetcli /vhost create naa.1123451234512345 targetcli /vhost/naa.1123451234512345/tpg1/luns create /backstores/fileio/storage 2. Create QEMU instance with vhost-scsi. -device vhost-scsi-pci,wwpn=naa.1123451234512345,hotplug=true 3. Once guest bootup, hotplug a new LUN from host. targetcli /backstores/fileio create name=storage02 file_or_dev=disk02.raw targetcli /vhost/naa.1123451234512345/tpg1/luns create /backstores/fileio/storage02 Signed-off-by: Dongli Zhang <dongli.zh...@oracle.com> Message-Id: <20250203005215.1502-1-dongli.zh...@oracle.com> Acked-by: Stefano Garzarella <sgarz...@redhat.com> Commit: 0caed25cd171c611781589b5402161d27d57229c https://github.com/qemu/qemu/commit/0caed25cd171c611781589b5402161d27d57229c Author: Akihiko Odaki <akihiko.od...@daynix.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/virtio/virtio.c Log Message: ----------- virtio: Call set_features during reset virtio-net expects set_features() will be called when the feature set used by the guest changes to update the number of virtqueues but it is not called during reset, which will clear all features, leaving the queues added for VIRTIO_NET_F_MQ or VIRTIO_NET_F_RSS. Not only these extra queues are visible to the guest, they will cause segmentation fault during migration. Call set_features() during reset to remove those queues for virtio-net as we call set_status(). It will also prevent similar bugs for virtio-net and other devices in the future. Fixes: f9d6dbf0bf6e ("virtio-net: remove virtio queues if the guest doesn't support multiqueue") Buglink: https://issues.redhat.com/browse/RHEL-73842 Cc: qemu-sta...@nongnu.org Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com> Message-Id: <20250421-reset-v2-1-e4c1ead88...@daynix.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 77a9408fc774ad99dcd16ea08f31b96b590fbf99 https://github.com/qemu/qemu/commit/77a9408fc774ad99dcd16ea08f31b96b590fbf99 Author: Akihiko Odaki <akihiko.od...@daynix.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/virtio/virtio.c Log Message: ----------- virtio: Move virtio_reset() Move virtio_reset() to a later part of the file to remove the forward declaration of virtio_set_features_nocheck() and to prepare the situation that we need more operations to perform during reset. Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com> Message-Id: <20250421-reset-v2-2-e4c1ead88...@daynix.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: b1c84782bfddeaa0070f5ae57ac2e4e3992f9f19 https://github.com/qemu/qemu/commit/b1c84782bfddeaa0070f5ae57ac2e4e3992f9f19 Author: CLEMENT MATHIEU--DRIF <clement.mathieu--d...@eviden.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/i386/intel_iommu.c Log Message: ----------- intel_iommu: Use BQL_LOCK_GUARD to manage cleanup automatically vtd_switch_address_space needs to take the BQL if not already held. Use BQL_LOCK_GUARD to make the iommu implementation more consistent. Signed-off-by: Clement Mathieu--Drif <clement.mathieu--d...@eviden.com> Message-Id: <20250430124750.240412-2-clement.mathieu--d...@eviden.com> Reviewed-by: Zhenzhong Duan <zhenzhong.d...@intel.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 6ea7a5762aa1aacb7a5410e4b805bb8c99c6f133 https://github.com/qemu/qemu/commit/6ea7a5762aa1aacb7a5410e4b805bb8c99c6f133 Author: Thomas Huth <th...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M include/hw/dma/xlnx_dpdma.h Log Message: ----------- include/hw/dma/xlnx_dpdma: Remove dependency on console.h console.h brings a dependency on the <epoxy/opengl.h> and the pixman header file (if available), so we should avoid to include this file if it is not really necessary. console.h does not seem to be necessary for the xlnx_dpdma code, so drop the include here. Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Signed-off-by: Thomas Huth <th...@redhat.com> Message-ID: <20250508144120.163009-2-th...@redhat.com> Commit: 7c312d8539fe69338f7343b6514f2dc77ae2efa6 https://github.com/qemu/qemu/commit/7c312d8539fe69338f7343b6514f2dc77ae2efa6 Author: Thomas Huth <th...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M tests/functional/test_s390x_tuxrun.py Log Message: ----------- tests/functional/test_s390x_tuxrun: Check whether the machine is available The s390x tuxrun test lacks the call to self.set_machine(), so this test is currently failing in case the 's390-ccw-virtio' machine has not been compiled into the binary. Add the check now to fix it. Signed-off-by: Thomas Huth <th...@redhat.com> Message-ID: <20250424090640.664217-1-th...@redhat.com> Commit: c23d3339ce8fc936d8c60a023ea2b052d847dc78 https://github.com/qemu/qemu/commit/c23d3339ce8fc936d8c60a023ea2b052d847dc78 Author: Thomas Huth <th...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M tests/functional/test_arm_integratorcp.py M tests/functional/test_m68k_nextcube.py M tests/functional/test_mips64el_malta.py Log Message: ----------- tests/functional: Skip the screendump tests if the command is not available It is possible nowadays to compile QEMU without pixman support - in that case the screendump command is not available and the related tests fail. Thus skip these tests if the screendump command could not be executed. Signed-off-by: Thomas Huth <th...@redhat.com> Message-ID: <20250325081713.283490-2-th...@redhat.com> Commit: 1b85dff5f0be30ddbcb7edbd3c084c9c5ee351ca https://github.com/qemu/qemu/commit/1b85dff5f0be30ddbcb7edbd3c084c9c5ee351ca Author: CLEMENT MATHIEU--DRIF <clement.mathieu--d...@eviden.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/i386/intel_iommu.c Log Message: ----------- intel_iommu: Take locks when looking for and creating address spaces vtd_find_add_as can be called by multiple threads which leads to a race condition. Taking the IOMMU lock ensures we avoid such a race. Moreover we also need to take the bql to avoid an assert to fail in memory_region_add_subregion_overlap when actually allocating a new address space. Signed-off-by: Clement Mathieu--Drif <clement.mathieu--d...@eviden.com> Message-Id: <20250430124750.240412-3-clement.mathieu--d...@eviden.com> Reviewed-by: Zhenzhong Duan <zhenzhong.d...@intel.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: f864a3235ea1d1d714b3cde2d9a810ea6344a7b5 https://github.com/qemu/qemu/commit/f864a3235ea1d1d714b3cde2d9a810ea6344a7b5 Author: Suravee Suthikulpanit <suravee.suthikulpa...@amd.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/i386/acpi-build.c M hw/i386/amd_iommu.c M hw/i386/amd_iommu.h Log Message: ----------- hw/i386/amd_iommu: Isolate AMDVI-PCI from amd-iommu device to allow full control over the PCI device creation Current amd-iommu model internally creates an AMDVI-PCI device. Here is a snippet from info qtree: bus: main-system-bus type System dev: amd-iommu, id "" xtsup = false pci-id = "" intremap = "on" device-iotlb = false pt = true ... dev: q35-pcihost, id "" MCFG = -1 (0xffffffffffffffff) pci-hole64-size = 34359738368 (32 GiB) below-4g-mem-size = 134217728 (128 MiB) above-4g-mem-size = 0 (0 B) smm-ranges = true x-pci-hole64-fix = true x-config-reg-migration-enabled = true bypass-iommu = false bus: pcie.0 type PCIE dev: AMDVI-PCI, id "" addr = 01.0 romfile = "" romsize = 4294967295 (0xffffffff) rombar = -1 (0xffffffffffffffff) multifunction = false x-pcie-lnksta-dllla = true x-pcie-extcap-init = true failover_pair_id = "" acpi-index = 0 (0x0) x-pcie-err-unc-mask = true x-pcie-ari-nextfn-1 = false x-max-bounce-buffer-size = 4096 (4 KiB) x-pcie-ext-tag = true busnr = 0 (0x0) class Class 0806, addr 00:01.0, pci id 1022:0000 (sub 1af4:1100) ... This prohibits users from specifying the PCI topology for the amd-iommu device, which becomes a problem when trying to support VM migration since it does not guarantee the same enumeration of AMD IOMMU device. Therefore, allow the 'AMDVI-PCI' device to optionally be pre-created and associated with a 'amd-iommu' device via a new 'pci-id' parameter on the latter. For example: -device AMDVI-PCI,id=iommupci0,bus=pcie.0,addr=0x05 \ -device amd-iommu,intremap=on,pt=on,xtsup=on,pci-id=iommupci0 \ For backward-compatibility, internally create the AMDVI-PCI device if not specified on the CLI. Co-developed-by: Daniel P. Berrangé <berra...@redhat.com> Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpa...@amd.com> Message-Id: <20250504170405.12623-2-suravee.suthikulpa...@amd.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 28931c2e1591deb4bfaaf744fdc8813e96c230f1 https://github.com/qemu/qemu/commit/28931c2e1591deb4bfaaf744fdc8813e96c230f1 Author: Suravee Suthikulpanit <suravee.suthikulpa...@amd.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/i386/amd_iommu.c M hw/i386/amd_iommu.h Log Message: ----------- hw/i386/amd_iommu: Allow migration when explicitly create the AMDVI-PCI device Add migration support for AMD IOMMU model by saving necessary AMDVIState parameters for MMIO registers, device table, command buffer, and event buffers. Also change devtab_len type from size_t to uint64_t to avoid 32-bit build issue. Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpa...@amd.com> Message-Id: <20250504170405.12623-3-suravee.suthikulpa...@amd.com> Reviewed-by: Michael S. Tsirkin <m...@redhat.com> Signed-off-by: Michael S. Tsirkin <m...@redhat.com> Commit: 9c6675e8a5824f4c41c3d122c4b848a67d9d0350 https://github.com/qemu/qemu/commit/9c6675e8a5824f4c41c3d122c4b848a67d9d0350 Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/microblaze/cpu.c Log Message: ----------- target/microblaze: Use 'obj' in DEVICE() casts in mb_cpu_initfn() We're about to make a change that removes the only other use of the 'cpu' local variable in mb_cpu_initfn(); since the DEVICE() casts work fine with the Object*, use that instead, so that we can remove the local variable when we make the following change. Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Edgar E. Iglesias <edgar.igles...@amd.com> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-id: 20250429132200.605611-2-peter.mayd...@linaro.org Commit: 6222ae143da0408c7e5b727082975dc394f5a23f https://github.com/qemu/qemu/commit/6222ae143da0408c7e5b727082975dc394f5a23f Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/microblaze/cpu.c Log Message: ----------- target/microblaze: Delay gdb_register_coprocessor() to realize Currently the microblaze code calls gdb_register_coprocessor() in its initfn. This works, but we would like to delay setting up GDB registers until realize. All other target architectures only call gdb_register_coprocessor() in realize, after the call to cpu_exec_realizefn(). Move the microblaze gdb_register_coprocessor() use, bringing it in line with other targets. Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Reviewed-by: Edgar E. Iglesias <edgar.igles...@amd.com> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-id: 20250429132200.605611-3-peter.mayd...@linaro.org Commit: b4ae54989b911876540ba4ba9090901235e3047a https://github.com/qemu/qemu/commit/b4ae54989b911876540ba4ba9090901235e3047a Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/core/cpu-common.c Log Message: ----------- hw/core/cpu-common: Don't init gdbstub until cpu_exec_realizefn() Currently we call gdb_init_cpu() in cpu_common_initfn(), which is very early in the CPU object's init->realize creation sequence. In particular this happens before the architecture-specific subclass's init fn has even run. This means that gdb_init_cpu() can only do things that depend strictly on the class, not on the object, because the CPUState* that it is passed is currently half-initialized. In commit a1f728ecc90cf6c6 we accidentally broke this rule, by adding a call to the gdb_get_core_xml_file method which takes the CPUState. At the moment we get away with this because the only implementation doesn't actually look at the pointer it is passed. However the whole reason we created that method was so that we could make the "which XML file?" decision based on a property of the CPU object, and we currently can't change the Arm implementation of the method to do what we want without causing wrong behaviour or a crash. The ordering restrictions here are: * we must call gdb_init_cpu before: - any call to gdb_register_coprocessor() - any use of the gdb_num_regs field (this is only used in code that's about to call gdb_register_coprocessor() and wants to know the first register number of the set of registers it's about to add) * we must call gdb_init_cpu after CPU properties have been set, which is to say somewhere in realize The function cpu_exec_realizefn() meets both of these requirements, as it is called by the architecture-specific CPU realize function early in realize, before any calls ot gdb_register_coprocessor(). Move the gdb_init_cpu() call to there. Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Reviewed-by: Edgar E. Iglesias <edgar.igles...@amd.com> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Alex Bennée <alex.ben...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-id: 20250429132200.605611-4-peter.mayd...@linaro.org Commit: d2c655a5f42ef7466c70cb223a9b9fc292f6b593 https://github.com/qemu/qemu/commit/d2c655a5f42ef7466c70cb223a9b9fc292f6b593 Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/internals.h Log Message: ----------- target/arm: Present AArch64 gdbstub based on ARM_FEATURE_AARCH64 Currently we provide an AArch64 gdbstub for CPUs which are TYPE_AARCH64_CPU, and an AArch32 gdbstub for those which are only TYPE_ARM_CPU. This mostly does the right thing, except in the corner case of KVM with -cpu host,aarch64=off. That produces a CPU which is TYPE_AARCH64_CPU but which has ARM_FEATURE_AARCH64 removed and which to the guest is in AArch32 mode. Now we have moved all the handling of AArch64-vs-AArch32 gdbstub behaviour into TYPE_ARM_CPU we can change the condition we use for whether to select the AArch64 gdbstub to look at ARM_FEATURE_AARCH64. This will mean that we now correctly provide an AArch32 gdbstub for aarch64=off CPUs. Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-id: 20250429132200.605611-5-peter.mayd...@linaro.org Commit: 0ab97bc070f9df7fd155707c7800667cbf26790f https://github.com/qemu/qemu/commit/0ab97bc070f9df7fd155707c7800667cbf26790f Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/cpu.c M target/arm/cpu64.c Log Message: ----------- target/arm: Move aarch64 CPU property code to TYPE_ARM_CPU The only thing we have left in the TYPE_AARCH64_CPU class that makes it different to TYPE_ARM_CPU is that we register the handling of the "aarch64" property there. Move the handling of this property to the base class, where we make it a property of the object rather than of the class, and add it to the CPU if it has the ARM_FEATURE_AARCH64 property present at init. This is in line with how we handle other Arm CPU properties, and should not change which CPUs it's visible for. Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-id: 20250429132200.605611-6-peter.mayd...@linaro.org Commit: c6650a8c6cc18cdc4a46a6eef41b7d57e6bc0b2b https://github.com/qemu/qemu/commit/c6650a8c6cc18cdc4a46a6eef41b7d57e6bc0b2b Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/kvm.c Log Message: ----------- target/arm/kvm: don't check TYPE_AARCH64_CPU We want to merge TYPE_AARCH64_CPU with TYPE_ARM_CPU, so enforcing in kvm_arch_init_vcpu() that the CPU class is a subclass of TYPE_AARCH64_CPU will no longer be possible. It's safe to just remove this test, because any purely-AArch32 CPU will fail the "kvm_target isn't set" check, because we no longer support the old AArch32-host KVM setup and so CPUs like the Cortex-A7 no longer set cpu->kvm_target. Only the 'host', 'max', and the odd special cases 'cortex-a53' and 'cortex-a57' set kvm_target. Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-id: 20250429132200.605611-7-peter.mayd...@linaro.org Commit: ec7e5a90fea996f04ea24e81b680a87bc975354a https://github.com/qemu/qemu/commit/ec7e5a90fea996f04ea24e81b680a87bc975354a Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/cpu-qom.h M target/arm/cpu.h M target/arm/cpu64.c M target/arm/internals.h M target/arm/tcg/cpu64.c Log Message: ----------- target/arm: Remove TYPE_AARCH64_CPU The TYPE_AARCH64_CPU class is an abstract type that is the parent of all the AArch64 CPUs. It now has no special behaviour of its own, so we can eliminate it and make the AArch64 CPUs directly inherit from TYPE_ARM_CPU. Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-id: 20250429132200.605611-8-peter.mayd...@linaro.org Commit: 6414b7709d404bf410da360bab865133832ade85 https://github.com/qemu/qemu/commit/6414b7709d404bf410da360bab865133832ade85 Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M rust/hw/char/pl011/src/registers.rs Log Message: ----------- rust: pl011: Cut down amount of text quoted from PL011 TRM Currently the comments in the Rust pl011 register.rs file include large amounts of text from the PL011 TRM. This is much more commentary than we typically quote from a device reference manual, and much of it is not relevant to QEMU. Compress and rephrase the comments so that we are not quoting such a large volume of TRM text. We add a URL for the TRM; readers who need more detail on the function of the register bits can find it there, presented in context with the overall description of the hardware. Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> Commit: edf838289b7fc698013f18d7a8a83b6b50ec41bb https://github.com/qemu/qemu/commit/edf838289b7fc698013f18d7a8a83b6b50ec41bb Author: Santiago Monserrat Campanello <santimons...@gmail.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M hw/arm/omap1.c M hw/arm/omap_sx1.c M hw/dma/omap_dma.c M hw/gpio/omap_gpio.c M hw/i2c/omap_i2c.c M hw/intc/omap_intc.c M hw/misc/omap_clk.c M hw/timer/pxa2xx_timer.c M include/hw/arm/omap.h M include/hw/arm/sharpsl.h M include/hw/arm/soc_dma.h Log Message: ----------- hw/arm: Replace TABs for spaces in OMAP board and device code In hw/arm and include/hw/arm, some source files for the OMAP SoC and the sx1 boards that are our only remaining OMAP boards still have hard-coded tabs (almost entirely used for the indent on inline comments, not for actual code indent). Replace the tabs with spaces using vim :retab. I used 4 spaces except in some defines and comments where I tried to put everything aligned in the same column for better readability. This commit is a purely whitespace-only change. Signed-off-by: Santiago Monserrat Campanello <santimons...@gmail.com> Message-id: 20250505131130.82206-1-santimons...@gmail.com Resolves: https://gitlab.com/qemu-project/qemu/-/issues/373 [PMM: expanded commit message] Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 2a952e052ab0dab5dc309f9521e655e1011c92a8 https://github.com/qemu/qemu/commit/2a952e052ab0dab5dc309f9521e655e1011c92a8 Author: Thomas Huth <th...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M MAINTAINERS Log Message: ----------- MAINTAINERS: Add an entry for the Bananapi machine This machine was still missing from the MAINTAINERS file. Since there is likely no active maintainer around for this machine (I didn't spot any contributions from Qianfan Zhao in the git log after 2023), I'm suggesting Peter as maintainer with status set to "Odd fixes". Signed-off-by: Thomas Huth <th...@redhat.com> Message-id: 20250508072706.114278-1-th...@redhat.com Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 133edc4f220c9c415f68832e6341f461bf04152a https://github.com/qemu/qemu/commit/133edc4f220c9c415f68832e6341f461bf04152a Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/hyp_gdbstub.c M target/arm/internals.h Log Message: ----------- target/arm: Replace target_ulong -> vaddr for HWBreakpoint Reviewed-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Alex Bennée <alex.ben...@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-2-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: af3ca6e7f09d8ed0e8c9a3fff55d7a68b5019033 https://github.com/qemu/qemu/commit/af3ca6e7f09d8ed0e8c9a3fff55d7a68b5019033 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M include/system/hvf.h Log Message: ----------- include/system/hvf: missing vaddr include On MacOS x86_64: In file included from ../target/i386/hvf/x86_task.c:13: /Users/runner/work/qemu/qemu/include/system/hvf.h:42:5: error: unknown type name 'vaddr' vaddr pc; ^ /Users/runner/work/qemu/qemu/include/system/hvf.h:43:5: error: unknown type name 'vaddr' vaddr saved_insn; ^ /Users/runner/work/qemu/qemu/include/system/hvf.h:45:5: error: type name requires a specifier or qualifier QTAILQ_ENTRY(hvf_sw_breakpoint) entry; ^ /Users/runner/work/qemu/qemu/include/system/hvf.h:45:18: error: a parameter list without types is only allowed in a function definition QTAILQ_ENTRY(hvf_sw_breakpoint) entry; ^ /Users/runner/work/qemu/qemu/include/system/hvf.h:45:36: error: expected ';' at end of declaration list QTAILQ_ENTRY(hvf_sw_breakpoint) entry; Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-3-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: b2bb3f3576e5dc99218607dde09e25ac0e55693c https://github.com/qemu/qemu/commit/b2bb3f3576e5dc99218607dde09e25ac0e55693c Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M meson.build Log Message: ----------- meson: add common libs for target and target_system Following what we did for hw/, we need target specific common libraries for target. We need 2 different libraries: - code common to a base architecture - system code common to a base architecture For user code, it can stay compiled per target for now. Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-4-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 9a27ee9ca4999cd9f299dfc33e8af7d789ddc6c6 https://github.com/qemu/qemu/commit/9a27ee9ca4999cd9f299dfc33e8af7d789ddc6c6 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/kvm-stub.c M target/arm/kvm_arm.h Log Message: ----------- target/arm: move kvm stubs and remove CONFIG_KVM from kvm_arm.h Add a forward decl for struct kvm_vcpu_init to avoid pulling all kvm headers. Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-id: 20250512180502.2395029-5-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 2bff5f4715c85854bc133b56f5f09606f0ed9a5b https://github.com/qemu/qemu/commit/2bff5f4715c85854bc133b56f5f09606f0ed9a5b Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/kvm-stub.c Log Message: ----------- target/arm/kvm-stub: add kvm_arm_reset_vcpu stub Needed in target/arm/cpu.c once kvm is possible. Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-id: 20250512180502.2395029-6-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 3a2964ccb4ebec97764d2b6168b60b778cc52b2f https://github.com/qemu/qemu/commit/3a2964ccb4ebec97764d2b6168b60b778cc52b2f Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/cpu.c M target/arm/kvm-stub.c M target/arm/kvm.c M target/arm/kvm_arm.h Log Message: ----------- target/arm/cpu: move arm_cpu_kvm_set_irq to kvm.c Allow to get rid of CONFIG_KVM in target/arm/cpu.c Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-7-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 911a63dd25bf1f244ff8561f800a25b8033fbc87 https://github.com/qemu/qemu/commit/911a63dd25bf1f244ff8561f800a25b8033fbc87 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/cpu.c Log Message: ----------- target/arm/cpu: remove TARGET_BIG_ENDIAN dependency Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Anton Johansson <a...@rev.ng> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-8-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 07e13d5fb5d289d4ae758cfd1f77356052789ad2 https://github.com/qemu/qemu/commit/07e13d5fb5d289d4ae758cfd1f77356052789ad2 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/cpu.c Log Message: ----------- target/arm/cpu: remove TARGET_AARCH64 around aarch64_cpu_dump_state common Call is guarded by is_a64(env), so it's safe to expose without needing to assert anything. Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-9-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 2a028eab3909687f1799b53488cd199fe4775126 https://github.com/qemu/qemu/commit/2a028eab3909687f1799b53488cd199fe4775126 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/cpu.c A target/arm/cpu32-stubs.c M target/arm/meson.build Log Message: ----------- target/arm/cpu: remove TARGET_AARCH64 in arm_cpu_finalize_features Need to stub cpu64 finalize functions. Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-10-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 5ae609b629e9de4e4c6d18ecc33bdb1f02e431d6 https://github.com/qemu/qemu/commit/5ae609b629e9de4e4c6d18ecc33bdb1f02e431d6 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/meson.build Log Message: ----------- target/arm/cpu: compile file twice (user, system) only Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-11-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: b757ae80c6f389dd8d6f8069e413a52c7ef76c20 https://github.com/qemu/qemu/commit/b757ae80c6f389dd8d6f8069e413a52c7ef76c20 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/meson.build Log Message: ----------- target/arm/cpu32-stubs.c: compile file twice (user, system) It could be squashed with commit introducing it, but I would prefer to introduce target/arm/cpu.c first. Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-12-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 21a75f792f088d0aabebf6b7d96490e37fe8b779 https://github.com/qemu/qemu/commit/21a75f792f088d0aabebf6b7d96490e37fe8b779 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M include/exec/helper-head.h.inc M include/tcg/tcg-op-common.h M include/tcg/tcg.h M tcg/tcg.c Log Message: ----------- tcg: add vaddr type for helpers Defined as an alias of i32/i64 depending on host pointer size. Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-id: 20250512180502.2395029-13-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: a0307ea3dde1089d764a4449b62815023a1abbc6 https://github.com/qemu/qemu/commit/a0307ea3dde1089d764a4449b62815023a1abbc6 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/helper.h M target/arm/tcg/tlb_helper.c M target/arm/tcg/translate-a64.c M target/arm/tcg/translate.c Log Message: ----------- target/arm/helper: use vaddr instead of target_ulong for exception_pc_alignment Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-id: 20250512180502.2395029-14-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 5296a79b5a14d072af6fe2c8a8c00793862f18d4 https://github.com/qemu/qemu/commit/5296a79b5a14d072af6fe2c8a8c00793862f18d4 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/helper.h M target/arm/tcg/op_helper.c Log Message: ----------- target/arm/helper: use vaddr instead of target_ulong for probe_access Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-id: 20250512180502.2395029-15-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: a7a3ae9edc65032c6362bb3af6fe611df10aa705 https://github.com/qemu/qemu/commit/a7a3ae9edc65032c6362bb3af6fe611df10aa705 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/helper.h A target/arm/tcg/helper.h Log Message: ----------- target/arm/helper: extract common helpers Allow later commits to include only the "new" tcg/helper.h, thus preventing to pull aarch64 helpers (+ target/arm/helper.h contains a ifdef TARGET_AARCH64). Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-16-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: f9fba6ddfc854f427e00d62c1e4888ce9a1a7c34 https://github.com/qemu/qemu/commit/f9fba6ddfc854f427e00d62c1e4888ce9a1a7c34 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/debug_helper.c Log Message: ----------- target/arm/debug_helper: only include common helpers Avoid pulling helper.h which contains TARGET_AARCH64. Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-17-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 61dcfb2ef255d17a23262170457568af52fb0516 https://github.com/qemu/qemu/commit/61dcfb2ef255d17a23262170457568af52fb0516 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/debug_helper.c Log Message: ----------- target/arm/debug_helper: remove target_ulong Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-18-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 64961a801500035b9a039c474b6225e0cfd3f44e https://github.com/qemu/qemu/commit/64961a801500035b9a039c474b6225e0cfd3f44e Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/meson.build Log Message: ----------- target/arm/debug_helper: compile file twice (user, system) Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-19-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 2fdfdeb2f2a46ee5b96918dfd18cdeedf3bba013 https://github.com/qemu/qemu/commit/2fdfdeb2f2a46ee5b96918dfd18cdeedf3bba013 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/helper.c Log Message: ----------- target/arm/helper: restrict include to common helpers Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-20-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: d626a26dd1ce0ede8e5e5a1c73f089f5e711f9e8 https://github.com/qemu/qemu/commit/d626a26dd1ce0ede8e5e5a1c73f089f5e711f9e8 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/helper.c Log Message: ----------- target/arm/helper: replace target_ulong by vaddr Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-21-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 8eb048210e150d9f4fb7225f598de605a3633f67 https://github.com/qemu/qemu/commit/8eb048210e150d9f4fb7225f598de605a3633f67 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/helper.c Log Message: ----------- target/arm/helper: expose aarch64 cpu registration associated define_arm_cp_regs are guarded by "cpu_isar_feature(aa64_*)", so it's safe to expose that code for arm target (32 bit). Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-22-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 15e9ed7d7c376175285fe7694ef99b0a4c90f5b2 https://github.com/qemu/qemu/commit/15e9ed7d7c376175285fe7694ef99b0a4c90f5b2 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/helper.c Log Message: ----------- target/arm/helper: remove remaining TARGET_AARCH64 They were hiding aarch64_sve_narrow_vq and aarch64_sve_change_el, which we can expose safely. Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-id: 20250512180502.2395029-23-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 9cf590f214c77faa98f9d315519de0961187b8ff https://github.com/qemu/qemu/commit/9cf590f214c77faa98f9d315519de0961187b8ff Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/meson.build Log Message: ----------- target/arm/helper: compile file twice (user, system) Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-id: 20250512180502.2395029-24-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: d4952244a9ce67a4fc85962ea50e8be0ec140e1e https://github.com/qemu/qemu/commit/d4952244a9ce67a4fc85962ea50e8be0ec140e1e Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/meson.build Log Message: ----------- target/arm/vfp_fpscr: compile file twice (user, system) Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-id: 20250512180502.2395029-25-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 89356e123bfe09459bf0c596d6dce660971f6541 https://github.com/qemu/qemu/commit/89356e123bfe09459bf0c596d6dce660971f6541 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/arch_dump.c Log Message: ----------- target/arm/arch_dump: remove TARGET_AARCH64 conditionals Associated code is protected by cpu_isar_feature(aa64*) Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-26-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 55bb7a9ad097419b5406ed1e816339ed652f3017 https://github.com/qemu/qemu/commit/55bb7a9ad097419b5406ed1e816339ed652f3017 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/meson.build Log Message: ----------- target/arm/arch_dump: compile file once (system) Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-id: 20250512180502.2395029-27-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 262a5ce86ebfd7975ed6b5075a512d33e0ef1d1d https://github.com/qemu/qemu/commit/262a5ce86ebfd7975ed6b5075a512d33e0ef1d1d Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/meson.build Log Message: ----------- target/arm/arm-powerctl: compile file once (system) Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-id: 20250512180502.2395029-28-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 7d5df02e7a5a8cd3673850db8eace624314a363c https://github.com/qemu/qemu/commit/7d5df02e7a5a8cd3673850db8eace624314a363c Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/meson.build Log Message: ----------- target/arm/cortex-regs: compile file once (system) Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-29-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 03bc7858fd87fc622b2671b319c2de8aad7aefd5 https://github.com/qemu/qemu/commit/03bc7858fd87fc622b2671b319c2de8aad7aefd5 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/ptw.c Log Message: ----------- target/arm/ptw: replace target_ulong with int64_t sextract64 returns a signed value. Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-30-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: bdfbf92c34acec649fa7d8cd0389c2b6629c88ad https://github.com/qemu/qemu/commit/bdfbf92c34acec649fa7d8cd0389c2b6629c88ad Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/ptw.c Log Message: ----------- target/arm/ptw: replace TARGET_AARCH64 by CONFIG_ATOMIC64 from arm_casq_ptw This function needs 64 bit compare exchange, so we hide implementation for hosts not supporting it (some 32 bit target, which don't run 64 bit guests anyway). Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-31-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: aeacf43ae6f59139ab16adad7cd8c8e9f443536d https://github.com/qemu/qemu/commit/aeacf43ae6f59139ab16adad7cd8c8e9f443536d Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/meson.build Log Message: ----------- target/arm/ptw: compile file once (system) Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-32-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: f86d42205c2eba2486fd305679f5963bb97b0371 https://github.com/qemu/qemu/commit/f86d42205c2eba2486fd305679f5963bb97b0371 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/meson.build Log Message: ----------- target/arm/meson: accelerator files are not needed in user mode Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-id: 20250512180502.2395029-33-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: cee0762c2b6236639979ba42a179d9d015057d94 https://github.com/qemu/qemu/commit/cee0762c2b6236639979ba42a179d9d015057d94 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/meson.build Log Message: ----------- target/arm/kvm-stub: compile file once (system) Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-34-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: d31eaa5bdbd5cf05d8313beb7149c33c4a6d750e https://github.com/qemu/qemu/commit/d31eaa5bdbd5cf05d8313beb7149c33c4a6d750e Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/machine.c Log Message: ----------- target/arm/machine: reduce migration include to avoid target specific definitions Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-id: 20250512180502.2395029-35-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: cb9f95996a5d2941da5a41cc168145aca3051a55 https://github.com/qemu/qemu/commit/cb9f95996a5d2941da5a41cc168145aca3051a55 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/machine.c Log Message: ----------- target/arm/machine: remove TARGET_AARCH64 from migration state This exposes two new subsections for arm: vmstate_sve and vmstate_za. Those sections have a ".needed" callback, which already allow to skip them when not needed. vmstate_sve .needed is checking cpu_isar_feature(aa64_sve, cpu). vmstate_za .needed is checking ZA flag in cpu->env.svcr. Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-id: 20250512180502.2395029-36-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 1dfe5a0c2e3da5d315cb45dbd7336bf20ea9a0ae https://github.com/qemu/qemu/commit/1dfe5a0c2e3da5d315cb45dbd7336bf20ea9a0ae Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/kvm.c M target/arm/kvm_arm.h M target/arm/machine.c Log Message: ----------- target/arm/machine: move cpu_post_load kvm bits to kvm_arm_cpu_post_load function Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-id: 20250512180502.2395029-37-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 1388256782014a7f6c730332f3561c6e1f94cc80 https://github.com/qemu/qemu/commit/1388256782014a7f6c730332f3561c6e1f94cc80 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/kvm-stub.c Log Message: ----------- target/arm/kvm-stub: add missing stubs Those become needed once kvm_enabled can't be known at compile time. Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-38-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 2c5058cc1eb77ed5340448aa6dea13ae4f4f1593 https://github.com/qemu/qemu/commit/2c5058cc1eb77ed5340448aa6dea13ae4f4f1593 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/meson.build Log Message: ----------- target/arm/machine: compile file once (system) Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-id: 20250512180502.2395029-39-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 368b42f6dd64521b9282ddefa9e267eca621271c https://github.com/qemu/qemu/commit/368b42f6dd64521b9282ddefa9e267eca621271c Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/tcg/vec_internal.h Log Message: ----------- target/arm/tcg/vec_internal: use forward declaration for CPUARMState Needed so this header can be included without requiring cpu.h. Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-40-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 9f8d002499e06f60878f803cb6ad70f1220a3ce4 https://github.com/qemu/qemu/commit/9f8d002499e06f60878f803cb6ad70f1220a3ce4 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/tcg/crypto_helper.c M target/arm/tcg/meson.build Log Message: ----------- target/arm/tcg/crypto_helper: compile file once Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-41-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 12ae629d231b01e065b60288e82573842654054c https://github.com/qemu/qemu/commit/12ae629d231b01e065b60288e82573842654054c Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/tcg/hflags.c M target/arm/tcg/meson.build Log Message: ----------- target/arm/tcg/hflags: compile file twice (system, user) Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-42-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: d5f8252cd15bf0dc3ac458e7e78427905966cfbf https://github.com/qemu/qemu/commit/d5f8252cd15bf0dc3ac458e7e78427905966cfbf Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/tcg/iwmmxt_helper.c M target/arm/tcg/meson.build Log Message: ----------- target/arm/tcg/iwmmxt_helper: compile file twice (system, user) Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-43-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: b586c86a8ea1bbf2bc7070153b38b8c75ff8b979 https://github.com/qemu/qemu/commit/b586c86a8ea1bbf2bc7070153b38b8c75ff8b979 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/tcg/meson.build M target/arm/tcg/neon_helper.c Log Message: ----------- target/arm/tcg/neon_helper: compile file twice (system, user) Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-44-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: cbf565b00fb350eb2d2b79fce437ee88060fd3f9 https://github.com/qemu/qemu/commit/cbf565b00fb350eb2d2b79fce437ee88060fd3f9 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/tcg/meson.build M target/arm/tcg/tlb_helper.c Log Message: ----------- target/arm/tcg/tlb_helper: compile file twice (system, user) Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-45-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: c04f6b5908bb1eff09955e89c239ff0c03de4754 https://github.com/qemu/qemu/commit/c04f6b5908bb1eff09955e89c239ff0c03de4754 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/helper.c Log Message: ----------- target/arm/helper: restrict define_tlb_insn_regs to system target Allows to include target/arm/tcg/tlb-insns.c only for system targets. Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-46-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 31f4a08971d84bf97cf598a67d95ba8338adad1e https://github.com/qemu/qemu/commit/31f4a08971d84bf97cf598a67d95ba8338adad1e Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/tcg/meson.build M target/arm/tcg/tlb-insns.c Log Message: ----------- target/arm/tcg/tlb-insns: compile file once (system) aarch64 specific code is guarded by cpu_isar_feature(aa64*), so it's safe to expose it. Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-id: 20250512180502.2395029-47-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: c0b623cb1c0d2de64631486d391c55f2e8874eda https://github.com/qemu/qemu/commit/c0b623cb1c0d2de64631486d391c55f2e8874eda Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/tcg/arith_helper.c M target/arm/tcg/meson.build Log Message: ----------- target/arm/tcg/arith_helper: compile file once Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-48-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: 9eb5427ac0d56ca050e34776b6de428892609bd5 https://github.com/qemu/qemu/commit/9eb5427ac0d56ca050e34776b6de428892609bd5 Author: Pierrick Bouvier <pierrick.bouv...@linaro.org> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M target/arm/tcg/meson.build M target/arm/tcg/vfp_helper.c Log Message: ----------- target/arm/tcg/vfp_helper: compile file twice (system, user) Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-id: 20250512180502.2395029-49-pierrick.bouv...@linaro.org Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Commit: c33159dec79069514f78faecfe268439226b0f5b https://github.com/qemu/qemu/commit/c33159dec79069514f78faecfe268439226b0f5b Author: Eric Blake <ebl...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M block/blkdebug.c M block/copy-before-write.c M block/coroutines.h M block/file-posix.c M block/gluster.c M block/io.c M block/iscsi.c M block/nbd.c M block/null.c M block/parallels.c M block/qcow.c M block/qcow2.c M block/qed.c M block/quorum.c M block/raw-format.c M block/rbd.c M block/snapshot-access.c M block/vdi.c M block/vmdk.c M block/vpc.c M block/vvfat.c M include/block/block-common.h M include/block/block_int-common.h M include/block/block_int-io.h M tests/unit/test-block-iothread.c Log Message: ----------- block: Expand block status mode from bool to flags This patch is purely mechanical, changing bool want_zero into an unsigned int for bitwise-or of flags. As of this patch, all implementations are unchanged (the old want_zero==true is now mode==BDRV_WANT_PRECISE which is a superset of BDRV_WANT_ZERO); but the callers in io.c that used to pass want_zero==false are now prepared for future driver changes that can now distinguish bewteen BDRV_WANT_ZERO vs. BDRV_WANT_ALLOCATED. The next patch will actually change the file-posix driver along those lines, now that we have more-specific hints. As for the background why this patch is useful: right now, the file-posix driver recognizes that if allocation is being queried, the entire image can be reported as allocated (there is no backing file to refer to) - but this throws away information on whether the entire image reads as zero (trivially true if lseek(SEEK_HOLE) at offset 0 returns -ENXIO, a bit more complicated to prove if the raw file was created with 'qemu-img create' since we intentionally allocate a small chunk of all-zero data to help with alignment probing). Later patches will add a generic algorithm for seeing if an entire file reads as zeroes. Signed-off-by: Eric Blake <ebl...@redhat.com> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Message-ID: <20250509204341.3553601-16-ebl...@redhat.com> Commit: a6a0a7fb0e327d17594c971b4a39de14e025b415 https://github.com/qemu/qemu/commit/a6a0a7fb0e327d17594c971b4a39de14e025b415 Author: Eric Blake <ebl...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M block/file-posix.c M block/gluster.c Log Message: ----------- file-posix, gluster: Handle zero block status hint better Although the previous patch to change 'bool want_zero' into a bitmask made no semantic change, it is now time to differentiate. When the caller specifically wants to know what parts of the file read as zero, we need to use lseek and actually reporting holes, rather than short-circuiting and advertising full allocation. This change will be utilized in later patches to let mirroring optimize for the case when the destination already reads as zeroes. Signed-off-by: Eric Blake <ebl...@redhat.com> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Message-ID: <20250509204341.3553601-17-ebl...@redhat.com> Commit: 31bf15d97dd1d205a3b264675f9a1b3bd1939068 https://github.com/qemu/qemu/commit/31bf15d97dd1d205a3b264675f9a1b3bd1939068 Author: Eric Blake <ebl...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M block/io.c Log Message: ----------- block: Let bdrv_co_is_zero_fast consolidate adjacent extents Some BDS drivers have a cap on how much block status they can supply in one query (for example, NBD talking to an older server cannot inspect more than 4G per query; and qcow2 tends to cap its answers rather than cross a cluster boundary of an L1 table). Although the existing callers of bdrv_co_is_zero_fast are not passing in that large of a 'bytes' parameter, an upcoming caller wants to query the entire image at once, and will thus benefit from being able to treat adjacent zero regions in a coalesced manner, rather than claiming the region is non-zero merely because pnum was truncated and didn't match the incoming bytes. While refactoring this into a loop, note that there is no need to assign pnum prior to calling bdrv_co_common_block_status_above() (it is guaranteed to be assigned deeper in the callstack). Signed-off-by: Eric Blake <ebl...@redhat.com> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Message-ID: <20250509204341.3553601-18-ebl...@redhat.com> Commit: 52726096707c5c8b90597c445de897fa64d56e73 https://github.com/qemu/qemu/commit/52726096707c5c8b90597c445de897fa64d56e73 Author: Eric Blake <ebl...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M block/io.c M include/block/block-io.h Log Message: ----------- block: Add new bdrv_co_is_all_zeroes() function There are some optimizations that require knowing if an image starts out as reading all zeroes, such as making blockdev-mirror faster by skipping the copying of source zeroes to the destination. The existing bdrv_co_is_zero_fast() is a good building block for answering this question, but it tends to give an answer of 0 for a file we just created via QMP 'blockdev-create' or similar (such as 'qemu-img create -f raw'). Why? Because file-posix.c insists on allocating a tiny header to any file rather than leaving it 100% sparse, due to some filesystems that are unable to answer alignment probes on a hole. But teaching file-posix.c to read the tiny header doesn't scale - the problem of a small header is also visible when libvirt sets up an NBD client to a just-created file on a migration destination host. So, we need a wrapper function that handles a bit more complexity in a common manner for all block devices - when the BDS is mostly a hole, but has a small non-hole header, it is still worth the time to read that header and check if it reads as all zeroes before giving up and returning a pessimistic answer. Signed-off-by: Eric Blake <ebl...@redhat.com> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Message-ID: <20250509204341.3553601-19-ebl...@redhat.com> Commit: eb89627899bb84148d272394e885725eff456ae9 https://github.com/qemu/qemu/commit/eb89627899bb84148d272394e885725eff456ae9 Author: Eric Blake <ebl...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M tests/qemu-iotests/194 Log Message: ----------- iotests: Improve iotest 194 to mirror data Mirroring a completely sparse image to a sparse destination should be practically instantaneous. It isn't yet, but the test will be more realistic if it has some non-zero to mirror as well as the holes. Signed-off-by: Eric Blake <ebl...@redhat.com> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Message-ID: <20250509204341.3553601-20-ebl...@redhat.com> Commit: 870f8963cf1a84f8ec929b05a6d68906974a76c5 https://github.com/qemu/qemu/commit/870f8963cf1a84f8ec929b05a6d68906974a76c5 Author: Eric Blake <ebl...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M block/mirror.c Log Message: ----------- mirror: Minor refactoring Commit 5791ba52 (v9.2) pre-initialized ret in mirror_dirty_init to silence a false positive compiler warning, even though in all code paths where ret is used, it was guaranteed to be reassigned beforehand. But since the function returns -errno, and -1 is not always the right errno, it's better to initialize to -EIO. An upcoming patch wants to track two bitmaps in do_sync_target_write(); this will be easier if the current variables related to the dirty bitmap are renamed. Signed-off-by: Eric Blake <ebl...@redhat.com> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Message-ID: <20250509204341.3553601-21-ebl...@redhat.com> Commit: 9474d97bd7421b4fe7c806ab0949697514d11e88 https://github.com/qemu/qemu/commit/9474d97bd7421b4fe7c806ab0949697514d11e88 Author: Eric Blake <ebl...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M block/mirror.c Log Message: ----------- mirror: Pass full sync mode rather than bool to internals Out of the five possible values for MirrorSyncMode, INCREMENTAL and BITMAP are already rejected up front in mirror_start, leaving NONE, TOP, and FULL as the remaining values that the code was collapsing into a single bool is_none_mode. Furthermore, mirror_dirty_init() is only reachable for modes TOP and FULL, as further guided by s->zero_target. However, upcoming patches want to further optimize the pre-zeroing pass of a sync=full mirror in mirror_dirty_init(), while avoiding that pass on a sync=top action. Instead of throwing away context by collapsing these two values into s->is_none_mode=false, it is better to pass s->sync_mode throughout the entire operation. For active commit, the desired semantics match sync mode TOP. Signed-off-by: Eric Blake <ebl...@redhat.com> Message-ID: <20250509204341.3553601-22-ebl...@redhat.com> Reviewed-by: Sunny Zhu <sunnyz...@qq.com> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: d17a34bfb94bda3a89d7320ae67255ded1d8c939 https://github.com/qemu/qemu/commit/d17a34bfb94bda3a89d7320ae67255ded1d8c939 Author: Eric Blake <ebl...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M block/mirror.c M blockdev.c M include/block/block_int-global-state.h M qapi/block-core.json M tests/unit/test-block-iothread.c Log Message: ----------- mirror: Allow QMP override to declare target already zero QEMU has an optimization for a just-created drive-mirror destination that is not possible for blockdev-mirror (which can't create the destination) - any time we know the destination starts life as all zeroes, we can skip a pre-zeroing pass on the destination. Recent patches have added an improved heuristic for detecting if a file contains all zeroes, and we plan to use that heuristic in upcoming patches. But since a heuristic cannot quickly detect all scenarios, and there may be cases where the caller is aware of information that QEMU cannot learn quickly, it makes sense to have a way to tell QEMU to assume facts about the destination that can make the mirror operation faster. Given our existing example of "qemu-img convert --target-is-zero", it is time to expose this override in QMP for blockdev-mirror as well. This patch results in some slight redundancy between the older s->zero_target (set any time mode==FULL and the destination image was not just created - ie. clear if drive-mirror is asking to skip the pre-zero pass) and the newly-introduced s->target_is_zero (in addition to the QMP override, it is set when drive-mirror creates the destination image); this will be cleaned up in the next patch. There is also a subtlety that we must consider. When drive-mirror is passing target_is_zero on behalf of a just-created image, we know the image is sparse (skipping the pre-zeroing keeps it that way), so it doesn't matter whether the destination also has "discard":"unmap" and "detect-zeroes":"unmap". But now that we are letting the user set the knob for target-is-zero, if the user passes a pre-existing file that is fully allocated, it is fine to leave the file fully allocated under "detect-zeroes":"on", but if the file is open with "detect-zeroes":"unmap", we should really be trying harder to punch holes in the destination for every region of zeroes copied from the source. The easiest way to do this is to still run the pre-zeroing pass (turning the entire destination file sparse before populating just the allocated portions of the source), even though that currently results in double I/O to the portions of the file that are allocated. A later patch will add further optimizations to reduce redundant zeroing I/O during the mirror operation. Since "target-is-zero":true is designed for optimizations, it is okay to silently ignore the parameter rather than erroring if the user ever sets the parameter in a scenario where the mirror job can't exploit it (for example, when doing "sync":"top" instead of "sync":"full", we can't pre-zero, so setting the parameter won't make a speed difference). Signed-off-by: Eric Blake <ebl...@redhat.com> Acked-by: Markus Armbruster <arm...@redhat.com> Message-ID: <20250509204341.3553601-23-ebl...@redhat.com> Reviewed-by: Sunny Zhu <sunnyz...@qq.com> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 253b43a29077de9266351e120c600a73b82e9c49 https://github.com/qemu/qemu/commit/253b43a29077de9266351e120c600a73b82e9c49 Author: Eric Blake <ebl...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M block/mirror.c M blockdev.c M include/block/block_int-global-state.h M tests/unit/test-block-iothread.c Log Message: ----------- mirror: Drop redundant zero_target parameter The two callers to a mirror job (drive-mirror and blockdev-mirror) set zero_target precisely when sync mode == FULL, with the one exception that drive-mirror skips zeroing the target if it was newly created and reads as zero. But given the previous patch, that exception is equally captured by target_is_zero. Meanwhile, there is another slight wrinkle, fortunately caught by iotest 185: if the caller uses "sync":"top" but the source has no backing file, the code in blockdev.c was changing sync to be FULL, but only after it had set zero_target=false. In mirror.c, prior to recent patches, this didn't matter: the only places that inspected sync were setting is_none_mode (both TOP and FULL had set that to false), and mirror_start() setting base = mode == MIRROR_SYNC_MODE_TOP ? bdrv_backing_chain_next(bs) : NULL. But now that we are passing sync around, the slammed sync mode would result in a new pre-zeroing pass even when the user had passed "sync":"top" in an effort to skip pre-zeroing. Fortunately, the assignment of base when bs has no backing chain still works out to NULL if we don't slam things. So with the forced change of sync ripped out of blockdev.c, the sync mode is passed through the full callstack unmolested, and we can now reliably reconstruct the same settings as what used to be passed in by zero_target=false, without the redundant parameter. Signed-off-by: Eric Blake <ebl...@redhat.com> Message-ID: <20250509204341.3553601-24-ebl...@redhat.com> Reviewed-by: Sunny Zhu <sunnyz...@qq.com> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> [eblake: Fix regression in iotest 185] Signed-off-by: Eric Blake <ebl...@redhat.com> Commit: 181a63667adf16c35b57e446def3e41c70f1fea6 https://github.com/qemu/qemu/commit/181a63667adf16c35b57e446def3e41c70f1fea6 Author: Eric Blake <ebl...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M block/mirror.c M tests/qemu-iotests/194 M tests/qemu-iotests/194.out M tests/qemu-iotests/iotests.py Log Message: ----------- mirror: Skip pre-zeroing destination if it is already zero When doing a sync=full mirroring, we can skip pre-zeroing the destination if it already reads as zeroes and we are not also trying to punch holes due to detect-zeroes. With this patch, there are fewer scenarios that have to pass in an explicit target-is-zero, while still resulting in a sparse destination remaining sparse. A later patch will then further improve things to skip writing to the destination for parts of the image where the source is zero; but even with just this patch, it is possible to see a difference for any source that does not report itself as fully allocated, coupled with a destination BDS that can quickly report that it already reads as zero. (For a source that reports as fully allocated, such as a file, the rest of mirror_dirty_init() still sets the entire dirty bitmap to true, so even though we avoided the pre-zeroing, we are not yet avoiding all redundant I/O). Iotest 194 detects the difference made by this patch: for a file source (where block status reports the entire image as allocated, and therefore we end up writing zeroes everywhere in the destination anyways), the job length remains the same. But for a qcow2 source and a destination that reads as all zeroes, the dirty bitmap changes to just tracking the allocated portions of the source, which results in faster completion and smaller job statistics. For the test to pass with both ./check -file and -qcow2, a new python filter is needed to mask out the now-varying job amounts (this matches the shell filters _filter_block_job_{offset,len} in common.filter). A later test will also be added which further validates expected sparseness, so it does not matter that 194 is no longer explicitly looking at how many bytes were copied. Signed-off-by: Eric Blake <ebl...@redhat.com> Message-ID: <20250509204341.3553601-25-ebl...@redhat.com> Reviewed-by: Sunny Zhu <sunnyz...@qq.com> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 7e277545b90874171128804e256a538fb0e8dd7e https://github.com/qemu/qemu/commit/7e277545b90874171128804e256a538fb0e8dd7e Author: Eric Blake <ebl...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M block/mirror.c Log Message: ----------- mirror: Skip writing zeroes when target is already zero When mirroring, the goal is to ensure that the destination reads the same as the source; this goal is met whether the destination is sparse or fully-allocated (except when explicitly punching holes, then merely reading zero is not enough to know if it is sparse, so we still want to punch the hole). Avoiding a redundant write to zero (whether in the background because the zero cluster was marked in the dirty bitmap, or in the foreground because the guest is writing zeroes) when the destination already reads as zero makes mirroring faster, and avoids allocating the destination merely because the source reports as allocated. The effect is especially pronounced when the source is a raw file. That's because when the source is a qcow2 file, the dirty bitmap only visits the portions of the source that are allocated, which tend to be non-zero. But when the source is a raw file, bdrv_co_is_allocated_above() reports the entire file as allocated so mirror_dirty_init sets the entire dirty bitmap, and it is only later during mirror_iteration that we change to consulting the more precise bdrv_co_block_status_above() to learn where the source reads as zero. Remember that since a mirror operation can write a cluster more than once (every time the guest changes the source, the destination is also changed to keep up), and the guest can change whether a given cluster reads as zero, is discarded, or has non-zero data over the course of the mirror operation, we can't take the shortcut of relying on s->target_is_zero (which is static for the life of the job) in mirror_co_zero() to see if the destination is already zero, because that information may be stale. Any solution we use must be dynamic in the face of the guest writing or discarding a cluster while the mirror has been ongoing. We could just teach mirror_co_zero() to do a block_status() probe of the destination, and skip the zeroes if the destination already reads as zero, but we know from past experience that extra block_status() calls are not always cheap (tmpfs, anyone?), especially when they are random access rather than linear. Use of block_status() of the source by the background task in a linear fashion is not our bottleneck (it's a background task, after all); but since mirroring can be done while the source is actively being changed, we don't want a slow block_status() of the destination to occur on the hot path of the guest trying to do random-access writes to the source. So this patch takes a slightly different approach: any time we have to track dirty clusters, we can also track which clusters are known to read as zero. For sync=TOP or when we are punching holes from "detect-zeroes":"unmap", the zero bitmap starts out empty, but prevents a second write zero to a cluster that was already zero by an earlier pass; for sync=FULL when we are not punching holes, the zero bitmap starts out full if the destination reads as zero during initialization. Either way, I/O to the destination can now avoid redundant write zero to a cluster that already reads as zero, all without having to do a block_status() per write on the destination. With this patch, if I create a raw sparse destination file, connect it with QMP 'blockdev-add' while leaving it at the default "discard": "ignore", then run QMP 'blockdev-mirror' with "sync": "full", the destination remains sparse rather than fully allocated. Meanwhile, a destination image that is already fully allocated remains so unless it was opened with "detect-zeroes": "unmap". And any time writing zeroes is skipped, the job counters are not incremented. Signed-off-by: Eric Blake <ebl...@redhat.com> Message-ID: <20250509204341.3553601-26-ebl...@redhat.com> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: be9bac072ede6e6aa27079f59efcf17b56bd7b26 https://github.com/qemu/qemu/commit/be9bac072ede6e6aa27079f59efcf17b56bd7b26 Author: Andrey Drobyshev <andrey.drobys...@virtuozzo.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M tests/qemu-iotests/250 M tests/qemu-iotests/common.rc Log Message: ----------- iotests/common.rc: add disk_usage function Move the definition from iotests/250 to common.rc. This is used to detect real disk usage of sparse files. In particular, we want to use it for checking subclusters-based discards. Signed-off-by: Andrey Drobyshev <andrey.drobys...@virtuozzo.com> Reviewed-by: Alexander Ivanov <alexander.iva...@virtuozzo.com> Reviewed-by: Alberto Garcia <be...@igalia.com> Message-ID: <20240913163942.423050-6-andrey.drobys...@virtuozzo.com> Signed-off-by: Eric Blake <ebl...@redhat.com> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Message-ID: <20250509204341.3553601-27-ebl...@redhat.com> Commit: c0ddcb2cbc146e64f666eaae4edc7b5db7e5814d https://github.com/qemu/qemu/commit/c0ddcb2cbc146e64f666eaae4edc7b5db7e5814d Author: Eric Blake <ebl...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: A tests/qemu-iotests/tests/mirror-sparse A tests/qemu-iotests/tests/mirror-sparse.out Log Message: ----------- tests: Add iotest mirror-sparse for recent patches Prove that blockdev-mirror can now result in sparse raw destination files, regardless of whether the source is raw or qcow2. By making this a separate test, it was possible to test effects of individual patches for the various pieces that all have to work together for a sparse mirror to be successful. Note that ./check -file produces different job lengths than ./check -qcow2 (the test uses a filter to normalize); that's because when deciding how much of the image to be mirrored, the code looks at how much of the source image was allocated (for qcow2, this is only the written clusters; for raw, it is the entire file). But the important part is that the destination file ends up smaller than 3M, rather than the 20M it used to be before this patch series. Signed-off-by: Eric Blake <ebl...@redhat.com> Message-ID: <20250509204341.3553601-28-ebl...@redhat.com> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: aff46b4bf556430dd3c12fa39a457f0487bb0053 https://github.com/qemu/qemu/commit/aff46b4bf556430dd3c12fa39a457f0487bb0053 Author: Eric Blake <ebl...@redhat.com> Date: 2025-05-14 (Wed, 14 May 2025) Changed paths: M block/mirror.c Log Message: ----------- mirror: Reduce I/O when destination is detect-zeroes:unmap If we are going to punch holes in the mirror destination even for the portions where the source image is unallocated, it is nicer to treat the entire image as dirty and punch as we go, rather than pre-zeroing the entire image just to re-do I/O to the allocated portions of the image. Signed-off-by: Eric Blake <ebl...@redhat.com> Message-ID: <20250513220142.535200-2-ebl...@redhat.com> Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 0b1c23a582f7bc721a9b858c289a8d165152a6a0 https://github.com/qemu/qemu/commit/0b1c23a582f7bc721a9b858c289a8d165152a6a0 Author: Klaus Jensen <k.jen...@samsung.com> Date: 2025-05-15 (Thu, 15 May 2025) Changed paths: M hw/nvme/subsys.c Log Message: ----------- hw/nvme: fix nvme hotplugging Commit cd59f50ab017 caused a regression on nvme hotplugging for devices with an implicit nvm subsystem. The nvme-subsys device was incorrectly left with being marked as non-hotpluggable. Fix this. Cc: qemu-sta...@nongnu.org Reported-by: Stéphane Graber <stgra...@stgraber.org> Tested-by: Stéphane Graber <stgra...@stgraber.org> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2950 Fixes: cd59f50ab017 ("hw/nvme: always initialize a subsystem") Reviewed-by: Keith Busch <kbu...@kernel.org> Signed-off-by: Klaus Jensen <k.jen...@samsung.com> Commit: 92fbc2ffc92f387c2ccb00b38ac800ca924c079a https://github.com/qemu/qemu/commit/92fbc2ffc92f387c2ccb00b38ac800ca924c079a Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2025-05-15 (Thu, 15 May 2025) Changed paths: M hw/s390x/event-facility.c M hw/s390x/s390-virtio-ccw.c M include/hw/dma/xlnx_dpdma.h M include/hw/s390x/s390-virtio-ccw.h M target/s390x/gen-features.c M target/s390x/kvm/kvm.c M tests/functional/test_arm_integratorcp.py M tests/functional/test_m68k_nextcube.py M tests/functional/test_mips64el_malta.py M tests/functional/test_s390x_tuxrun.py Log Message: ----------- Merge tag 'pull-request-2025-05-14' of https://gitlab.com/thuth/qemu into staging * Removal of obsolete s390x machines * Fix a memleak in s390x code * Skip some functional tests if the corresponding feature is not available # -----BEGIN PGP SIGNATURE----- # # iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmgkfWURHHRodXRoQHJl # ZGhhdC5jb20ACgkQLtnXdP5wLbXaKA/+K/buSKZWNcvrXtU4AqEyIjicvUsbY79S # BGmwTjO46uDzlqTIOxGJ2uBAocXSlNJ7YsvH75vBHWHF3Vy6LB1zPWDgaYTz7XkA # K9GqtrmRdlPArKa1Q7ot0tJ/wu7lzQuccieJJwNJhotMC3C4dl1HSpp+u/rmk7gG # vG9l5Cdi34BWXp2QCKPdrNs++4mOudLSJtYhBlSpxIaBe6h2LoHmKJNEmD9x4Xcg # SWTqalpWUhJW4L3zCj1JXWv6HAyR6GG7+7FLr5FkorSDG/sMX7+09GLE1/BLlD87 # KtZlTBkcbXs+eXmP4y+qtskI0ca4dLaZnfIq8/v0wqCXvfOUM4Xi0E2HvGmHeI4u # rvC/ZhK2RztMZbVMFXHSmCFJvpi2sGgH+sIHt18BJzkAC+nx0ZdCz81fgKVERHhJ # 1ZnsRiMcf7dI6yEgbJ89vZihv3WbyCcwlnyLDN+lovZzCYTvxPLn5SRH0LEm4kN5 # N/qRwTTlPM4xCGCSc3JEGJVDDy36ojVfvGMFt4ZcFehcpkfcLznw7QYjk3QDwI2N # 58FImsf2VVEl4sdpzpi6zfutMhFuL1N0m/kXb8GBonekXYTPtyBMqHsmhyRe5xXN # vP9paghpU0xBuDMtmZWyq4RCubZNESA7wAbSf0+VcC/1Uhjc3QS5820kV7/WVwsU # VwObtSEAG1c= # =zUob # -----END PGP SIGNATURE----- # gpg: Signature made Wed 14 May 2025 07:24:21 EDT # gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5 # gpg: issuer "th...@redhat.com" # gpg: Good signature from "Thomas Huth <th.h...@gmx.de>" [full] # gpg: aka "Thomas Huth <th...@redhat.com>" [full] # gpg: aka "Thomas Huth <h...@tuxfamily.org>" [full] # gpg: aka "Thomas Huth <th.h...@posteo.de>" [unknown] # Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5 * tag 'pull-request-2025-05-14' of https://gitlab.com/thuth/qemu: tests/functional: Skip the screendump tests if the command is not available tests/functional/test_s390x_tuxrun: Check whether the machine is available include/hw/dma/xlnx_dpdma: Remove dependency on console.h s390x: Fix leak in machine_set_loadparm hw/s390x/s390-virtio-ccw: Remove the deprecated 4.0 machine type hw/s390x/s390-virtio-ccw: Remove the deprecated 3.1 machine type hw/s390x: Remove the obsolete hpage_1m_allowed switch hw/s390x/s390-virtio-ccw: Remove the deprecated 3.0 machine type hw/s390x/s390-virtio-ccw: Remove the deprecated 2.12 machine type target/s390x: Rename the qemu_V2_11 feature set to qemu_MIN hw/s390x/event-facility: Remove the obsolete "allow_all_mask_sizes" code hw/s390x/s390-virtio-ccw: Remove the deprecated 2.11 machine type hw/s390x/s390-virtio-ccw: Remove the deprecated 2.10 machine type Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 21596064081e8d0c0153f68714981c7f0e040973 https://github.com/qemu/qemu/commit/21596064081e8d0c0153f68714981c7f0e040973 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2025-05-15 (Thu, 15 May 2025) Changed paths: M MAINTAINERS M backends/vhost-user.c M docs/system/devices/cxl.rst M docs/system/index.rst A docs/system/sriov.rst M hw/block/vhost-user-blk.c M hw/block/virtio-blk.c M hw/char/virtio-serial-bus.c M hw/core/vm-change-state-handler.c M hw/cxl/cxl-device-utils.c M hw/cxl/cxl-mailbox-utils.c M hw/display/vhost-user-gpu.c M hw/i386/acpi-build.c M hw/i386/amd_iommu.c M hw/i386/amd_iommu.h M hw/i386/intel_iommu.c M hw/input/virtio-input.c M hw/mem/cxl_type3.c M hw/misc/pci-testdev.c M hw/net/virtio-net.c M hw/pci/pci.c M hw/pci/pcie_sriov.c M hw/scsi/scsi-bus.c M hw/scsi/vhost-scsi-common.c M hw/scsi/vhost-scsi.c M hw/scsi/vhost-user-scsi.c M hw/vfio/migration.c M hw/virtio/vdpa-dev.c M hw/virtio/vhost-user-base.c M hw/virtio/vhost-user-fs.c M hw/virtio/vhost-user-scmi.c M hw/virtio/vhost-user-vsock.c M hw/virtio/vhost-vsock-common.c M hw/virtio/vhost-vsock.c M hw/virtio/vhost.c M hw/virtio/virtio-balloon.c M hw/virtio/virtio-crypto.c M hw/virtio/virtio-iommu.c M hw/virtio/virtio-net-pci.c M hw/virtio/virtio-pci.c M hw/virtio/virtio-rng.c M hw/virtio/virtio.c M include/hw/cxl/cxl_device.h M include/hw/cxl/cxl_mailbox.h M include/hw/pci/pci_device.h M include/hw/pci/pcie_sriov.h M include/hw/virtio/vhost-scsi-common.h M include/hw/virtio/vhost-vsock-common.h M include/hw/virtio/vhost.h M include/hw/virtio/virtio-pci.h M include/hw/virtio/virtio.h M include/system/runstate.h M include/system/vhost-user-backend.h M system/cpus.c M system/runstate.c Log Message: ----------- Merge tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu into staging virtio,pci,pc: fixes, features vhost-scsi now supports scsi hotplug cxl gained a bag of new operations, motably media operations virtio-net now supports SR-IOV emulation pci-testdev now supports backing memory bar with host memory amd iommu now supports migration fixes all over the place Signed-off-by: Michael S. Tsirkin <m...@redhat.com> # -----BEGIN PGP SIGNATURE----- # # iQFDBAABCgAtFiEEXQn9CHHI+FuUyooNKB8NuNKNVGkFAmgkg0UPHG1zdEByZWRo # YXQuY29tAAoJECgfDbjSjVRpcDIH+wbrq7DzG+BVOraYtmD69BQCzYszby1mAWry # 2OUYuAx9Oh+DsAwbzwbBdh9+SmJoi1oJ/d8rzSK328hdDrpCaPmc7bcBdAWJ3YcB # bGNPyJ+9eJLRXtlceGIhfAOMLIB0ugXGkHLQ61zlVCTg4Xwnj7/dQp2tAQ1BkTwW # Azc7ujBoJOBF3WVpa1Pqw0t1m3K74bwanOlkIg/JUWXk27sgP2YMnyrcpOu9Iz1T # VazgobyHo5y15V0wvd05w4Bk7cJSHwgW+y3DtgTtIffetIaAbSRgl3Pl5Ic1yKcX # ofg9aDFN6m0S8tv4WgFc+rT3Xaa/aPue9awjD5sEEldRasWKKNo= # =847R # -----END PGP SIGNATURE----- # gpg: Signature made Wed 14 May 2025 07:49:25 EDT # gpg: using RSA key 5D09FD0871C8F85B94CA8A0D281F0DB8D28D5469 # gpg: issuer "m...@redhat.com" # gpg: Good signature from "Michael S. Tsirkin <m...@kernel.org>" [full] # gpg: aka "Michael S. Tsirkin <m...@redhat.com>" [full] # Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE 8E67 # Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D 5469 * tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu: (27 commits) hw/i386/amd_iommu: Allow migration when explicitly create the AMDVI-PCI device hw/i386/amd_iommu: Isolate AMDVI-PCI from amd-iommu device to allow full control over the PCI device creation intel_iommu: Take locks when looking for and creating address spaces intel_iommu: Use BQL_LOCK_GUARD to manage cleanup automatically virtio: Move virtio_reset() virtio: Call set_features during reset vhost-scsi: support VIRTIO_SCSI_F_HOTPLUG vhost-user: return failure if backend crash when live migration vhost: return failure if stop virtqueue failed in vhost_dev_stop system/runstate: add VM state change cb with return value pci-testdev.c: Add membar-backed option for backing membar pcie_sriov: Make a PCI device with user-created VF ARI-capable docs: Document composable SR-IOV device virtio-net: Implement SR-IOV VF virtio-pci: Implement SR-IOV PF pcie_sriov: Allow user to create SR-IOV device pcie_sriov: Check PCI Express for SR-IOV PF pcie_sriov: Ensure PF and VF are mutually exclusive hw/pci: Fix SR-IOV VF number calculation hw/pci: Do not add ROM BAR for SR-IOV VF ... Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 599f2762ed8c86a6eea03b9f91d49d14a874a95c https://github.com/qemu/qemu/commit/599f2762ed8c86a6eea03b9f91d49d14a874a95c Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2025-05-15 (Thu, 15 May 2025) Changed paths: M block/blkdebug.c M block/copy-before-write.c M block/coroutines.h M block/file-posix.c M block/gluster.c M block/io.c M block/iscsi.c M block/mirror.c M block/nbd.c M block/null.c M block/parallels.c M block/qcow.c M block/qcow2.c M block/qed.c M block/quorum.c M block/raw-format.c M block/rbd.c M block/snapshot-access.c M block/vdi.c M block/vmdk.c M block/vpc.c M block/vvfat.c M blockdev.c M include/block/block-common.h M include/block/block-io.h M include/block/block_int-common.h M include/block/block_int-global-state.h M include/block/block_int-io.h M qapi/block-core.json M tests/qemu-iotests/194 M tests/qemu-iotests/194.out M tests/qemu-iotests/250 M tests/qemu-iotests/common.rc M tests/qemu-iotests/iotests.py A tests/qemu-iotests/tests/mirror-sparse A tests/qemu-iotests/tests/mirror-sparse.out M tests/unit/test-block-iothread.c Log Message: ----------- Merge tag 'pull-nbd-2025-05-14' of https://repo.or.cz/qemu/ericb into staging NBD patches for 2025-05-14 - Eric Blake: fix blockdev-mirror to no longer inflate sparse destination that already reads as zero # -----BEGIN PGP SIGNATURE----- # # iQEzBAABCAAdFiEEccLMIrHEYCkn0vOqp6FrSiUnQ2oFAmglUT0ACgkQp6FrSiUn # Q2ozXwgAqm4crl7r7b5jFHUS2nbJbdxhJR7GuW5oOlt9In4kXNL8T31SP5tFhfyq # inPl9wbLuvOHyi+NyMK9Wi3XYrHJ26U0PsmSBk2DFF9SvplV+ekUpFNhd6suf7nE # NK97y6Pv6H+KLlrUI8Z4bkRnZnSCIHYpGmS04ehXLodCaWjVOQ+xfXL8g7LprttU # 7xOLRtvW+vEV0TDs2WfjpWmzdqSGB2TVNB6u2a3tRkHGV9LHV1IyBJTs/7m5s/La # UwKt8joUYBw54k6ZeE2JFrhoOPE8W7AzWZJmKnlYopgh7TxWnwVhFPMDSF3/4ffr # ma1nVP6C1zyH4Wi7cw3GRjZktErIww== # =A3FA # -----END PGP SIGNATURE----- # gpg: Signature made Wed 14 May 2025 22:28:13 EDT # gpg: using RSA key 71C2CC22B1C4602927D2F3AAA7A16B4A2527436A # gpg: Good signature from "Eric Blake <ebl...@redhat.com>" [full] # gpg: aka "Eric Blake (Free Software Programmer) <e...@byu.net>" [full] # gpg: aka "[jpeg image of size 6874]" [full] # Primary key fingerprint: 71C2 CC22 B1C4 6029 27D2 F3AA A7A1 6B4A 2527 436A * tag 'pull-nbd-2025-05-14' of https://repo.or.cz/qemu/ericb: mirror: Reduce I/O when destination is detect-zeroes:unmap tests: Add iotest mirror-sparse for recent patches iotests/common.rc: add disk_usage function mirror: Skip writing zeroes when target is already zero mirror: Skip pre-zeroing destination if it is already zero mirror: Drop redundant zero_target parameter mirror: Allow QMP override to declare target already zero mirror: Pass full sync mode rather than bool to internals mirror: Minor refactoring iotests: Improve iotest 194 to mirror data block: Add new bdrv_co_is_all_zeroes() function block: Let bdrv_co_is_zero_fast consolidate adjacent extents file-posix, gluster: Handle zero block status hint better block: Expand block status mode from bool to flags Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 5cb8b0988bdf1e1b22f66925604fe9a44a568993 https://github.com/qemu/qemu/commit/5cb8b0988bdf1e1b22f66925604fe9a44a568993 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2025-05-15 (Thu, 15 May 2025) Changed paths: M MAINTAINERS M hw/arm/omap1.c M hw/arm/omap_sx1.c M hw/core/cpu-common.c M hw/dma/omap_dma.c M hw/gpio/omap_gpio.c M hw/i2c/omap_i2c.c M hw/intc/omap_intc.c M hw/misc/omap_clk.c M hw/timer/pxa2xx_timer.c M include/exec/helper-head.h.inc M include/hw/arm/omap.h M include/hw/arm/sharpsl.h M include/hw/arm/soc_dma.h M include/system/hvf.h M include/tcg/tcg-op-common.h M include/tcg/tcg.h M meson.build M rust/hw/char/pl011/src/registers.rs M target/arm/arch_dump.c M target/arm/cpu-qom.h M target/arm/cpu.c M target/arm/cpu.h A target/arm/cpu32-stubs.c M target/arm/cpu64.c M target/arm/debug_helper.c M target/arm/helper.c M target/arm/helper.h M target/arm/hyp_gdbstub.c M target/arm/internals.h M target/arm/kvm-stub.c M target/arm/kvm.c M target/arm/kvm_arm.h M target/arm/machine.c M target/arm/meson.build M target/arm/ptw.c M target/arm/tcg/arith_helper.c M target/arm/tcg/cpu64.c M target/arm/tcg/crypto_helper.c A target/arm/tcg/helper.h M target/arm/tcg/hflags.c M target/arm/tcg/iwmmxt_helper.c M target/arm/tcg/meson.build M target/arm/tcg/neon_helper.c M target/arm/tcg/op_helper.c M target/arm/tcg/tlb-insns.c M target/arm/tcg/tlb_helper.c M target/arm/tcg/translate-a64.c M target/arm/tcg/translate.c M target/arm/tcg/vec_internal.h M target/arm/tcg/vfp_helper.c M target/microblaze/cpu.c M tcg/tcg.c Log Message: ----------- Merge tag 'pull-target-arm-20250515' of https://git.linaro.org/people/pmaydell/qemu-arm into staging target-arm queue: * target/arm: refactoring for compile-twice changes * MAINTAINERS: Add an entry for the Bananapi machine * arm/omap: remove hard coded tabs * rust: pl011: Cut down amount of text quoted from PL011 TRM * target/arm: refactor Arm CPU class hierarchy # -----BEGIN PGP SIGNATURE----- # # iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAmglwIUZHHBldGVyLm1h # eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3sclD/9AgQ5uDlN6gIRupx2PUHAt # liFvncSS/1hPHbf4h9A1WgN34EDaF8TuHi8eexSMMlHQpI5yFumd7UIYUDxpRqj4 # 13gYhBqbnV68S4tWB2g/kCcSNYSLmRQT/b+iwCBtwEJJrDFXlMYFWS50DDS/wxzl # sIbcEnixT9PfPh22e01Ib9jCILPzHEVzegMtn5dFl86nLCqQufycNExOvEOXTC9w # smCTNHGSIM4TFzKOQ7pNgaAFiqpYenwvPgYElqgGZdwpEB/vmFokXUauQzf2uwVH # Nx/361YWi8hQQkG/qEqzcu+J5PwydZssXCO2gEsQVUZMCK/g+naNAiFThMWv/zAu # gJ+MWghlSXqAEStLf/+D8w03+I+jChINNxip/F4pgAzbi8mPp/Te+u/G+ra6vD8W # AvWzvZwxbTLOlTOYzKsOGF7nq86A20hJBTfpm/Hlbd0ou80YQLO23Dxr4Wmbua5n # gbvUad88V5J9KeZUAg4wCyuMGii6X4rezJVL55hE+PIrPRi3q4TXBjk7KG29SkA1 # UCbXm8EGiBMCAE04u6dWkcd8003RbgAfrAK0b9VGUEcEXO1O//ivlWJw/TQWf8pn # V1UOiXocmXOI5vyy01gjz2iDv8ty/4jSGPzCQ80ijl58Gmm8fmDRxuWPLtDS0lBS # QcFEV2oIUjMEEpsCYV07KQ== # =MECx # -----END PGP SIGNATURE----- # gpg: Signature made Thu 15 May 2025 06:23:01 EDT # gpg: using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE # gpg: issuer "peter.mayd...@linaro.org" # gpg: Good signature from "Peter Maydell <peter.mayd...@linaro.org>" [full] # gpg: aka "Peter Maydell <pmayd...@gmail.com>" [full] # gpg: aka "Peter Maydell <pmayd...@chiark.greenend.org.uk>" [full] # gpg: aka "Peter Maydell <pe...@archaic.org.uk>" [unknown] # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83 15CF 3C25 25ED 1436 0CDE * tag 'pull-target-arm-20250515' of https://git.linaro.org/people/pmaydell/qemu-arm: (58 commits) target/arm/tcg/vfp_helper: compile file twice (system, user) target/arm/tcg/arith_helper: compile file once target/arm/tcg/tlb-insns: compile file once (system) target/arm/helper: restrict define_tlb_insn_regs to system target target/arm/tcg/tlb_helper: compile file twice (system, user) target/arm/tcg/neon_helper: compile file twice (system, user) target/arm/tcg/iwmmxt_helper: compile file twice (system, user) target/arm/tcg/hflags: compile file twice (system, user) target/arm/tcg/crypto_helper: compile file once target/arm/tcg/vec_internal: use forward declaration for CPUARMState target/arm/machine: compile file once (system) target/arm/kvm-stub: add missing stubs target/arm/machine: move cpu_post_load kvm bits to kvm_arm_cpu_post_load function target/arm/machine: remove TARGET_AARCH64 from migration state target/arm/machine: reduce migration include to avoid target specific definitions target/arm/kvm-stub: compile file once (system) target/arm/meson: accelerator files are not needed in user mode target/arm/ptw: compile file once (system) target/arm/ptw: replace TARGET_AARCH64 by CONFIG_ATOMIC64 from arm_casq_ptw target/arm/ptw: replace target_ulong with int64_t ... Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Commit: 757a34115e7491744a63dfc3d291fd1de5297ee2 https://github.com/qemu/qemu/commit/757a34115e7491744a63dfc3d291fd1de5297ee2 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2025-05-15 (Thu, 15 May 2025) Changed paths: M hw/nvme/subsys.c Log Message: ----------- Merge tag 'pull-nvme-20250515' of https://gitlab.com/birkelund/qemu into staging nvme queue # -----BEGIN PGP SIGNATURE----- # # iQEzBAABCgAdFiEEUigzqnXi3OaiR2bATeGvMW1PDekFAmgl1wcACgkQTeGvMW1P # DekVuAgAlCAeA1df+D5Rgwewy6103iWCFCw5buV6LOQ+I5FxwbJ9aBQgPbIXmTNw # YIVjDJMguvINHxM3XsBcZvny+N8OJ2eRXYJLKqDJMHgIirMMbOrLtf3/p0SXMEkU # /D8ptrc/mRr8nhqQI457H+mNGoEJrrTT3uOK7vUuKWuHXEbB7dMSfmZXXAl+Fiq8 # mEQ3SUJmKw+w5bmB0QK95qHLBMkD3xWCPvQ196oMC2aFsB7aj3ubOFvg48dJPwQX # CqFEqC0ffLt3lA1d5H+Y+leJWn0UX67YfY1IDVneH2pUvL6umRYYwNxv6C4RHecs # 8u3zdKUy2sFDFDRcH6q1nz3CISAu2g== # =/2N2 # -----END PGP SIGNATURE----- # gpg: Signature made Thu 15 May 2025 07:59:03 EDT # gpg: using RSA key 522833AA75E2DCE6A24766C04DE1AF316D4F0DE9 # gpg: Good signature from "Klaus Jensen <i...@irrelevant.dk>" [unknown] # gpg: aka "Klaus Jensen <k.jen...@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 'pull-nvme-20250515' of https://gitlab.com/birkelund/qemu: hw/nvme: fix nvme hotplugging Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Compare: https://github.com/qemu/qemu/compare/864813878951...757a34115e74 To unsubscribe from these emails, change your notification settings at https://github.com/qemu/qemu/settings/notifications