History log of /qemu/hw/vfio/ (Results 1 – 25 of 650)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
3688fec820-Mar-2024 Cédric Le Goater <clg@redhat.com>

memory: Add Error** argument to .log_global_start() handler

Modify all .log_global_start() handlers to take an Error** parameter
and return a bool. Adapt memory_global_dirty_log_start() to interrupt

memory: Add Error** argument to .log_global_start() handler

Modify all .log_global_start() handlers to take an Error** parameter
and return a bool. Adapt memory_global_dirty_log_start() to interrupt
on the first error the loop on handlers. In such case, a rollback is
performed to stop dirty logging on all listeners where it was
previously enabled.

Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Paul Durrant <paul@xen.org>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: David Hildenbrand <david@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Link: https://lore.kernel.org/r/20240320064911.545001-10-clg@redhat.com
[peterx: modify & enrich the comment for listener_add_address_space() ]
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

e4fa064d20-Mar-2024 Cédric Le Goater <clg@redhat.com>

migration: Add Error** argument to .load_setup() handler

This will be useful to report errors at a higher level, mostly in VFIO
today.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Review

migration: Add Error** argument to .load_setup() handler

This will be useful to report errors at a higher level, mostly in VFIO
today.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Link: https://lore.kernel.org/r/20240320064911.545001-9-clg@redhat.com
[peterx: drop comment for ERRP_GUARD, per Markus]
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

01c3ac6820-Mar-2024 Cédric Le Goater <clg@redhat.com>

migration: Add Error** argument to .save_setup() handler

The purpose is to record a potential error in the migration stream if
qemu_savevm_state_setup() fails. Most of the current .save_setup()
hand

migration: Add Error** argument to .save_setup() handler

The purpose is to record a potential error in the migration stream if
qemu_savevm_state_setup() fails. Most of the current .save_setup()
handlers can be modified to use the Error argument instead of managing
their own and calling locally error_report().

Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Harsh Prateek Bora <harshpb@linux.ibm.com>
Cc: Halil Pasic <pasic@linux.ibm.com>
Cc: Thomas Huth <thuth@redhat.com>
Cc: Eric Blake <eblake@redhat.com>
Cc: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Cc: John Snow <jsnow@redhat.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Link: https://lore.kernel.org/r/20240320064911.545001-8-clg@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

31cf7c1420-Mar-2024 Cédric Le Goater <clg@redhat.com>

vfio: Always report an error in vfio_save_setup()

This will prepare ground for future changes adding an Error** argument
to the save_setup() handler. We need to make sure that on failure,
vfio_save_

vfio: Always report an error in vfio_save_setup()

This will prepare ground for future changes adding an Error** argument
to the save_setup() handler. We need to make sure that on failure,
vfio_save_setup() always sets a new error.

Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Link: https://lore.kernel.org/r/20240320064911.545001-3-clg@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...


/qemu/.gitlab-ci.d/base.yml
/qemu/.gitlab-ci.d/buildtest-template.yml
/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/cirrus.yml
/qemu/.gitlab-ci.d/custom-runners.yml
/qemu/.gitlab-ci.d/windows.yml
/qemu/.travis.yml
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/VERSION
/qemu/accel/kvm/kvm-all.c
/qemu/accel/tcg/plugin-gen.c
/qemu/accel/tcg/translate-all.c
/qemu/accel/tcg/translator.c
/qemu/backends/cryptodev-builtin.c
/qemu/block/block-backend.c
/qemu/block/io.c
/qemu/chardev/char-io.c
/qemu/chardev/char-socket.c
/qemu/contrib/plugins/execlog.c
/qemu/contrib/plugins/howvec.c
/qemu/crypto/cipher-gcrypt.c.inc
/qemu/disas/disas-mon.c
/qemu/disas/disas.c
/qemu/disas/nanomips.c
/qemu/docs/devel/atomics.rst
/qemu/docs/devel/ci-jobs.rst.inc
/qemu/docs/devel/clocks.rst
/qemu/docs/specs/pvpanic.rst
/qemu/docs/system/arm/sbsa.rst
/qemu/docs/system/device-emulation.rst
/qemu/docs/system/i386/sgx.rst
/qemu/docs/system/introduction.rst
/qemu/docs/system/ppc/amigang.rst
/qemu/docs/system/s390x/cpu-topology.rst
/qemu/ebpf/ebpf_rss.c
/qemu/fpu/softfloat-specialize.c.inc
/qemu/gdbstub/internals.h
/qemu/gdbstub/system.c
/qemu/hmp-commands.hx
/qemu/hw/arm/aspeed.c
/qemu/hw/arm/aspeed_ast10x0.c
/qemu/hw/arm/aspeed_ast2600.c
/qemu/hw/arm/raspi4b.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xlnx-versal-virt.c
/qemu/hw/audio/virtio-snd.c
/qemu/hw/block/m25p80.c
/qemu/hw/block/nand.c
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/char/virtio-serial-bus.c
/qemu/hw/core/clock.c
/qemu/hw/display/vga.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/gpio/meson.build
/qemu/hw/gpio/pca9552.c
/qemu/hw/gpio/pca9554.c
/qemu/hw/gpio/trace-events
/qemu/hw/i386/Kconfig
/qemu/hw/i386/fw_cfg.c
/qemu/hw/i386/fw_cfg.h
/qemu/hw/i386/kvm/xen_evtchn.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/intc/arm_gicv3_cpuif.c
/qemu/hw/intc/loongarch_extioi.c
/qemu/hw/intc/riscv_aplic.c
/qemu/hw/isa/vt82c686.c
/qemu/hw/loongarch/virt.c
/qemu/hw/microblaze/xlnx-zynqmp-pmu.c
/qemu/hw/misc/applesmc.c
/qemu/hw/misc/meson.build
/qemu/hw/misc/stm32l4x5_rcc.c
/qemu/hw/misc/trace-events
/qemu/hw/net/lan9118.c
/qemu/hw/net/net_tx_pkt.c
/qemu/hw/net/vhost_net.c
/qemu/hw/net/virtio-net.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/nvram/mac_nvram.c
/qemu/hw/pci-host/ppc440_pcix.c
/qemu/hw/ppc/pnv_i2c.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_nested.c
/qemu/hw/riscv/virt.c
/qemu/hw/s390x/s390-stattrib-kvm.c
/qemu/hw/s390x/s390-stattrib.c
/qemu/hw/scsi/esp.c
/qemu/hw/scsi/lsi53c895a.c
/qemu/hw/scsi/scsi-generic.c
/qemu/hw/sd/sdhci.c
/qemu/hw/smbios/Kconfig
/qemu/hw/smbios/meson.build
/qemu/hw/smbios/smbios.c
/qemu/hw/smbios/smbios_legacy.c
/qemu/hw/smbios/smbios_legacy_stub.c
/qemu/hw/ssi/aspeed_smc.c
/qemu/hw/usb/dev-audio.c
/qemu/hw/usb/dev-storage-classic.c
migration.c
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vdpa-dev.c
/qemu/hw/virtio/vhost-vdpa.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-crypto.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/virtio/virtio.c
/qemu/include/exec/translator.h
/qemu/include/hw/audio/virtio-snd.h
/qemu/include/hw/block/flash.h
/qemu/include/hw/clock.h
/qemu/include/hw/firmware/smbios.h
/qemu/include/hw/gpio/pca9552.h
/qemu/include/hw/gpio/pca9552_regs.h
/qemu/include/hw/gpio/pca9554.h
/qemu/include/hw/gpio/pca9554_regs.h
/qemu/include/hw/s390x/storage-attributes.h
/qemu/include/hw/virtio/virtio-pci.h
/qemu/include/hw/virtio/virtio.h
/qemu/include/net/vhost_net.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/tcg/tcg.h
/qemu/include/ui/console.h
/qemu/include/ui/kbd-state.h
/qemu/linux-user/main.c
/qemu/linux-user/mmap.c
/qemu/linux-user/signal.c
/qemu/linux-user/strace.c
/qemu/linux-user/syscall.c
/qemu/meson.build
/qemu/migration/fd.c
/qemu/migration/fd.h
/qemu/migration/file.c
/qemu/migration/migration.c
/qemu/migration/multifd.c
/qemu/migration/savevm.c
/qemu/monitor/hmp-cmds-target.c
/qemu/net/af-xdp.c
/qemu/net/tap-win32.c
/qemu/net/tap.c
/qemu/pc-bios/edk2-aarch64-code.fd.bz2
/qemu/pc-bios/edk2-arm-code.fd.bz2
/qemu/pc-bios/edk2-i386-code.fd.bz2
/qemu/pc-bios/edk2-i386-secure-code.fd.bz2
/qemu/pc-bios/edk2-riscv-code.fd.bz2
/qemu/pc-bios/edk2-x86_64-code.fd.bz2
/qemu/pc-bios/edk2-x86_64-microvm.fd.bz2
/qemu/pc-bios/edk2-x86_64-secure-code.fd.bz2
/qemu/plugins/loader.c
/qemu/qapi/block-core.json
/qemu/qapi/block.json
/qemu/qapi/common.json
/qemu/qapi/control.json
/qemu/qapi/crypto.json
/qemu/qapi/cxl.json
/qemu/qapi/dump.json
/qemu/qapi/ebpf.json
/qemu/qapi/machine-target.json
/qemu/qapi/machine.json
/qemu/qapi/migration.json
/qemu/qapi/misc.json
/qemu/qapi/net.json
/qemu/qapi/pragma.json
/qemu/qapi/qom.json
/qemu/qapi/replay.json
/qemu/qapi/run-state.json
/qemu/qapi/sockets.json
/qemu/qapi/stats.json
/qemu/qapi/ui.json
/qemu/qapi/virtio.json
/qemu/qemu-options.hx
/qemu/qga/qapi-schema.json
/qemu/roms/Makefile
/qemu/roms/edk2-build.config
/qemu/roms/edk2-version
/qemu/system/qdev-monitor.c
/qemu/system/qemu-seccomp.c
/qemu/system/vl.c
/qemu/target/arm/helper.c
/qemu/target/arm/hvf/hvf.c
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/arm/tcg/translate.c
/qemu/target/arm/tcg/translate.h
/qemu/target/hppa/cpu.h
/qemu/target/hppa/helper.h
/qemu/target/hppa/insns.decode
/qemu/target/hppa/int_helper.c
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/op_helper.c
/qemu/target/hppa/sys_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/helper.c
/qemu/target/i386/hvf/hvf.c
/qemu/target/i386/tcg/sysemu/excp_helper.c
/qemu/target/i386/tcg/translate.c
/qemu/target/loongarch/cpu-csr.h
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/internals.h
/qemu/target/loongarch/tcg/insn_trans/trans_atomic.c.inc
/qemu/target/loongarch/tcg/tlb_helper.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/cpu.h
/qemu/target/m68k/fpu_helper.c
/qemu/target/m68k/helper.c
/qemu/target/m68k/helper.h
/qemu/target/m68k/translate.c
/qemu/target/microblaze/translate.c
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/gdbstub.c
/qemu/target/ppc/mmu-radix64.c
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu_cfg.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/insn_trans/trans_rvbf16.c.inc
/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/qemu/target/riscv/insn_trans/trans_rvvk.c.inc
/qemu/target/riscv/kvm/kvm-cpu.c
/qemu/target/riscv/kvm/kvm_riscv.h
/qemu/target/riscv/tcg/tcg-cpu.c
/qemu/target/riscv/translate.c
/qemu/target/riscv/vcrypto_helper.c
/qemu/target/riscv/vector_helper.c
/qemu/target/riscv/vector_internals.c
/qemu/target/riscv/vector_internals.h
/qemu/target/s390x/cpu_models.c
/qemu/target/s390x/tcg/translate.c
/qemu/target/sh4/cpu.h
/qemu/target/sh4/helper.h
/qemu/target/sh4/op_helper.c
/qemu/target/sh4/translate.c
/qemu/target/sparc/cpu.c
/qemu/target/sparc/helper.h
/qemu/target/sparc/ldst_helper.c
/qemu/target/sparc/translate.c
/qemu/target/tricore/helper.c
/qemu/tcg/optimize.c
/qemu/tcg/tcg.c
/qemu/tests/avocado/machine_aarch64_sbsaref.py
/qemu/tests/avocado/ppc_hv_tests.py
/qemu/tests/data/acpi/q35/SSDT.dimmpxm
/qemu/tests/data/smbios/type11_blob
/qemu/tests/data/smbios/type11_blob.legacy
/qemu/tests/qemu-iotests/157
/qemu/tests/qemu-iotests/227
/qemu/tests/qemu-iotests/tests/stream-unaligned-prefetch
/qemu/tests/qemu-iotests/tests/stream-unaligned-prefetch.out
/qemu/tests/qtest/bios-tables-test.c
/qemu/tests/qtest/libqos/ahci.c
/qemu/tests/qtest/libqos/ahci.h
/qemu/tests/qtest/libqos/virtio.c
/qemu/tests/qtest/libqtest.c
/qemu/tests/qtest/migration-helpers.c
/qemu/tests/qtest/migration-helpers.h
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/npcm7xx_emc-test.c
/qemu/tests/qtest/pca9552-test.c
/qemu/tests/qtest/pnv-host-i2c-test.c
/qemu/tests/qtest/stm32l4x5_gpio-test.c
/qemu/tests/qtest/virtio-9p-test.c
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/test-2150.c
/qemu/tests/tcg/aarch64/test-2248.c
/qemu/tests/tcg/multiarch/linux/linux-shmat-null.c
/qemu/tests/tcg/s390x/Makefile.target
/qemu/tests/tcg/s390x/ts.c
/qemu/tests/tcg/sh4/Makefile.target
/qemu/tests/tcg/sh4/test-macl.c
/qemu/tests/tcg/sh4/test-macw.c
/qemu/tests/unit/meson.build
/qemu/tests/unit/socket-helpers.c
/qemu/tests/unit/test-crypto-cipher.c
/qemu/tests/unit/test-throttle.c
/qemu/ui/cocoa.m
/qemu/ui/console-priv.h
/qemu/ui/console-vc-stubs.c
/qemu/ui/console-vc.c
/qemu/ui/console.c
/qemu/ui/curses.c
/qemu/ui/kbd-state.c
/qemu/ui/meson.build
/qemu/ui/vnc.c
/qemu/util/qemu-coroutine.c
5700114414-Mar-2024 Cédric Le Goater <clg@redhat.com>

vfio/iommufd: Fix memory leak

Coverity reported a memory leak on variable 'contents' in routine
iommufd_cdev_getfd(). Use g_autofree variables to simplify the exit
path and get rid of g_free() calls

vfio/iommufd: Fix memory leak

Coverity reported a memory leak on variable 'contents' in routine
iommufd_cdev_getfd(). Use g_autofree variables to simplify the exit
path and get rid of g_free() calls.

Cc: Eric Auger <eric.auger@redhat.com>
Cc: Yi Liu <yi.l.liu@intel.com>
Fixes: CID 1540007
Fixes: 5ee3dc7af785 ("vfio/iommufd: Implement the iommufd backend")
Suggested-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>

show more ...


/qemu/MAINTAINERS
/qemu/block/mirror.c
/qemu/block/qapi.c
/qemu/blockdev.c
/qemu/bsd-user/main.c
/qemu/bsd-user/signal.c
/qemu/docs/about/deprecated.rst
/qemu/docs/devel/migration/CPR.rst
/qemu/docs/devel/migration/features.rst
/qemu/docs/devel/nested-papr.txt
/qemu/docs/devel/tracing.rst
/qemu/docs/interop/vhost-user.rst
/qemu/docs/specs/pvpanic.rst
/qemu/docs/system/device-emulation.rst
/qemu/docs/system/devices/nvme.rst
/qemu/docs/system/devices/vdpa-net.rst
/qemu/docs/system/ppc/amigang.rst
/qemu/docs/system/target-ppc.rst
/qemu/gdbstub/gdbstub.c
/qemu/gdbstub/internals.h
/qemu/gdbstub/user.c
/qemu/hw/acpi/acpi_generic_initiator.c
/qemu/hw/acpi/hmat.c
/qemu/hw/acpi/meson.build
/qemu/hw/arm/virt-acpi-build.c
/qemu/hw/arm/virt.c
/qemu/hw/audio/virtio-snd.c
/qemu/hw/core/machine.c
/qemu/hw/core/numa.c
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/cxl/cxl-component-utils.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/i386/pc_sysfw.c
/qemu/hw/net/igb.c
/qemu/hw/net/virtio-net.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/nvme/meson.build
/qemu/hw/nvme/nguid.c
/qemu/hw/nvme/ns.c
/qemu/hw/nvme/nvme.h
/qemu/hw/pci-bridge/pci_expander_bridge.c
/qemu/hw/pci/pci.c
/qemu/hw/pci/pcie.c
/qemu/hw/pci/pcie_sriov.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_core.c
/qemu/hw/ppc/ppc.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_caps.c
/qemu/hw/ppc/spapr_cpu_core.c
/qemu/hw/ppc/spapr_hcall.c
/qemu/hw/ppc/spapr_nested.c
/qemu/hw/smbios/smbios.c
iommufd.c
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vhost-user.c
/qemu/hw/virtio/vhost-vdpa.c
/qemu/hw/virtio/virtio-iommu.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/virtio/virtio.c
/qemu/hw/xen/xen-mapcache.c
/qemu/hw/xen/xen_pt_config_init.c
/qemu/include/exec/exec-all.h
/qemu/include/exec/ram_addr.h
/qemu/include/gdbstub/user.h
/qemu/include/hw/acpi/acpi_generic_initiator.h
/qemu/include/hw/audio/virtio-snd.h
/qemu/include/hw/cxl/cxl_component.h
/qemu/include/hw/cxl/cxl_pci.h
/qemu/include/hw/firmware/smbios.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/pci/pcie_regs.h
/qemu/include/hw/pci/pcie_sriov.h
/qemu/include/hw/ppc/pnv_chip.h
/qemu/include/hw/ppc/pnv_core.h
/qemu/include/hw/ppc/spapr.h
/qemu/include/hw/ppc/spapr_nested.h
/qemu/include/hw/virtio/vhost-vdpa.h
/qemu/include/hw/virtio/virtio-gpu.h
/qemu/include/hw/virtio/virtio-iommu.h
/qemu/include/hw/virtio/virtio-pci.h
/qemu/include/hw/virtio/virtio.h
/qemu/include/io/channel-file.h
/qemu/include/qemu/job.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/sysemu/numa.h
/qemu/io/channel-file.c
/qemu/linux-user/aarch64/signal.c
/qemu/linux-user/alpha/signal.c
/qemu/linux-user/arm/signal.c
/qemu/linux-user/elfload.c
/qemu/linux-user/hexagon/signal.c
/qemu/linux-user/hppa/signal.c
/qemu/linux-user/i386/signal.c
/qemu/linux-user/ioctls.h
/qemu/linux-user/loongarch64/signal.c
/qemu/linux-user/m68k/signal.c
/qemu/linux-user/main.c
/qemu/linux-user/microblaze/signal.c
/qemu/linux-user/mips/signal.c
/qemu/linux-user/nios2/signal.c
/qemu/linux-user/openrisc/signal.c
/qemu/linux-user/ppc/signal.c
/qemu/linux-user/riscv/signal.c
/qemu/linux-user/s390x/signal.c
/qemu/linux-user/sh4/signal.c
/qemu/linux-user/signal-common.h
/qemu/linux-user/signal.c
/qemu/linux-user/sparc/signal.c
/qemu/linux-user/syscall.c
/qemu/linux-user/syscall_defs.h
/qemu/linux-user/xtensa/signal.c
/qemu/meson.build
/qemu/migration/block.c
/qemu/migration/fd.c
/qemu/migration/file.c
/qemu/migration/file.h
/qemu/migration/migration.c
/qemu/nbd/server.c
/qemu/net/trace-events
/qemu/net/vhost-vdpa.c
/qemu/qapi/common.json
/qemu/qapi/qom.json
/qemu/qemu-options.hx
/qemu/scripts/tracetool.py
/qemu/subprojects/libvhost-user/libvhost-user.c
/qemu/subprojects/libvhost-user/libvhost-user.h
/qemu/system/physmem.c
/qemu/target/arm/arm-qmp-cmds.c
/qemu/target/i386/cpu-sysemu.c
/qemu/target/loongarch/loongarch-qmp-cmds.c
/qemu/target/ppc/cpu-models.c
/qemu/target/ppc/cpu.h
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/gdbstub.c
/qemu/target/ppc/helper_regs.c
/qemu/target/ppc/insn32.decode
/qemu/target/ppc/kvm.c
/qemu/target/ppc/misc_helper.c
/qemu/target/ppc/translate.c
/qemu/target/ppc/translate/fixedpoint-impl.c.inc
/qemu/target/riscv/riscv-qmp-cmds.c
/qemu/target/s390x/cpu_models_sysemu.c
/qemu/tcg/aarch64/tcg-target.c.inc
/qemu/tests/qemu-iotests/033
/qemu/tests/qemu-iotests/066
/qemu/tests/qemu-iotests/114
/qemu/tests/qemu-iotests/130
/qemu/tests/qemu-iotests/134
/qemu/tests/qemu-iotests/156
/qemu/tests/qemu-iotests/158
/qemu/tests/qemu-iotests/176.out
/qemu/tests/qemu-iotests/188
/qemu/tests/qemu-iotests/189
/qemu/tests/qemu-iotests/198
/qemu/tests/qemu-iotests/198.out
/qemu/tests/qemu-iotests/206.out
/qemu/tests/qemu-iotests/261
/qemu/tests/qemu-iotests/263
/qemu/tests/qemu-iotests/267.out
/qemu/tests/qemu-iotests/284
/qemu/tests/qemu-iotests/286
/qemu/tests/qemu-iotests/286.out
/qemu/tests/qemu-iotests/tests/detect-zeroes-registered-buf
/qemu/tests/qemu-iotests/tests/iothreads-nbd-export
/qemu/tests/qemu-iotests/tests/iothreads-nbd-export.out
/qemu/tests/qemu-iotests/tests/qcow2-internal-snapshots
/qemu/tests/qemu-iotests/tests/qcow2-internal-snapshots.out
/qemu/tests/qemu-iotests/tests/qsd-jobs
/qemu/tests/qtest/arm-cpu-features.c
/qemu/tests/qtest/virtio-iommu-test.c
/qemu/tests/tcg/multiarch/Makefile.target
/qemu/tests/tcg/multiarch/gdbstub/test-qxfer-siginfo-read.py
/qemu/tests/tcg/multiarch/segfault.c
/qemu/tests/vm/basevm.py
/qemu/ui/dbus-listener.c
/qemu/ui/trace-events
/qemu/ui/vnc.c
498696ef11-Mar-2024 Zhao Liu <zhao1.liu@intel.com>

hw/vfio/platform: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
*

hw/vfio/platform: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* Without ERRP_GUARD(), use of the @errp parameter is restricted:
...
* - It should not be passed to error_prepend(), error_vprepend() or
* error_append_hint(), because that doesn't work with &error_fatal.
* ERRP_GUARD() lifts these restrictions.
*
* To use ERRP_GUARD(), add it right at the beginning of the function.
* @errp can then be used without worrying about the argument being
* NULL or &error_fatal.

ERRP_GUARD() could avoid the case when @errp is &error_fatal, the user
can't see this additional information, because exit() happens in
error_setg earlier than information is added [1].

The vfio_platform_realize() passes @errp to error_prepend(), and as a
DeviceClass.realize method, there are too many possible callers to check
the impact of this defect; it may or may not be harmless. Thus it is
necessary to protect @errp with ERRP_GUARD().

To avoid the issue like [1] said, add missing ERRP_GUARD() at the
beginning of this function.

[1]: Issue description in the commit message of commit ae7c80a7bd73
("error: New macro ERRP_GUARD()").

Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Message-ID: <20240311033822.3142585-25-zhao1.liu@linux.intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...

cf8afdfa11-Mar-2024 Zhao Liu <zhao1.liu@intel.com>

hw/vfio/pci: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* Witho

hw/vfio/pci: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* Without ERRP_GUARD(), use of the @errp parameter is restricted:
...
* - It should not be passed to error_prepend(), error_vprepend() or
* error_append_hint(), because that doesn't work with &error_fatal.
* ERRP_GUARD() lifts these restrictions.
*
* To use ERRP_GUARD(), add it right at the beginning of the function.
* @errp can then be used without worrying about the argument being
* NULL or &error_fatal.

ERRP_GUARD() could avoid the case when @errp is &error_fatal, the user
can't see this additional information, because exit() happens in
error_setg earlier than information is added [1].

In hw/vfio/pci.c, there are 2 functions passing @errp to error_prepend()
without ERRP_GUARD():
- vfio_add_std_cap()
- vfio_realize()

The @errp of vfio_add_std_cap() is also from vfio_realize(). And
vfio_realize(), as a PCIDeviceClass.realize method, its @errp is from
DeviceClass.realize so that there is no guarantee that the @errp won't
point to @error_fatal.

To avoid the issue like [1] said, add missing ERRP_GUARD() at their
beginning.

[1]: Issue description in the commit message of commit ae7c80a7bd73
("error: New macro ERRP_GUARD()").

Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Message-ID: <20240311033822.3142585-24-zhao1.liu@linux.intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...

4476550811-Mar-2024 Zhao Liu <zhao1.liu@intel.com>

hw/vfio/pci-quirks: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*

hw/vfio/pci-quirks: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* Without ERRP_GUARD(), use of the @errp parameter is restricted:
...
* - It should not be passed to error_prepend(), error_vprepend() or
* error_append_hint(), because that doesn't work with &error_fatal.
* ERRP_GUARD() lifts these restrictions.
*
* To use ERRP_GUARD(), add it right at the beginning of the function.
* @errp can then be used without worrying about the argument being
* NULL or &error_fatal.

ERRP_GUARD() could avoid the case when @errp is &error_fatal, the user
can't see this additional information, because exit() happens in
error_setg earlier than information is added [1].

In hw/vfio/pci-quirks.c, there are 2 functions passing @errp to
error_prepend() without ERRP_GUARD():
- vfio_add_nv_gpudirect_cap()
- vfio_add_vmd_shadow_cap()

There are too many possible callers to check the impact of this defect;
it may or may not be harmless. Thus it is necessary to protect their
@errp with ERRP_GUARD().

To avoid the issue like [1] said, add missing ERRP_GUARD() at the
beginning of this function.

[1]: Issue description in the commit message of commit ae7c80a7bd73
("error: New macro ERRP_GUARD()").

Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Message-ID: <20240311033822.3142585-23-zhao1.liu@linux.intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...

5cf8f51c11-Mar-2024 Zhao Liu <zhao1.liu@intel.com>

hw/vfio/iommufd: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* W

hw/vfio/iommufd: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* Without ERRP_GUARD(), use of the @errp parameter is restricted:
...
* - It should not be passed to error_prepend(), error_vprepend() or
* error_append_hint(), because that doesn't work with &error_fatal.
* ERRP_GUARD() lifts these restrictions.
*
* To use ERRP_GUARD(), add it right at the beginning of the function.
* @errp can then be used without worrying about the argument being
* NULL or &error_fatal.

ERRP_GUARD() could avoid the case when @errp is &error_fatal, the user
can't see this additional information, because exit() happens in
error_setg earlier than information is added [1].

The iommufd_cdev_getfd() passes @errp to error_prepend(). Its @errp is
from vfio_attach_device(), and there are too many possible callers to
check the impact of this defect; it may or may not be harmless. Thus it
is necessary to protect @errp with ERRP_GUARD().

To avoid the issue like [1] said, add missing ERRP_GUARD() at the
beginning of this function.

[1]: Issue description in the commit message of commit ae7c80a7bd73
("error: New macro ERRP_GUARD()").

Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Message-ID: <20240311033822.3142585-22-zhao1.liu@linux.intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...

89a8a2e911-Mar-2024 Zhao Liu <zhao1.liu@intel.com>

hw/vfio/helpers: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* W

hw/vfio/helpers: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* Without ERRP_GUARD(), use of the @errp parameter is restricted:
...
* - It should not be passed to error_prepend(), error_vprepend() or
* error_append_hint(), because that doesn't work with &error_fatal.
* ERRP_GUARD() lifts these restrictions.
*
* To use ERRP_GUARD(), add it right at the beginning of the function.
* @errp can then be used without worrying about the argument being
* NULL or &error_fatal.

ERRP_GUARD() could avoid the case when @errp is &error_fatal, the user
can't see this additional information, because exit() happens in
error_setg earlier than information is added [1].

In hw/vfio/helpers.c, there are 3 functions passing @errp to
error_prepend() without ERRP_GUARD():
- vfio_set_irq_signaling()
- vfio_device_get_name()
- vfio_device_set_fd()

There are too many possible callers to check the impact of this defect;
it may or may not be harmless. Thus it is necessary to protect their
@errp with ERRP_GUARD().

To avoid the issue like [1] said, add missing ERRP_GUARD() at their
beginning.

[1]: Issue description in the commit message of commit ae7c80a7bd73
("error: New macro ERRP_GUARD()").

Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Message-ID: <20240311033822.3142585-21-zhao1.liu@linux.intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...

93a518ba11-Mar-2024 Zhao Liu <zhao1.liu@intel.com>

hw/vfio/container: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
*

hw/vfio/container: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* Without ERRP_GUARD(), use of the @errp parameter is restricted:
...
* - It should not be passed to error_prepend(), error_vprepend() or
* error_append_hint(), because that doesn't work with &error_fatal.
* ERRP_GUARD() lifts these restrictions.
*
* To use ERRP_GUARD(), add it right at the beginning of the function.
* @errp can then be used without worrying about the argument being
* NULL or &error_fatal.

ERRP_GUARD() could avoid the case when @errp is &error_fatal, the user
can't see this additional information, because exit() happens in
error_setg earlier than information is added [1].

The vfio_get_group() passes @errp to error_prepend(). Its @errp is
from vfio_attach_device(), and there are too many possible callers to
check the impact of this defect; it may or may not be harmless. Thus it
is necessary to protect @errp with ERRP_GUARD().

To avoid the issue like [1] said, add missing ERRP_GUARD() at the
beginning of this function.

[1]: Issue description in the commit message of commit ae7c80a7bd73
("error: New macro ERRP_GUARD()").

Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Message-ID: <20240311033822.3142585-20-zhao1.liu@linux.intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...

c9e21f9911-Mar-2024 Zhao Liu <zhao1.liu@intel.com>

hw/vfio/ap: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* Withou

hw/vfio/ap: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* Without ERRP_GUARD(), use of the @errp parameter is restricted:
...
* - It should not be passed to error_prepend(), error_vprepend() or
* error_append_hint(), because that doesn't work with &error_fatal.
* ERRP_GUARD() lifts these restrictions.
*
* To use ERRP_GUARD(), add it right at the beginning of the function.
* @errp can then be used without worrying about the argument being
* NULL or &error_fatal.

ERRP_GUARD() could avoid the case when @errp is &error_fatal, the user
can't see this additional information, because exit() happens in
error_setg earlier than information is added [1].

The vfio_ap_realize() passes @errp to error_prepend(), and as a
DeviceClass.realize method, there are too many possible callers to check
the impact of this defect; it may or may not be harmless. Thus it is
necessary to protect @errp with ERRP_GUARD().

To avoid the issue like [1] said, add missing ERRP_GUARD() at the
beginning of this function.

[1]: Issue description in the commit message of commit ae7c80a7bd73
("error: New macro ERRP_GUARD()").

Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Cédric Le Goater <clg@redhat.com>
Cc: Tony Krowiak <akrowiak@linux.ibm.com>
Cc: Halil Pasic <pasic@linux.ibm.com>
Cc: Jason Herne <jjherne@linux.ibm.com>
Cc: Thomas Huth <thuth@redhat.com>
Cc: qemu-s390x@nongnu.org
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Message-ID: <20240311033822.3142585-19-zhao1.liu@linux.intel.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...


/qemu/.gitlab-ci.d/base.yml
/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/opensbi.yml
/qemu/accel/xen/xen-all.c
/qemu/backends/iommufd.c
/qemu/block.c
/qemu/block/copy-before-write.c
/qemu/block/nbd.c
/qemu/block/nvme.c
/qemu/block/qcow2-bitmap.c
/qemu/block/qcow2.c
/qemu/block/qed.c
/qemu/block/snapshot.c
/qemu/block/vdi.c
/qemu/block/vmdk.c
/qemu/blockdev.c
/qemu/chardev/char-fe.c
/qemu/configs/devices/mips-softmmu/common.mak
/qemu/configs/devices/mips64el-softmmu/default.mak
/qemu/docs/about/deprecated.rst
/qemu/docs/about/removed-features.rst
/qemu/docs/devel/acpi-bits.rst
/qemu/docs/interop/firmware.json
/qemu/hmp-commands-info.hx
/qemu/hw/arm/xen_arm.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/char/xen_console.c
/qemu/hw/core/machine-smp.c
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/cxl/cxl-cdat.c
/qemu/hw/cxl/cxl-host.c
/qemu/hw/display/Kconfig
/qemu/hw/display/macfb.c
/qemu/hw/hyperv/hv-balloon.c
/qemu/hw/hyperv/hyperv.c
/qemu/hw/hyperv/vmbus.c
/qemu/hw/i386/meson.build
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/vapic.c
/qemu/hw/i386/xen/meson.build
/qemu/hw/i386/xen/xen-hvm.c
/qemu/hw/intc/apic.c
/qemu/hw/intc/grlib_irqmp.c
/qemu/hw/intc/ioapic_common.c
/qemu/hw/m68k/mcf5208.c
/qemu/hw/mem/cxl_type3.c
/qemu/hw/mips/Kconfig
/qemu/hw/misc/xlnx-versal-trng.c
/qemu/hw/net/xen_nic.c
/qemu/hw/pci-bridge/cxl_upstream.c
/qemu/hw/pci/msi.c
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/remote/remote-obj.c
/qemu/hw/scsi/lsi53c895a.c
/qemu/hw/scsi/trace-events
/qemu/hw/scsi/vhost-scsi.c
ap.c
/qemu/hw/xen/xen-hvm-common.c
/qemu/hw/xen/xen_pt.c
/qemu/hw/xen/xen_pt.h
/qemu/hw/xen/xen_pt_config_init.c
/qemu/hw/xen/xen_pt_graphics.c
/qemu/hw/xen/xen_pt_stub.c
/qemu/include/hw/cxl/cxl_cdat.h
/qemu/include/hw/hyperv/dynmem-proto.h
/qemu/include/hw/hyperv/hyperv.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/qdev-properties-system.h
/qemu/include/hw/xen/xen-hvm-common.h
/qemu/include/hw/xen/xen_igd.h
/qemu/include/qapi/error.h
/qemu/include/qapi/qmp/qerror.h
/qemu/include/sysemu/xen-mapcache.h
/qemu/include/sysemu/xen.h
/qemu/meson.build
/qemu/qapi/virtio.json
/qemu/scripts/coverity-scan/run-coverity-scan
/qemu/scripts/make-release
/qemu/stubs/xen-hw-stub.c
/qemu/system/physmem.c
/qemu/system/qdev-monitor.c
/qemu/target/i386/kvm/hyperv-stub.c
/qemu/target/i386/kvm/hyperv.c
/qemu/target/i386/kvm/hyperv.h
/qemu/target/i386/kvm/kvm.c
/qemu/target/i386/sev.c
/qemu/tests/unit/test-smp-parse.c
/qemu/util/oslib-posix.c
20c64c8a11-Mar-2024 Steve Sistare <steven.sistare@oracle.com>

migration: migration_file_set_error

Define and export migration_file_set_error to eliminate a dependency
on MigrationState.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Link: https://lo

migration: migration_file_set_error

Define and export migration_file_set_error to eliminate a dependency
on MigrationState.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Link: https://lore.kernel.org/r/1710179338-294359-9-git-send-email-steven.sistare@oracle.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

9bb630c611-Mar-2024 Steve Sistare <steven.sistare@oracle.com>

migration: migration_is_device

Define and export migration_is_device to eliminate a dependency
on MigrationState.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Link: https://lore.kernel.

migration: migration_is_device

Define and export migration_is_device to eliminate a dependency
on MigrationState.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Link: https://lore.kernel.org/r/1710179338-294359-8-git-send-email-steven.sistare@oracle.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

3a6813b611-Mar-2024 Steve Sistare <steven.sistare@oracle.com>

migration: export migration_is_active

Delete the MigrationState parameter from migration_is_active so it
can be exported and used without including migration.h.

Signed-off-by: Steve Sistare <steven

migration: export migration_is_active

Delete the MigrationState parameter from migration_is_active so it
can be exported and used without including migration.h.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Link: https://lore.kernel.org/r/1710179338-294359-4-git-send-email-steven.sistare@oracle.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

7dcb3c8711-Mar-2024 Steve Sistare <steven.sistare@oracle.com>

migration: export migration_is_setup_or_active

Delete the MigrationState parameter from migration_is_setup_or_active
and move it to the public API in misc.h.

Signed-off-by: Steve Sistare <steven.si

migration: export migration_is_setup_or_active

Delete the MigrationState parameter from migration_is_setup_or_active
and move it to the public API in misc.h.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Link: https://lore.kernel.org/r/1710179338-294359-3-git-send-email-steven.sistare@oracle.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

f853fa0711-Mar-2024 Steve Sistare <steven.sistare@oracle.com>

migration: remove migration.h references

Remove migration.h from files that no longer need it due to
previous commits.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Link: https://lore.ke

migration: remove migration.h references

Remove migration.h from files that no longer need it due to
previous commits.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Link: https://lore.kernel.org/r/1710179338-294359-2-git-send-email-steven.sistare@oracle.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

f3bff6c411-Mar-2024 Steve Sistare <steven.sistare@oracle.com>

migration: export fewer options

A small number of migration options are accessed by migration clients,
but to see them clients must include all of options.h, which is mostly
for migration core code.

migration: export fewer options

A small number of migration options are accessed by migration clients,
but to see them clients must include all of options.h, which is mostly
for migration core code. migrate_mode() in particular will be needed by
multiple clients.

Refactor the option declarations so clients can see the necessary few via
misc.h, which already exports a portion of the client API.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Link: https://lore.kernel.org/r/1710179319-294320-1-git-send-email-steven.sistare@oracle.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

ff64e0ba04-Mar-2024 Avihai Horon <avihaih@nvidia.com>

vfio/migration: Add a note about migration rate limiting

VFIO migration buffer size is currently limited to 1MB. Therefore, there
is no need to check if migration rate exceeded, as in the worst case

vfio/migration: Add a note about migration rate limiting

VFIO migration buffer size is currently limited to 1MB. Therefore, there
is no need to check if migration rate exceeded, as in the worst case it
will exceed by only 1MB.

However, if the buffer size is later changed to a bigger value,
vfio_save_iterate() should enforce migration rate (similar to migration
RAM code).

Add a note about this in vfio_save_iterate() to serve as a reminder.

Suggested-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Avihai Horon <avihaih@nvidia.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20240304105339.20713-4-avihaih@nvidia.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

3f6ed59e04-Mar-2024 Avihai Horon <avihaih@nvidia.com>

vfio/migration: Refactor vfio_save_state() return value

Currently, vfio_save_state() returns 1 regardless of whether there is
more data to send or not. This was done to prevent a fast changing VFIO

vfio/migration: Refactor vfio_save_state() return value

Currently, vfio_save_state() returns 1 regardless of whether there is
more data to send or not. This was done to prevent a fast changing VFIO
device from potentially blocking other devices from sending their data,
as qemu_savevm_state_iterate() serialized devices.

Now that qemu_savevm_state_iterate() no longer serializes devices, there
is no need for that.

Refactor vfio_save_state() to return 0 if more data is available and 1
if no more data is available.

Signed-off-by: Avihai Horon <avihaih@nvidia.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20240304105339.20713-3-avihaih@nvidia.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...


/qemu/.gitlab-ci.d/base.yml
/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/opensbi.yml
/qemu/accel/xen/xen-all.c
/qemu/blockdev.c
/qemu/chardev/char-fe.c
/qemu/configs/devices/mips-softmmu/common.mak
/qemu/configs/devices/mips64el-softmmu/default.mak
/qemu/docs/about/deprecated.rst
/qemu/docs/about/removed-features.rst
/qemu/docs/devel/acpi-bits.rst
/qemu/docs/interop/firmware.json
/qemu/hmp-commands-info.hx
/qemu/hw/arm/xen_arm.c
/qemu/hw/char/xen_console.c
/qemu/hw/core/machine-smp.c
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/cxl/cxl-cdat.c
/qemu/hw/display/Kconfig
/qemu/hw/hyperv/hv-balloon.c
/qemu/hw/hyperv/hyperv.c
/qemu/hw/hyperv/vmbus.c
/qemu/hw/i386/meson.build
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/vapic.c
/qemu/hw/i386/xen/meson.build
/qemu/hw/i386/xen/xen-hvm.c
/qemu/hw/intc/apic.c
/qemu/hw/intc/grlib_irqmp.c
/qemu/hw/m68k/mcf5208.c
/qemu/hw/mem/cxl_type3.c
/qemu/hw/mips/Kconfig
/qemu/hw/net/xen_nic.c
/qemu/hw/pci-bridge/cxl_upstream.c
/qemu/hw/pci/msi.c
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/remote/remote-obj.c
/qemu/hw/scsi/lsi53c895a.c
/qemu/hw/scsi/trace-events
migration.c
/qemu/hw/xen/xen-hvm-common.c
/qemu/hw/xen/xen_pt.c
/qemu/hw/xen/xen_pt.h
/qemu/hw/xen/xen_pt_config_init.c
/qemu/hw/xen/xen_pt_graphics.c
/qemu/hw/xen/xen_pt_stub.c
/qemu/include/hw/cxl/cxl_cdat.h
/qemu/include/hw/hyperv/dynmem-proto.h
/qemu/include/hw/hyperv/hyperv.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/qdev-properties-system.h
/qemu/include/hw/xen/xen-hvm-common.h
/qemu/include/hw/xen/xen_igd.h
/qemu/include/qapi/qmp/qerror.h
/qemu/include/sysemu/xen-mapcache.h
/qemu/include/sysemu/xen.h
/qemu/meson.build
/qemu/migration/savevm.c
/qemu/qapi/virtio.json
/qemu/scripts/coverity-scan/run-coverity-scan
/qemu/scripts/make-release
/qemu/stubs/xen-hw-stub.c
/qemu/system/physmem.c
/qemu/system/qdev-monitor.c
/qemu/target/i386/kvm/hyperv-stub.c
/qemu/target/i386/kvm/hyperv.c
/qemu/target/i386/kvm/hyperv.h
/qemu/target/i386/kvm/kvm.c
/qemu/target/i386/sev.c
/qemu/tests/unit/test-smp-parse.c
/qemu/util/oslib-posix.c
75d5a5fe01-Mar-2024 Frediano Ziglio <freddy77@gmail.com>

hw/vfio/pci.c: Make some structure static

Not used outside C module.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by:

hw/vfio/pci.c: Make some structure static

Not used outside C module.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by Tokarev <mjt@tls.msk.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>

show more ...


/qemu/.gitlab-ci.d/cirrus.yml
/qemu/MAINTAINERS
/qemu/accel/tcg/cpu-exec.c
/qemu/accel/tcg/cputlb.c
/qemu/accel/tcg/plugin-gen.c
/qemu/accel/tcg/plugin-helpers.h
/qemu/accel/tcg/translate-all.c
/qemu/accel/tcg/user-exec.c
/qemu/bsd-user/bsd-file.h
/qemu/bsd-user/freebsd/os-proc.h
/qemu/bsd-user/main.c
/qemu/bsd-user/qemu.h
/qemu/bsd-user/signal.c
/qemu/chardev/char-socket.c
/qemu/contrib/plugins/cache.c
/qemu/contrib/plugins/execlog.c
/qemu/contrib/plugins/hotblocks.c
/qemu/contrib/plugins/howvec.c
/qemu/cpu-target.c
/qemu/disas/disas.c
/qemu/disas/hppa.c
/qemu/disas/riscv.c
/qemu/docs/about/deprecated.rst
/qemu/docs/conf.py
/qemu/docs/devel/migration/features.rst
/qemu/docs/devel/migration/mapped-ram.rst
/qemu/docs/devel/multi-thread-tcg.rst
/qemu/docs/devel/qapi-code-gen.rst
/qemu/docs/devel/tcg-plugins.rst
/qemu/docs/devel/writing-monitor-commands.rst
/qemu/docs/system/arm/b-l475e-iot01a.rst
/qemu/docs/system/arm/emulation.rst
/qemu/docs/system/arm/raspi.rst
/qemu/docs/user/main.rst
/qemu/gdbstub/gdbstub.c
/qemu/gdbstub/internals.h
/qemu/gdbstub/user-target.c
/qemu/gdbstub/user.c
/qemu/hw/acpi/aml-build.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/b-l475e-iot01a.c
/qemu/hw/arm/bcm2835_peripherals.c
/qemu/hw/arm/stm32l4x5_soc.c
/qemu/hw/arm/virt-acpi-build.c
/qemu/hw/char/pl011.c
/qemu/hw/core/cpu-common.c
/qemu/hw/gpio/Kconfig
/qemu/hw/gpio/meson.build
/qemu/hw/gpio/stm32l4x5_gpio.c
/qemu/hw/gpio/trace-events
/qemu/hw/i2c/Kconfig
/qemu/hw/i2c/bcm2835_i2c.c
/qemu/hw/i2c/meson.build
/qemu/hw/i386/pc.c
/qemu/hw/ide/core.c
/qemu/hw/ide/ide-dev.c
/qemu/hw/ide/ide-internal.h
/qemu/hw/intc/Kconfig
/qemu/hw/intc/riscv_aplic.c
/qemu/hw/loongarch/acpi-build.c
/qemu/hw/loongarch/virt.c
/qemu/hw/misc/Kconfig
/qemu/hw/misc/meson.build
/qemu/hw/misc/stm32l4x5_rcc.c
/qemu/hw/misc/stm32l4x5_syscfg.c
/qemu/hw/misc/trace-events
/qemu/hw/riscv/boot.c
/qemu/hw/riscv/virt-acpi-build.c
/qemu/hw/riscv/virt.c
/qemu/hw/rtc/sun4v-rtc.c
/qemu/hw/tpm/tpm_ppi.c
/qemu/hw/usb/bus.c
pci.c
/qemu/include/disas/dis-asm.h
/qemu/include/exec/cpu-all.h
/qemu/include/exec/cpu-common.h
/qemu/include/exec/gdbstub.h
/qemu/include/exec/memattrs.h
/qemu/include/exec/ramblock.h
/qemu/include/gdbstub/user.h
/qemu/include/hw/acpi/acpi-defs.h
/qemu/include/hw/acpi/aml-build.h
/qemu/include/hw/arm/bcm2835_peripherals.h
/qemu/include/hw/arm/stm32l4x5_soc.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/gpio/stm32l4x5_gpio.h
/qemu/include/hw/i2c/bcm2835_i2c.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/ide/ide-dev.h
/qemu/include/hw/loongarch/virt.h
/qemu/include/hw/misc/stm32l4x5_rcc.h
/qemu/include/hw/misc/stm32l4x5_rcc_internals.h
/qemu/include/hw/misc/stm32l4x5_syscfg.h
/qemu/include/hw/rtc/sun4v-rtc.h
/qemu/include/io/channel.h
/qemu/include/migration/misc.h
/qemu/include/migration/qemu-file-types.h
/qemu/include/qapi/type-helpers.h
/qemu/include/qapi/util.h
/qemu/include/qemu/atomic.h
/qemu/include/qemu/bitops.h
/qemu/include/qemu/plugin.h
/qemu/include/qemu/qemu-plugin.h
/qemu/include/qemu/typedefs.h
/qemu/include/standard-headers/drm/drm_fourcc.h
/qemu/include/standard-headers/linux/ethtool.h
/qemu/include/standard-headers/linux/virtio_config.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/standard-headers/linux/virtio_pmem.h
/qemu/include/sysemu/sysemu.h
/qemu/include/user/safe-syscall.h
/qemu/io/channel-file.c
/qemu/io/channel.c
/qemu/linux-headers/asm-generic/unistd.h
/qemu/linux-headers/asm-mips/mman.h
/qemu/linux-headers/asm-mips/unistd_n32.h
/qemu/linux-headers/asm-mips/unistd_n64.h
/qemu/linux-headers/asm-mips/unistd_o32.h
/qemu/linux-headers/asm-powerpc/unistd_32.h
/qemu/linux-headers/asm-powerpc/unistd_64.h
/qemu/linux-headers/asm-riscv/kvm.h
/qemu/linux-headers/asm-s390/unistd_32.h
/qemu/linux-headers/asm-s390/unistd_64.h
/qemu/linux-headers/asm-x86/kvm.h
/qemu/linux-headers/asm-x86/unistd_32.h
/qemu/linux-headers/asm-x86/unistd_64.h
/qemu/linux-headers/asm-x86/unistd_x32.h
/qemu/linux-headers/linux/iommufd.h
/qemu/linux-headers/linux/kvm.h
/qemu/linux-headers/linux/userfaultfd.h
/qemu/linux-headers/linux/vfio.h
/qemu/linux-user/aarch64/cpu_loop.c
/qemu/linux-user/arm/cpu_loop.c
/qemu/linux-user/arm/signal.c
/qemu/linux-user/cris/cpu_loop.c
/qemu/linux-user/elfload.c
/qemu/linux-user/hppa/signal.c
/qemu/linux-user/linuxload.c
/qemu/linux-user/loongarch64/target_syscall.h
/qemu/linux-user/m68k/cpu_loop.c
/qemu/linux-user/m68k/target_cpu.h
/qemu/linux-user/main.c
/qemu/linux-user/mips/cpu_loop.c
/qemu/linux-user/mmap.c
/qemu/linux-user/nios2/cpu_loop.c
/qemu/linux-user/ppc/signal.c
/qemu/linux-user/qemu.h
/qemu/linux-user/riscv/cpu_loop.c
/qemu/linux-user/signal-common.h
/qemu/linux-user/signal.c
/qemu/linux-user/strace.c
/qemu/linux-user/strace.list
/qemu/linux-user/syscall.c
/qemu/linux-user/user-internals.h
/qemu/linux-user/vm86.c
/qemu/linux-user/xtensa/signal.c
/qemu/meson.build
/qemu/migration/exec.c
/qemu/migration/fd.c
/qemu/migration/fd.h
/qemu/migration/file.c
/qemu/migration/file.h
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/multifd-zlib.c
/qemu/migration/multifd-zstd.c
/qemu/migration/multifd.c
/qemu/migration/multifd.h
/qemu/migration/options.c
/qemu/migration/options.h
/qemu/migration/qemu-file.c
/qemu/migration/qemu-file.h
/qemu/migration/ram.c
/qemu/migration/ram.h
/qemu/migration/savevm.c
/qemu/migration/trace-events
/qemu/pc-bios/README
/qemu/pc-bios/meson.build
/qemu/plugins/api.c
/qemu/plugins/core.c
/qemu/plugins/plugin.h
/qemu/plugins/qemu-plugins.symbols
/qemu/qapi/block-core.json
/qemu/qapi/block-export.json
/qemu/qapi/block.json
/qemu/qapi/char.json
/qemu/qapi/dump.json
/qemu/qapi/machine-target.json
/qemu/qapi/machine.json
/qemu/qapi/migration.json
/qemu/qapi/misc-target.json
/qemu/qapi/misc.json
/qemu/qapi/net.json
/qemu/qapi/qapi-type-helpers.c
/qemu/qapi/qdev.json
/qemu/qapi/qom.json
/qemu/qapi/run-state.json
/qemu/qapi/tpm.json
/qemu/qapi/transaction.json
/qemu/qapi/ui.json
/qemu/qapi/yank.json
/qemu/qemu-options.hx
/qemu/qga/qapi-schema.json
/qemu/replay/replay.c
/qemu/roms/Makefile
/qemu/scripts/feature_to_c.py
/qemu/scripts/qapi/parser.py
/qemu/semihosting/arm-compat-semi.c
/qemu/system/globals.c
/qemu/system/physmem.c
/qemu/system/vl.c
/qemu/target/alpha/cpu-param.h
/qemu/target/arm/cpu-features.h
/qemu/target/arm/cpu-param.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/cpu64.c
/qemu/target/arm/gdbstub.c
/qemu/target/arm/gdbstub64.c
/qemu/target/arm/helper.c
/qemu/target/arm/internals.h
/qemu/target/arm/meson.build
/qemu/target/arm/ptw.c
/qemu/target/arm/tcg/cpu-v7m.c
/qemu/target/arm/tcg/cpu32.c
/qemu/target/arm/tcg/cpu64.c
/qemu/target/arm/tcg/hflags.c
/qemu/target/arm/tcg/meson.build
/qemu/target/arm/tcg/sme_helper.c
/qemu/target/arm/tcg/translate.c
/qemu/target/arm/trace-events
/qemu/target/avr/cpu.c
/qemu/target/hexagon/cpu.c
/qemu/target/hexagon/gdbstub.c
/qemu/target/hexagon/internal.h
/qemu/target/hppa/cpu.c
/qemu/target/hppa/helper.c
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/op_helper.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/tcg/sysemu/excp_helper.c
/qemu/target/i386/tcg/sysemu/misc_helper.c
/qemu/target/i386/tcg/sysemu/svm_helper.c
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/disas.c
/qemu/target/loongarch/gdbstub.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/helper.c
/qemu/target/microblaze/cpu.c
/qemu/target/microblaze/cpu.h
/qemu/target/microblaze/gdbstub.c
/qemu/target/ppc/cpu-param.h
/qemu/target/ppc/cpu-qom.h
/qemu/target/ppc/cpu.h
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/gdbstub.c
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/cpu_cfg.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/csr.c
/qemu/target/riscv/gdbstub.c
/qemu/target/riscv/insn_trans/trans_rva.c.inc
/qemu/target/riscv/insn_trans/trans_rvi.c.inc
/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/qemu/target/riscv/insn_trans/trans_rvzce.c.inc
/qemu/target/riscv/kvm/kvm-cpu.c
/qemu/target/riscv/machine.c
/qemu/target/riscv/pmu.h
/qemu/target/riscv/tcg/tcg-cpu.c
/qemu/target/riscv/translate.c
/qemu/target/riscv/vector_helper.c
/qemu/target/rx/cpu.c
/qemu/target/s390x/cpu.c
/qemu/target/s390x/cpu.h
/qemu/target/s390x/gdbstub.c
/qemu/target/sparc/mmu_helper.c
/qemu/tcg/aarch64/tcg-target.h
/qemu/tcg/optimize.c
/qemu/tests/plugin/bb.c
/qemu/tests/plugin/inline.c
/qemu/tests/plugin/insn.c
/qemu/tests/plugin/mem.c
/qemu/tests/plugin/meson.build
/qemu/tests/qapi-schema/doc-good.json
/qemu/tests/qapi-schema/doc-good.out
/qemu/tests/qapi-schema/doc-good.txt
/qemu/tests/qapi-schema/doc-invalid-return.err
/qemu/tests/qapi-schema/doc-invalid-return2.err
/qemu/tests/qapi-schema/doc-invalid-return2.json
/qemu/tests/qapi-schema/doc-invalid-return2.out
/qemu/tests/qapi-schema/meson.build
/qemu/tests/qtest/bcm2835-i2c-test.c
/qemu/tests/qtest/libqos/meson.build
/qemu/tests/qtest/libqos/qgraph.h
/qemu/tests/qtest/libqos/riscv-virt-machine.c
/qemu/tests/qtest/libqos/virtio.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/stm32l4x5_gpio-test.c
/qemu/tests/qtest/stm32l4x5_rcc-test.c
/qemu/tests/tcg/Makefile.target
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/semicall.h
/qemu/tests/tcg/aarch64/sme-smopa-1.c
/qemu/tests/tcg/aarch64/sme-smopa-2.c
/qemu/tests/tcg/alpha/Makefile.target
/qemu/tests/tcg/arm/Makefile.target
/qemu/tests/tcg/arm/semicall.h
/qemu/tests/tcg/hppa/Makefile.target
/qemu/tests/tcg/i386/Makefile.target
/qemu/tests/tcg/i386/system/boot.S
/qemu/tests/tcg/m68k/Makefile.target
/qemu/tests/tcg/multiarch/Makefile.target
/qemu/tests/tcg/multiarch/arm-compat-semi/semiconsole.c
/qemu/tests/tcg/multiarch/arm-compat-semi/semihosting.c
/qemu/tests/tcg/multiarch/float_convd.c
/qemu/tests/tcg/multiarch/float_convs.c
/qemu/tests/tcg/multiarch/float_helpers.h
/qemu/tests/tcg/multiarch/float_madds.c
/qemu/tests/tcg/multiarch/follow-fork-mode.c
/qemu/tests/tcg/multiarch/gdbstub/follow-fork-mode-child.py
/qemu/tests/tcg/multiarch/gdbstub/follow-fork-mode-parent.py
/qemu/tests/tcg/multiarch/libs/float_helpers.c
/qemu/tests/tcg/multiarch/linux/linux-madvise.c
/qemu/tests/tcg/multiarch/linux/linux-shmat-maps.c
/qemu/tests/tcg/riscv64/Makefile.target
/qemu/tests/tcg/riscv64/semicall.h
/qemu/tests/tcg/sh4/Makefile.target
/qemu/tests/tcg/x86_64/system/boot.S
/qemu/tests/unit/test-util-sockets.c
/qemu/tests/vm/Makefile.include
/qemu/tests/vm/basevm.py
/qemu/tests/vm/openbsd
/qemu/ui/cocoa.m
0cb51c1822-Feb-2024 Steve Sistare <steven.sistare@oracle.com>

vfio: allow cpr-reboot migration if suspended

Allow cpr-reboot for vfio if the guest is in the suspended runstate. The
guest drivers' suspend methods flush outstanding requests and re-initialize
th

vfio: allow cpr-reboot migration if suspended

Allow cpr-reboot for vfio if the guest is in the suspended runstate. The
guest drivers' suspend methods flush outstanding requests and re-initialize
the devices, and thus there is no device state to save and restore. The
user is responsible for suspending the guest before initiating cpr, such as
by issuing guest-suspend-ram to the qemu guest agent.

Relax the vfio blocker so it does not apply to cpr, and add a notifier that
verifies the guest is suspended.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>

show more ...

d9fa422322-Feb-2024 Steve Sistare <steven.sistare@oracle.com>

vfio: register container for cpr

Define entry points to perform per-container cpr-specific initialization
and teardown.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Reviewed-by: Cédric

vfio: register container for cpr

Define entry points to perform per-container cpr-specific initialization
and teardown.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>

show more ...


/qemu/.gitlab-ci.d/cirrus.yml
/qemu/MAINTAINERS
/qemu/accel/tcg/cpu-exec.c
/qemu/accel/tcg/cputlb.c
/qemu/accel/tcg/plugin-gen.c
/qemu/accel/tcg/plugin-helpers.h
/qemu/accel/tcg/translate-all.c
/qemu/accel/tcg/user-exec.c
/qemu/bsd-user/bsd-file.h
/qemu/bsd-user/freebsd/os-proc.h
/qemu/bsd-user/main.c
/qemu/bsd-user/qemu.h
/qemu/bsd-user/signal.c
/qemu/chardev/char-socket.c
/qemu/contrib/plugins/cache.c
/qemu/contrib/plugins/execlog.c
/qemu/contrib/plugins/hotblocks.c
/qemu/contrib/plugins/howvec.c
/qemu/cpu-target.c
/qemu/disas/disas.c
/qemu/disas/hppa.c
/qemu/disas/riscv.c
/qemu/docs/about/deprecated.rst
/qemu/docs/conf.py
/qemu/docs/devel/migration/features.rst
/qemu/docs/devel/migration/mapped-ram.rst
/qemu/docs/devel/multi-thread-tcg.rst
/qemu/docs/devel/qapi-code-gen.rst
/qemu/docs/devel/tcg-plugins.rst
/qemu/docs/devel/writing-monitor-commands.rst
/qemu/docs/system/arm/b-l475e-iot01a.rst
/qemu/docs/system/arm/raspi.rst
/qemu/docs/user/main.rst
/qemu/gdbstub/gdbstub.c
/qemu/gdbstub/internals.h
/qemu/gdbstub/user-target.c
/qemu/gdbstub/user.c
/qemu/hw/acpi/aml-build.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/b-l475e-iot01a.c
/qemu/hw/arm/bcm2835_peripherals.c
/qemu/hw/arm/stm32l4x5_soc.c
/qemu/hw/arm/virt-acpi-build.c
/qemu/hw/char/pl011.c
/qemu/hw/core/cpu-common.c
/qemu/hw/i2c/Kconfig
/qemu/hw/i2c/bcm2835_i2c.c
/qemu/hw/i2c/meson.build
/qemu/hw/i386/pc.c
/qemu/hw/ide/core.c
/qemu/hw/ide/ide-dev.c
/qemu/hw/ide/ide-internal.h
/qemu/hw/intc/Kconfig
/qemu/hw/intc/riscv_aplic.c
/qemu/hw/loongarch/acpi-build.c
/qemu/hw/loongarch/virt.c
/qemu/hw/misc/Kconfig
/qemu/hw/misc/meson.build
/qemu/hw/misc/stm32l4x5_rcc.c
/qemu/hw/misc/trace-events
/qemu/hw/riscv/boot.c
/qemu/hw/riscv/virt-acpi-build.c
/qemu/hw/riscv/virt.c
/qemu/hw/tpm/tpm_ppi.c
/qemu/hw/usb/bus.c
container.c
cpr.c
iommufd.c
meson.build
/qemu/include/disas/dis-asm.h
/qemu/include/exec/cpu-all.h
/qemu/include/exec/cpu-common.h
/qemu/include/exec/gdbstub.h
/qemu/include/exec/memattrs.h
/qemu/include/exec/ramblock.h
/qemu/include/gdbstub/user.h
/qemu/include/hw/acpi/acpi-defs.h
/qemu/include/hw/acpi/aml-build.h
/qemu/include/hw/arm/bcm2835_peripherals.h
/qemu/include/hw/arm/stm32l4x5_soc.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/i2c/bcm2835_i2c.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/ide/ide-dev.h
/qemu/include/hw/loongarch/virt.h
/qemu/include/hw/misc/stm32l4x5_rcc.h
/qemu/include/hw/misc/stm32l4x5_rcc_internals.h
/qemu/include/hw/vfio/vfio-common.h
/qemu/include/io/channel.h
/qemu/include/migration/misc.h
/qemu/include/migration/qemu-file-types.h
/qemu/include/qapi/type-helpers.h
/qemu/include/qapi/util.h
/qemu/include/qemu/atomic.h
/qemu/include/qemu/bitops.h
/qemu/include/qemu/plugin.h
/qemu/include/qemu/qemu-plugin.h
/qemu/include/qemu/typedefs.h
/qemu/include/standard-headers/drm/drm_fourcc.h
/qemu/include/standard-headers/linux/ethtool.h
/qemu/include/standard-headers/linux/virtio_config.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/standard-headers/linux/virtio_pmem.h
/qemu/include/sysemu/sysemu.h
/qemu/include/user/safe-syscall.h
/qemu/io/channel-file.c
/qemu/io/channel.c
/qemu/linux-headers/asm-generic/unistd.h
/qemu/linux-headers/asm-mips/mman.h
/qemu/linux-headers/asm-mips/unistd_n32.h
/qemu/linux-headers/asm-mips/unistd_n64.h
/qemu/linux-headers/asm-mips/unistd_o32.h
/qemu/linux-headers/asm-powerpc/unistd_32.h
/qemu/linux-headers/asm-powerpc/unistd_64.h
/qemu/linux-headers/asm-riscv/kvm.h
/qemu/linux-headers/asm-s390/unistd_32.h
/qemu/linux-headers/asm-s390/unistd_64.h
/qemu/linux-headers/asm-x86/kvm.h
/qemu/linux-headers/asm-x86/unistd_32.h
/qemu/linux-headers/asm-x86/unistd_64.h
/qemu/linux-headers/asm-x86/unistd_x32.h
/qemu/linux-headers/linux/iommufd.h
/qemu/linux-headers/linux/kvm.h
/qemu/linux-headers/linux/userfaultfd.h
/qemu/linux-headers/linux/vfio.h
/qemu/linux-user/aarch64/cpu_loop.c
/qemu/linux-user/arm/cpu_loop.c
/qemu/linux-user/arm/signal.c
/qemu/linux-user/cris/cpu_loop.c
/qemu/linux-user/elfload.c
/qemu/linux-user/hppa/signal.c
/qemu/linux-user/linuxload.c
/qemu/linux-user/loongarch64/target_syscall.h
/qemu/linux-user/m68k/cpu_loop.c
/qemu/linux-user/m68k/target_cpu.h
/qemu/linux-user/main.c
/qemu/linux-user/mips/cpu_loop.c
/qemu/linux-user/mmap.c
/qemu/linux-user/nios2/cpu_loop.c
/qemu/linux-user/ppc/signal.c
/qemu/linux-user/qemu.h
/qemu/linux-user/riscv/cpu_loop.c
/qemu/linux-user/signal-common.h
/qemu/linux-user/signal.c
/qemu/linux-user/strace.c
/qemu/linux-user/strace.list
/qemu/linux-user/syscall.c
/qemu/linux-user/user-internals.h
/qemu/linux-user/vm86.c
/qemu/linux-user/xtensa/signal.c
/qemu/meson.build
/qemu/migration/exec.c
/qemu/migration/fd.c
/qemu/migration/fd.h
/qemu/migration/file.c
/qemu/migration/file.h
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/multifd-zlib.c
/qemu/migration/multifd-zstd.c
/qemu/migration/multifd.c
/qemu/migration/multifd.h
/qemu/migration/options.c
/qemu/migration/options.h
/qemu/migration/qemu-file.c
/qemu/migration/qemu-file.h
/qemu/migration/ram.c
/qemu/migration/ram.h
/qemu/migration/savevm.c
/qemu/migration/trace-events
/qemu/pc-bios/README
/qemu/pc-bios/meson.build
/qemu/plugins/api.c
/qemu/plugins/core.c
/qemu/plugins/plugin.h
/qemu/plugins/qemu-plugins.symbols
/qemu/qapi/block-core.json
/qemu/qapi/block-export.json
/qemu/qapi/block.json
/qemu/qapi/char.json
/qemu/qapi/dump.json
/qemu/qapi/machine-target.json
/qemu/qapi/machine.json
/qemu/qapi/migration.json
/qemu/qapi/misc-target.json
/qemu/qapi/misc.json
/qemu/qapi/net.json
/qemu/qapi/qapi-type-helpers.c
/qemu/qapi/qdev.json
/qemu/qapi/qom.json
/qemu/qapi/run-state.json
/qemu/qapi/tpm.json
/qemu/qapi/transaction.json
/qemu/qapi/ui.json
/qemu/qapi/yank.json
/qemu/qemu-options.hx
/qemu/qga/qapi-schema.json
/qemu/roms/Makefile
/qemu/scripts/feature_to_c.py
/qemu/scripts/qapi/parser.py
/qemu/semihosting/arm-compat-semi.c
/qemu/system/globals.c
/qemu/system/physmem.c
/qemu/system/vl.c
/qemu/target/alpha/cpu-param.h
/qemu/target/arm/cpu-param.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/cpu64.c
/qemu/target/arm/gdbstub.c
/qemu/target/arm/gdbstub64.c
/qemu/target/arm/internals.h
/qemu/target/arm/ptw.c
/qemu/target/arm/tcg/hflags.c
/qemu/target/arm/tcg/translate.c
/qemu/target/avr/cpu.c
/qemu/target/hexagon/cpu.c
/qemu/target/hexagon/gdbstub.c
/qemu/target/hexagon/internal.h
/qemu/target/hppa/cpu.c
/qemu/target/hppa/helper.c
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/op_helper.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/tcg/sysemu/excp_helper.c
/qemu/target/i386/tcg/sysemu/misc_helper.c
/qemu/target/i386/tcg/sysemu/svm_helper.c
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/disas.c
/qemu/target/loongarch/gdbstub.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/helper.c
/qemu/target/microblaze/cpu.c
/qemu/target/microblaze/cpu.h
/qemu/target/microblaze/gdbstub.c
/qemu/target/ppc/cpu-param.h
/qemu/target/ppc/cpu-qom.h
/qemu/target/ppc/cpu.h
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/gdbstub.c
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/cpu_cfg.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/csr.c
/qemu/target/riscv/gdbstub.c
/qemu/target/riscv/insn_trans/trans_rva.c.inc
/qemu/target/riscv/insn_trans/trans_rvi.c.inc
/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/qemu/target/riscv/insn_trans/trans_rvzce.c.inc
/qemu/target/riscv/kvm/kvm-cpu.c
/qemu/target/riscv/machine.c
/qemu/target/riscv/pmu.h
/qemu/target/riscv/tcg/tcg-cpu.c
/qemu/target/riscv/translate.c
/qemu/target/riscv/vector_helper.c
/qemu/target/rx/cpu.c
/qemu/target/s390x/cpu.c
/qemu/target/s390x/cpu.h
/qemu/target/s390x/gdbstub.c
/qemu/target/sparc/mmu_helper.c
/qemu/tcg/aarch64/tcg-target.h
/qemu/tcg/optimize.c
/qemu/tests/plugin/bb.c
/qemu/tests/plugin/inline.c
/qemu/tests/plugin/insn.c
/qemu/tests/plugin/mem.c
/qemu/tests/plugin/meson.build
/qemu/tests/qapi-schema/doc-good.json
/qemu/tests/qapi-schema/doc-good.out
/qemu/tests/qapi-schema/doc-good.txt
/qemu/tests/qapi-schema/doc-invalid-return.err
/qemu/tests/qapi-schema/doc-invalid-return2.err
/qemu/tests/qapi-schema/doc-invalid-return2.json
/qemu/tests/qapi-schema/doc-invalid-return2.out
/qemu/tests/qapi-schema/meson.build
/qemu/tests/qtest/bcm2835-i2c-test.c
/qemu/tests/qtest/libqos/meson.build
/qemu/tests/qtest/libqos/qgraph.h
/qemu/tests/qtest/libqos/riscv-virt-machine.c
/qemu/tests/qtest/libqos/virtio.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/stm32l4x5_rcc-test.c
/qemu/tests/tcg/Makefile.target
/qemu/tests/tcg/aarch64/semicall.h
/qemu/tests/tcg/alpha/Makefile.target
/qemu/tests/tcg/arm/Makefile.target
/qemu/tests/tcg/arm/semicall.h
/qemu/tests/tcg/hppa/Makefile.target
/qemu/tests/tcg/i386/Makefile.target
/qemu/tests/tcg/i386/system/boot.S
/qemu/tests/tcg/m68k/Makefile.target
/qemu/tests/tcg/multiarch/Makefile.target
/qemu/tests/tcg/multiarch/arm-compat-semi/semiconsole.c
/qemu/tests/tcg/multiarch/arm-compat-semi/semihosting.c
/qemu/tests/tcg/multiarch/float_convd.c
/qemu/tests/tcg/multiarch/float_convs.c
/qemu/tests/tcg/multiarch/float_helpers.h
/qemu/tests/tcg/multiarch/float_madds.c
/qemu/tests/tcg/multiarch/follow-fork-mode.c
/qemu/tests/tcg/multiarch/gdbstub/follow-fork-mode-child.py
/qemu/tests/tcg/multiarch/gdbstub/follow-fork-mode-parent.py
/qemu/tests/tcg/multiarch/libs/float_helpers.c
/qemu/tests/tcg/multiarch/linux/linux-madvise.c
/qemu/tests/tcg/multiarch/linux/linux-shmat-maps.c
/qemu/tests/tcg/riscv64/Makefile.target
/qemu/tests/tcg/riscv64/semicall.h
/qemu/tests/tcg/sh4/Makefile.target
/qemu/tests/tcg/x86_64/system/boot.S
/qemu/tests/unit/test-util-sockets.c
/qemu/tests/vm/Makefile.include
/qemu/tests/vm/basevm.py
/qemu/tests/vm/openbsd
5663dd3f22-Feb-2024 Steve Sistare <steven.sistare@oracle.com>

migration: MigrationNotifyFunc

Define MigrationNotifyFunc to improve type safety and simplify migration
notifiers.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Reviewed-by: Peter Xu <pe

migration: MigrationNotifyFunc

Define MigrationNotifyFunc to improve type safety and simplify migration
notifiers.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Link: https://lore.kernel.org/r/1708622920-68779-7-git-send-email-steven.sistare@oracle.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

9d9babf722-Feb-2024 Steve Sistare <steven.sistare@oracle.com>

migration: MigrationEvent for notifiers

Passing MigrationState to notifiers is unsound because they could access
unstable migration state internals or even modify the state. Instead, pass
the minim

migration: MigrationEvent for notifiers

Passing MigrationState to notifiers is unsound because they could access
unstable migration state internals or even modify the state. Instead, pass
the minimal info needed in a new MigrationEvent struct, which could be
extended in the future if needed.

Suggested-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Link: https://lore.kernel.org/r/1708622920-68779-5-git-send-email-steven.sistare@oracle.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

12345678910>>...26