History log of /openbmc/qemu/migration/ (Results 251 – 275 of 2385)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
44d0d45619-Jan-2024 Fabiano Rosas <farosas@suse.de>

migration: Centralize BH creation and dispatch

Now that the migration state reference counting is correct, further
wrap the bottom half dispatch process to avoid future issues.

Move BH creation and

migration: Centralize BH creation and dispatch

Now that the migration state reference counting is correct, further
wrap the bottom half dispatch process to avoid future issues.

Move BH creation and scheduling together and wrap the dispatch with an
intermediary function that will ensure we always keep the ref/unref
balanced.

Also move the responsibility of deleting the BH into the wrapper and
remove the now unnecessary pointers.

Signed-off-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20240119233922.32588-6-farosas@suse.de
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

699d947619-Jan-2024 Fabiano Rosas <farosas@suse.de>

migration: Add a wrapper to qemu_bh_schedule

Wrap qemu_bh_schedule() to ensure we always hold a reference to the
current_migration object.

Signed-off-by: Fabiano Rosas <farosas@suse.de>
Link: https

migration: Add a wrapper to qemu_bh_schedule

Wrap qemu_bh_schedule() to ensure we always hold a reference to the
current_migration object.

Signed-off-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20240119233922.32588-5-farosas@suse.de
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

9cf2689619-Jan-2024 Fabiano Rosas <farosas@suse.de>

migration: Reference migration state around loadvm_postcopy_handle_run_bh

We need to hold a reference to the current_migration object around
async calls to avoid it been freed while still in use. Ev

migration: Reference migration state around loadvm_postcopy_handle_run_bh

We need to hold a reference to the current_migration object around
async calls to avoid it been freed while still in use. Even on this
load-side function, we might still use the MigrationState, e.g to
check for capabilities.

Signed-off-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20240119233922.32588-4-farosas@suse.de
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

59094cfa19-Jan-2024 Fabiano Rosas <farosas@suse.de>

migration: Take reference to migration state around bg_migration_vm_start_bh

We need to hold a reference to the current_migration object around
async calls to avoid it been freed while still in use.

migration: Take reference to migration state around bg_migration_vm_start_bh

We need to hold a reference to the current_migration object around
async calls to avoid it been freed while still in use.

Signed-off-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20240119233922.32588-3-farosas@suse.de
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

27eb849919-Jan-2024 Fabiano Rosas <farosas@suse.de>

migration: Fix use-after-free of migration state object

We're currently allowing the process_incoming_migration_bh bottom-half
to run without holding a reference to the 'current_migration' object,
w

migration: Fix use-after-free of migration state object

We're currently allowing the process_incoming_migration_bh bottom-half
to run without holding a reference to the 'current_migration' object,
which leads to a segmentation fault if the BH is still live after
migration_shutdown() has dropped the last reference to
current_migration.

In my system the bug manifests as migrate_multifd() returning true
when it shouldn't and multifd_load_shutdown() calling
multifd_recv_terminate_threads() which crashes due to an uninitialized
multifd_recv_state.

Fix the issue by holding a reference to the object when scheduling the
BH and dropping it before returning from the BH. The same is already
done for the cleanup_bh at migrate_fd_cleanup_schedule().

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1969
Signed-off-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20240119233922.32588-2-farosas@suse.de
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

0a5d110811-Sep-2023 Fabiano Rosas <farosas@suse.de>

migration/yank: Use channel features

Stop using outside knowledge about the io channels when registering
yank functions. Query for features instead.

The yank method for all channels used with migra

migration/yank: Use channel features

Stop using outside knowledge about the io channels when registering
yank functions. Query for features instead.

The yank method for all channels used with migration code currently is
to call the qio_channel_shutdown() function, so query for
QIO_CHANNEL_FEATURE_SHUTDOWN. We could add a separate feature in the
future for indicating whether a channel supports yanking, but that
seems overkill at the moment.

Signed-off-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Peter Xu <peterx@redhat.com>
Link: https://lore.kernel.org/r/20230911171320.24372-9-farosas@suse.de
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

b0504edd17-Jan-2024 Peter Xu <peterx@redhat.com>

migration: Drop unnecessary check in ram's pending_exact()

When the migration frameworks fetches the exact pending sizes, it means
this check:

remaining_size < s->threshold_size

Must have been d

migration: Drop unnecessary check in ram's pending_exact()

When the migration frameworks fetches the exact pending sizes, it means
this check:

remaining_size < s->threshold_size

Must have been done already, actually at migration_iteration_run():

if (must_precopy <= s->threshold_size) {
qemu_savevm_state_pending_exact(&must_precopy, &can_postcopy);

That should be after one round of ram_state_pending_estimate(). It makes
the 2nd check meaningless and can be dropped.

To say it in another way, when reaching ->state_pending_exact(), we
unconditionally sync dirty bits for precopy.

Then we can drop migrate_get_current() there too.

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

show more ...

a8629e0c17-Jan-2024 Peter Xu <peterx@redhat.com>

migration: Make threshold_size an uint64_t

It's always used to compare against another uint64_t. Make it always clear
that it's never a negative.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro

migration: Make threshold_size an uint64_t

It's always used to compare against another uint64_t. Make it always clear
that it's never a negative.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20240117075848.139045-2-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

918f620d17-Jan-2024 Markus Armbruster <armbru@redhat.com>

migration: Plug memory leak on HMP migrate error path

hmp_migrate() leaks @caps when qmp_migrate() fails. Plug the leak
with g_autoptr().

Fixes: 967f2de5c9ec (migration: Implement MigrateChannelLi

migration: Plug memory leak on HMP migrate error path

hmp_migrate() leaks @caps when qmp_migrate() fails. Plug the leak
with g_autoptr().

Fixes: 967f2de5c9ec (migration: Implement MigrateChannelList to hmp migration flow.) v8.2.0-rc0
Fixes: CID 1533125
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Link: https://lore.kernel.org/r/20240117140722.3979657-1-armbru@redhat.com
[peterx: fix CID number as reported by Peter Maydell]
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

73b4987817-Jan-2024 Paolo Bonzini <pbonzini@redhat.com>

userfaultfd: use 1ULL to build ioctl masks

There is no need to use the Linux-internal __u64 type, 1ULL is
guaranteed to be wide enough.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-b

userfaultfd: use 1ULL to build ioctl masks

There is no need to use the Linux-internal __u64 type, 1ULL is
guaranteed to be wide enough.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Link: https://lore.kernel.org/r/20240117160313.175609-1-pbonzini@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/accel-system.c
/openbmc/qemu/accel/accel-system.h
/openbmc/qemu/accel/accel-target.c
/openbmc/qemu/accel/dummy-cpus.c
/openbmc/qemu/accel/hvf/hvf-accel-ops.c
/openbmc/qemu/accel/kvm/kvm-accel-ops.c
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/tcg/icount-common.c
/openbmc/qemu/accel/tcg/meson.build
/openbmc/qemu/accel/tcg/tb-maint.c
/openbmc/qemu/accel/tcg/watchpoint.c
/openbmc/qemu/backends/cryptodev.c
/openbmc/qemu/block.c
/openbmc/qemu/block/blklogwrites.c
/openbmc/qemu/block/commit.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/io_uring.c
/openbmc/qemu/block/monitor/block-hmp-cmds.c
/openbmc/qemu/block/stream.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/bsd-user/main.c
/openbmc/qemu/configure
/openbmc/qemu/cpu-target.c
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/about/removed-features.rst
/openbmc/qemu/docs/devel/docs.rst
/openbmc/qemu/docs/devel/index-build.rst
/openbmc/qemu/docs/devel/qapi-code-gen.rst
/openbmc/qemu/docs/devel/writing-monitor-commands.rst
/openbmc/qemu/docs/interop/bitmaps.rst
/openbmc/qemu/docs/specs/tpm.rst
/openbmc/qemu/docs/system/arm/b-l475e-iot01a.rst
/openbmc/qemu/docs/system/arm/bananapi_m2u.rst
/openbmc/qemu/docs/system/arm/virt.rst
/openbmc/qemu/docs/user/main.rst
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hmp-commands.hx
/openbmc/qemu/hw/arm/Kconfig
/openbmc/qemu/hw/arm/allwinner-a10.c
/openbmc/qemu/hw/arm/allwinner-h3.c
/openbmc/qemu/hw/arm/allwinner-r40.c
/openbmc/qemu/hw/arm/armv7m.c
/openbmc/qemu/hw/arm/aspeed_ast2400.c
/openbmc/qemu/hw/arm/aspeed_ast2600.c
/openbmc/qemu/hw/arm/bcm2836.c
/openbmc/qemu/hw/arm/collie.c
/openbmc/qemu/hw/arm/exynos4210.c
/openbmc/qemu/hw/arm/fsl-imx25.c
/openbmc/qemu/hw/arm/fsl-imx31.c
/openbmc/qemu/hw/arm/fsl-imx6.c
/openbmc/qemu/hw/arm/fsl-imx6ul.c
/openbmc/qemu/hw/arm/fsl-imx7.c
/openbmc/qemu/hw/arm/gumstix.c
/openbmc/qemu/hw/arm/highbank.c
/openbmc/qemu/hw/arm/integratorcp.c
/openbmc/qemu/hw/arm/mainstone.c
/openbmc/qemu/hw/arm/meson.build
/openbmc/qemu/hw/arm/musicpal.c
/openbmc/qemu/hw/arm/npcm7xx.c
/openbmc/qemu/hw/arm/nseries.c
/openbmc/qemu/hw/arm/omap1.c
/openbmc/qemu/hw/arm/omap2.c
/openbmc/qemu/hw/arm/omap_sx1.c
/openbmc/qemu/hw/arm/palm.c
/openbmc/qemu/hw/arm/realview.c
/openbmc/qemu/hw/arm/sbsa-ref.c
/openbmc/qemu/hw/arm/smmuv3-internal.h
/openbmc/qemu/hw/arm/spitz.c
/openbmc/qemu/hw/arm/stm32l4x5_soc.c
/openbmc/qemu/hw/arm/strongarm.c
/openbmc/qemu/hw/arm/versatilepb.c
/openbmc/qemu/hw/arm/vexpress.c
/openbmc/qemu/hw/arm/virt-acpi-build.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/arm/xilinx_zynq.c
/openbmc/qemu/hw/arm/xlnx-versal-virt.c
/openbmc/qemu/hw/arm/xlnx-versal.c
/openbmc/qemu/hw/arm/xlnx-zynqmp.c
/openbmc/qemu/hw/arm/z2.c
/openbmc/qemu/hw/block/dataplane/meson.build
/openbmc/qemu/hw/block/pflash_cfi01.c
/openbmc/qemu/hw/block/pflash_cfi02.c
/openbmc/qemu/hw/block/tc58128.c
/openbmc/qemu/hw/block/trace-events
/openbmc/qemu/hw/block/virtio-blk.c
/openbmc/qemu/hw/char/imx_serial.c
/openbmc/qemu/hw/core/cpu-common.c
/openbmc/qemu/hw/cpu/a15mpcore.c
/openbmc/qemu/hw/cpu/a9mpcore.c
/openbmc/qemu/hw/cpu/meson.build
/openbmc/qemu/hw/display/cirrus_vga.c
/openbmc/qemu/hw/display/vga-helpers.h
/openbmc/qemu/hw/display/vga.c
/openbmc/qemu/hw/display/vga_int.h
/openbmc/qemu/hw/display/vga_regs.h
/openbmc/qemu/hw/hppa/machine.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/misc/Kconfig
/openbmc/qemu/hw/misc/meson.build
/openbmc/qemu/hw/misc/stm32l4x5_exti.c
/openbmc/qemu/hw/misc/stm32l4x5_syscfg.c
/openbmc/qemu/hw/misc/trace-events
/openbmc/qemu/hw/misc/xlnx-versal-crl.c
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/pci-host/astro.c
/openbmc/qemu/hw/s390x/s390-pci-bus.c
/openbmc/qemu/hw/s390x/s390-pci-kvm.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/s390x/sclpcpu.c
/openbmc/qemu/hw/scsi/esp-pci.c
/openbmc/qemu/hw/sh4/shix.c
/openbmc/qemu/hw/timer/hpet.c
/openbmc/qemu/hw/timer/trace-events
/openbmc/qemu/hw/vfio/common.c
/openbmc/qemu/include/block/aio.h
/openbmc/qemu/include/block/block-global-state.h
/openbmc/qemu/include/block/block_int-common.h
/openbmc/qemu/include/block/block_int-global-state.h
/openbmc/qemu/include/block/raw-aio.h
/openbmc/qemu/include/exec/exec-all.h
/openbmc/qemu/include/exec/translate-all.h
/openbmc/qemu/include/hw/arm/allwinner-r40.h
/openbmc/qemu/include/hw/arm/fsl-imx6.h
/openbmc/qemu/include/hw/arm/fsl-imx6ul.h
/openbmc/qemu/include/hw/arm/stm32l4x5_soc.h
/openbmc/qemu/include/hw/arm/xlnx-versal.h
/openbmc/qemu/include/hw/char/imx_serial.h
/openbmc/qemu/include/hw/elf_ops.h
/openbmc/qemu/include/hw/intc/armv7m_nvic.h
/openbmc/qemu/include/hw/misc/stm32l4x5_exti.h
/openbmc/qemu/include/hw/misc/stm32l4x5_syscfg.h
/openbmc/qemu/include/hw/misc/xlnx-versal-crl.h
/openbmc/qemu/include/hw/s390x/s390-pci-bus.h
/openbmc/qemu/include/hw/virtio/virtio-blk.h
/openbmc/qemu/include/qapi/visitor.h
/openbmc/qemu/include/qemu/bswap.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/include/qemu/uri.h
/openbmc/qemu/include/qemu/yank.h
/openbmc/qemu/include/sysemu/cpu-timers.h
/openbmc/qemu/include/sysemu/kvm_int.h
/openbmc/qemu/include/sysemu/replay.h
/openbmc/qemu/linux-headers/asm-loongarch/kvm.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/riscv/vdso-32.so
/openbmc/qemu/linux-user/riscv/vdso-64.so
/openbmc/qemu/linux-user/riscv/vdso.S
/openbmc/qemu/linux-user/signal.c
/openbmc/qemu/meson.build
postcopy-ram.c
/openbmc/qemu/monitor/qmp.c
/openbmc/qemu/pc-bios/hppa-firmware.img
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/char.json
/openbmc/qemu/qapi/introspect.json
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/misc-target.json
/openbmc/qemu/qapi/misc.json
/openbmc/qemu/qapi/net.json
/openbmc/qemu/qapi/qapi-util.c
/openbmc/qemu/qapi/qdev.json
/openbmc/qemu/qapi/qmp-dispatch.c
/openbmc/qemu/qapi/qom.json
/openbmc/qemu/qapi/run-state.json
/openbmc/qemu/qapi/string-output-visitor.c
/openbmc/qemu/qapi/yank.json
/openbmc/qemu/qemu-img-cmds.hx
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/roms/seabios-hppa
/openbmc/qemu/scripts/qapi/parser.py
/openbmc/qemu/stubs/icount.c
/openbmc/qemu/subprojects/libvhost-user/libvhost-user.c
/openbmc/qemu/system/cpu-timers.c
/openbmc/qemu/system/runstate.c
/openbmc/qemu/system/vl.c
/openbmc/qemu/system/watchpoint.c
/openbmc/qemu/target/alpha/clk_helper.c
/openbmc/qemu/target/alpha/meson.build
/openbmc/qemu/target/alpha/sys_helper.c
/openbmc/qemu/target/arm/arm-powerctl.c
/openbmc/qemu/target/arm/cpregs.h
/openbmc/qemu/target/arm/cpu-features.h
/openbmc/qemu/target/arm/cpu-qom.h
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/gtimer.h
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/hvf/hvf.c
/openbmc/qemu/target/arm/kvm.c
/openbmc/qemu/target/arm/machine.c
/openbmc/qemu/target/arm/multiprocessing.h
/openbmc/qemu/target/arm/ptw.c
/openbmc/qemu/target/arm/tcg/psci.c
/openbmc/qemu/target/arm/tcg/tlb_helper.c
/openbmc/qemu/target/arm/tcg/translate-a64.c
/openbmc/qemu/target/hexagon/README
/openbmc/qemu/target/hexagon/attribs_def.h.inc
/openbmc/qemu/target/hexagon/decode.c
/openbmc/qemu/target/hexagon/decode.h
/openbmc/qemu/target/hexagon/gen_analyze_funcs.py
/openbmc/qemu/target/hexagon/gen_decodetree.py
/openbmc/qemu/target/hexagon/gen_dectree_import.c
/openbmc/qemu/target/hexagon/gen_helper_funcs.py
/openbmc/qemu/target/hexagon/gen_helper_protos.py
/openbmc/qemu/target/hexagon/gen_idef_parser_funcs.py
/openbmc/qemu/target/hexagon/gen_op_regs.py
/openbmc/qemu/target/hexagon/gen_tcg.h
/openbmc/qemu/target/hexagon/gen_tcg_funcs.py
/openbmc/qemu/target/hexagon/gen_trans_funcs.py
/openbmc/qemu/target/hexagon/hex_common.py
/openbmc/qemu/target/hexagon/idef-parser/parser-helpers.c
/openbmc/qemu/target/hexagon/macros.h
/openbmc/qemu/target/hexagon/meson.build
/openbmc/qemu/target/hexagon/mmvec/decode_ext_mmvec.c
/openbmc/qemu/target/hexagon/opcodes.c
/openbmc/qemu/target/hexagon/opcodes.h
/openbmc/qemu/target/hexagon/translate.c
/openbmc/qemu/target/hppa/cpu.c
/openbmc/qemu/target/hppa/cpu.h
/openbmc/qemu/target/hppa/mem_helper.c
/openbmc/qemu/target/hppa/op_helper.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/sev.c
/openbmc/qemu/target/i386/tcg/tcg-cpu.c
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/loongarch/kvm/kvm.c
/openbmc/qemu/target/riscv/tcg/tcg-cpu.c
/openbmc/qemu/target/xtensa/cpu.c
/openbmc/qemu/target/xtensa/cpu.h
/openbmc/qemu/target/xtensa/dbg_helper.c
/openbmc/qemu/target/xtensa/helper.c
/openbmc/qemu/target/xtensa/mmu_helper.c
/openbmc/qemu/target/xtensa/translate.c
/openbmc/qemu/tcg/arm/tcg-target.c.inc
/openbmc/qemu/tcg/region.c
/openbmc/qemu/tcg/s390x/tcg-target.c.inc
/openbmc/qemu/tests/avocado/acpi-bits.py
/openbmc/qemu/tests/docker/dockerfiles/debian-hexagon-cross.docker
/openbmc/qemu/tests/qemu-iotests/060.out
/openbmc/qemu/tests/qemu-iotests/071.out
/openbmc/qemu/tests/qemu-iotests/081.out
/openbmc/qemu/tests/qemu-iotests/087.out
/openbmc/qemu/tests/qemu-iotests/108.out
/openbmc/qemu/tests/qemu-iotests/109
/openbmc/qemu/tests/qemu-iotests/109.out
/openbmc/qemu/tests/qemu-iotests/117.out
/openbmc/qemu/tests/qemu-iotests/120.out
/openbmc/qemu/tests/qemu-iotests/127.out
/openbmc/qemu/tests/qemu-iotests/140.out
/openbmc/qemu/tests/qemu-iotests/141
/openbmc/qemu/tests/qemu-iotests/141.out
/openbmc/qemu/tests/qemu-iotests/143.out
/openbmc/qemu/tests/qemu-iotests/156.out
/openbmc/qemu/tests/qemu-iotests/176.out
/openbmc/qemu/tests/qemu-iotests/182.out
/openbmc/qemu/tests/qemu-iotests/183.out
/openbmc/qemu/tests/qemu-iotests/184.out
/openbmc/qemu/tests/qemu-iotests/185
/openbmc/qemu/tests/qemu-iotests/185.out
/openbmc/qemu/tests/qemu-iotests/191.out
/openbmc/qemu/tests/qemu-iotests/195.out
/openbmc/qemu/tests/qemu-iotests/223.out
/openbmc/qemu/tests/qemu-iotests/227.out
/openbmc/qemu/tests/qemu-iotests/234.out
/openbmc/qemu/tests/qemu-iotests/247.out
/openbmc/qemu/tests/qemu-iotests/262.out
/openbmc/qemu/tests/qemu-iotests/264
/openbmc/qemu/tests/qemu-iotests/273.out
/openbmc/qemu/tests/qemu-iotests/277
/openbmc/qemu/tests/qemu-iotests/280.out
/openbmc/qemu/tests/qemu-iotests/308
/openbmc/qemu/tests/qemu-iotests/308.out
/openbmc/qemu/tests/qemu-iotests/iotests.py
/openbmc/qemu/tests/qemu-iotests/tests/file-io-error
/openbmc/qemu/tests/qemu-iotests/tests/iothreads-resize.out
/openbmc/qemu/tests/qemu-iotests/tests/iothreads-stream
/openbmc/qemu/tests/qemu-iotests/tests/qsd-jobs.out
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/npcm7xx_watchdog_timer-test.c
/openbmc/qemu/tests/qtest/stm32l4x5_exti-test.c
/openbmc/qemu/tests/qtest/stm32l4x5_syscfg-test.c
/openbmc/qemu/tests/qtest/test-hmp.c
/openbmc/qemu/tests/tcg/aarch64/system/vtimer.c
/openbmc/qemu/tests/tcg/xtensa/test_break.S
/openbmc/qemu/tests/unit/meson.build
/openbmc/qemu/tests/unit/test-bdrv-drain.c
/openbmc/qemu/tests/unit/test-iov.c
/openbmc/qemu/tests/vm/netbsd
/openbmc/qemu/util/async.c
/openbmc/qemu/util/coroutine-ucontext.c
/openbmc/qemu/util/fdmon-io_uring.c
/openbmc/qemu/util/uri.c
/openbmc/qemu/util/yank.c
44ce1b5d11-Jan-2024 Nick Briggs <nicholas.h.briggs@gmail.com>

migration/rdma: define htonll/ntohll only if not predefined

Solaris has #defines for htonll and ntohll which cause syntax errors
when compiling code that attempts to (re)define these functions..

Si

migration/rdma: define htonll/ntohll only if not predefined

Solaris has #defines for htonll and ntohll which cause syntax errors
when compiling code that attempts to (re)define these functions..

Signed-off-by: Nick Briggs <nicholas.h.briggs@gmail.com>
Link: https://lore.kernel.org/r/65a04a7d.497ab3.3e7bef1f@gateway.sonic.net
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

e3b8ad5c04-Jan-2024 Fabiano Rosas <farosas@suse.de>

migration: Report error in incoming migration

We're not currently reporting the errors set with migrate_set_error()
when incoming migration fails.

Signed-off-by: Fabiano Rosas <farosas@suse.de>
Rev

migration: Report error in incoming migration

We're not currently reporting the errors set with migrate_set_error()
when incoming migration fails.

Signed-off-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Peter Xu <peterx@redhat.com>
Link: https://lore.kernel.org/r/20240104142144.9680-5-farosas@suse.de
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

6074f81604-Jan-2024 Fabiano Rosas <farosas@suse.de>

migration/multifd: Change multifd_pages_init argument

The 'size' argument is actually the number of pages that fit in a
multifd packet. Change it to uint32_t and rename.

Signed-off-by: Fabiano Rosa

migration/multifd: Change multifd_pages_init argument

The 'size' argument is actually the number of pages that fit in a
multifd packet. Change it to uint32_t and rename.

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

show more ...

9346fa1804-Jan-2024 Fabiano Rosas <farosas@suse.de>

migration/multifd: Remove QEMUFile from where it is not needed

Signed-off-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Peter Xu <peterx@redhat.com>
Link: https://lore.kernel.org/r/20240104142144

migration/multifd: Remove QEMUFile from where it is not needed

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

show more ...

dca1bc7f04-Jan-2024 Fabiano Rosas <farosas@suse.de>

migration/multifd: Remove MultiFDPages_t::packet_num

This was introduced by commit 34c55a94b1 ("migration: Create multipage
support") and never used.

Signed-off-by: Fabiano Rosas <farosas@suse.de>

migration/multifd: Remove MultiFDPages_t::packet_num

This was introduced by commit 34c55a94b1 ("migration: Create multipage
support") and never used.

Signed-off-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Peter Xu <peterx@redhat.com>
Link: https://lore.kernel.org/r/20240104142144.9680-2-farosas@suse.de
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

0770ad4305-Dec-2023 Het Gala <het.gala@nutanix.com>

migration: Simplify initial conditionals in migration for better readability

The inital conditional statements in qmp migration functions is harder
to understand than necessary. It is better to get

migration: Simplify initial conditionals in migration for better readability

The inital conditional statements in qmp migration functions is harder
to understand than necessary. It is better to get all errors out of
the way in the beginning itself to have better readability and error
handling.

Signed-off-by: Het Gala <het.gala@nutanix.com>
Suggested-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20231205080039.197615-1-het.gala@nutanix.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...


/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.readthedocs.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/tcg/tcg-accel-ops-rr.c
/openbmc/qemu/chardev/char-fe.c
/openbmc/qemu/chardev/char.c
/openbmc/qemu/configs/devices/arm-softmmu/default.mak
/openbmc/qemu/disas/riscv.c
/openbmc/qemu/docs/devel/multi-thread-tcg.rst
/openbmc/qemu/docs/devel/multiple-iothreads.txt
/openbmc/qemu/docs/devel/qapi-code-gen.rst
/openbmc/qemu/docs/devel/replay.rst
/openbmc/qemu/docs/requirements.txt
/openbmc/qemu/docs/system/arm/b-l475e-iot01a.rst
/openbmc/qemu/docs/system/arm/emulation.rst
/openbmc/qemu/docs/system/arm/stm32.rst
/openbmc/qemu/docs/system/riscv/sifive_u.rst
/openbmc/qemu/docs/system/riscv/virt.rst
/openbmc/qemu/docs/system/target-arm.rst
/openbmc/qemu/hw/arm/Kconfig
/openbmc/qemu/hw/arm/armv7m.c
/openbmc/qemu/hw/arm/b-l475e-iot01a.c
/openbmc/qemu/hw/arm/fsl-imx6.c
/openbmc/qemu/hw/arm/meson.build
/openbmc/qemu/hw/arm/msf2-som.c
/openbmc/qemu/hw/arm/netduino2.c
/openbmc/qemu/hw/arm/netduinoplus2.c
/openbmc/qemu/hw/arm/olimex-stm32-h405.c
/openbmc/qemu/hw/arm/stellaris.c
/openbmc/qemu/hw/arm/stm32f100_soc.c
/openbmc/qemu/hw/arm/stm32f205_soc.c
/openbmc/qemu/hw/arm/stm32f405_soc.c
/openbmc/qemu/hw/arm/stm32l4x5_soc.c
/openbmc/qemu/hw/arm/stm32vldiscovery.c
/openbmc/qemu/hw/arm/virt-acpi-build.c
/openbmc/qemu/hw/block/dataplane/virtio-blk.c
/openbmc/qemu/hw/block/virtio-blk.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/i386/acpi-microvm.c
/openbmc/qemu/hw/intc/arm_gicv3_cpuif.c
/openbmc/qemu/hw/intc/armv7m_nvic.c
/openbmc/qemu/hw/intc/loongarch_extioi.c
/openbmc/qemu/hw/intc/loongarch_ipi.c
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/m68k/q800.c
/openbmc/qemu/hw/nvram/fw_cfg-acpi.c
/openbmc/qemu/hw/nvram/meson.build
/openbmc/qemu/hw/pci-host/gpex-acpi.c
/openbmc/qemu/hw/pci-host/gpex.c
/openbmc/qemu/hw/riscv/Kconfig
/openbmc/qemu/hw/riscv/virt-acpi-build.c
/openbmc/qemu/hw/riscv/virt.c
/openbmc/qemu/hw/s390x/ipl.c
/openbmc/qemu/hw/s390x/ipl.h
/openbmc/qemu/hw/s390x/s390-ccw.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/scsi/virtio-scsi-dataplane.c
/openbmc/qemu/hw/virtio/meson.build
/openbmc/qemu/hw/virtio/virtio-acpi.c
/openbmc/qemu/include/block/blockjob.h
/openbmc/qemu/include/chardev/char-fe.h
/openbmc/qemu/include/hw/arm/armv7m.h
/openbmc/qemu/include/hw/arm/stm32l4x5_soc.h
/openbmc/qemu/include/hw/intc/loongarch_extioi.h
/openbmc/qemu/include/hw/intc/loongarch_ipi.h
/openbmc/qemu/include/hw/loongarch/virt.h
/openbmc/qemu/include/hw/m68k/q800.h
/openbmc/qemu/include/hw/nvram/fw_cfg_acpi.h
/openbmc/qemu/include/hw/pci-host/gpex.h
/openbmc/qemu/include/hw/riscv/virt.h
/openbmc/qemu/include/hw/virtio/virtio-acpi.h
/openbmc/qemu/include/io/task.h
/openbmc/qemu/include/qemu/coroutine-core.h
/openbmc/qemu/include/qemu/coroutine.h
/openbmc/qemu/include/qemu/fifo8.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/include/standard-headers/drm/drm_fourcc.h
/openbmc/qemu/include/standard-headers/linux/fuse.h
/openbmc/qemu/include/standard-headers/linux/pci_regs.h
/openbmc/qemu/include/standard-headers/linux/vhost_types.h
/openbmc/qemu/include/standard-headers/linux/virtio_config.h
/openbmc/qemu/include/standard-headers/linux/virtio_pci.h
/openbmc/qemu/include/sysemu/replay.h
/openbmc/qemu/linux-headers/asm-arm64/kvm.h
/openbmc/qemu/linux-headers/asm-generic/unistd.h
/openbmc/qemu/linux-headers/asm-loongarch/bitsperlong.h
/openbmc/qemu/linux-headers/asm-loongarch/kvm.h
/openbmc/qemu/linux-headers/asm-loongarch/mman.h
/openbmc/qemu/linux-headers/asm-loongarch/unistd.h
/openbmc/qemu/linux-headers/asm-mips/unistd_n32.h
/openbmc/qemu/linux-headers/asm-mips/unistd_n64.h
/openbmc/qemu/linux-headers/asm-mips/unistd_o32.h
/openbmc/qemu/linux-headers/asm-powerpc/unistd_32.h
/openbmc/qemu/linux-headers/asm-powerpc/unistd_64.h
/openbmc/qemu/linux-headers/asm-riscv/kvm.h
/openbmc/qemu/linux-headers/asm-riscv/ptrace.h
/openbmc/qemu/linux-headers/asm-s390/unistd_32.h
/openbmc/qemu/linux-headers/asm-s390/unistd_64.h
/openbmc/qemu/linux-headers/asm-x86/unistd_32.h
/openbmc/qemu/linux-headers/asm-x86/unistd_64.h
/openbmc/qemu/linux-headers/asm-x86/unistd_x32.h
/openbmc/qemu/linux-headers/linux/iommufd.h
/openbmc/qemu/linux-headers/linux/kvm.h
/openbmc/qemu/linux-headers/linux/psp-sev.h
/openbmc/qemu/linux-headers/linux/stddef.h
/openbmc/qemu/linux-headers/linux/userfaultfd.h
/openbmc/qemu/linux-headers/linux/vfio.h
/openbmc/qemu/linux-headers/linux/vhost.h
/openbmc/qemu/meson.build
migration.c
/openbmc/qemu/net/stream.c
/openbmc/qemu/net/tap.c
/openbmc/qemu/pc-bios/edk2-aarch64-code.fd.bz2
/openbmc/qemu/pc-bios/edk2-arm-code.fd.bz2
/openbmc/qemu/pc-bios/edk2-i386-code.fd.bz2
/openbmc/qemu/pc-bios/edk2-i386-secure-code.fd.bz2
/openbmc/qemu/pc-bios/edk2-riscv-code.fd.bz2
/openbmc/qemu/pc-bios/edk2-x86_64-code.fd.bz2
/openbmc/qemu/pc-bios/edk2-x86_64-microvm.fd.bz2
/openbmc/qemu/pc-bios/edk2-x86_64-secure-code.fd.bz2
/openbmc/qemu/pc-bios/opensbi-riscv32-generic-fw_dynamic.bin
/openbmc/qemu/pc-bios/opensbi-riscv64-generic-fw_dynamic.bin
/openbmc/qemu/replay/replay-char.c
/openbmc/qemu/replay/replay-internal.c
/openbmc/qemu/replay/replay-internal.h
/openbmc/qemu/replay/replay-snapshot.c
/openbmc/qemu/replay/replay.c
/openbmc/qemu/roms/edk2
/openbmc/qemu/roms/edk2-build.config
/openbmc/qemu/roms/opensbi
/openbmc/qemu/scripts/checkpatch.pl
/openbmc/qemu/scripts/mtest2make.py
/openbmc/qemu/scripts/replay-dump.py
/openbmc/qemu/scripts/update-linux-headers.sh
/openbmc/qemu/target/arm/cpregs.h
/openbmc/qemu/target/arm/cpu-features.h
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/debug_helper.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/ptw.c
/openbmc/qemu/target/arm/syndrome.h
/openbmc/qemu/target/arm/tcg/cpu64.c
/openbmc/qemu/target/arm/tcg/hflags.c
/openbmc/qemu/target/arm/tcg/op_helper.c
/openbmc/qemu/target/arm/tcg/tlb_helper.c
/openbmc/qemu/target/arm/tcg/translate-a64.c
/openbmc/qemu/target/arm/tcg/translate.h
/openbmc/qemu/target/loongarch/cpu.c
/openbmc/qemu/target/loongarch/cpu.h
/openbmc/qemu/target/loongarch/internals.h
/openbmc/qemu/target/loongarch/kvm/kvm.c
/openbmc/qemu/target/loongarch/kvm/kvm_loongarch.h
/openbmc/qemu/target/loongarch/kvm/meson.build
/openbmc/qemu/target/loongarch/meson.build
/openbmc/qemu/target/loongarch/tcg/iocsr_helper.c
/openbmc/qemu/target/loongarch/trace-events
/openbmc/qemu/target/loongarch/trace.h
/openbmc/qemu/target/riscv/cpu-qom.h
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/cpu_cfg.h
/openbmc/qemu/target/riscv/cpu_helper.c
/openbmc/qemu/target/riscv/csr.c
/openbmc/qemu/target/riscv/insn32.decode
/openbmc/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzacas.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_xthead.c.inc
/openbmc/qemu/target/riscv/kvm/kvm-cpu.c
/openbmc/qemu/target/riscv/pmp.c
/openbmc/qemu/target/riscv/pmp.h
/openbmc/qemu/target/riscv/riscv-qmp-cmds.c
/openbmc/qemu/target/riscv/tcg/tcg-cpu.c
/openbmc/qemu/target/riscv/translate.c
/openbmc/qemu/target/s390x/kvm/pv.c
/openbmc/qemu/target/s390x/kvm/pv.h
/openbmc/qemu/target/s390x/tcg/translate.c
/openbmc/qemu/tcg/i386/tcg-target.c.inc
/openbmc/qemu/tcg/ppc/tcg-target-con-set.h
/openbmc/qemu/tcg/ppc/tcg-target.c.inc
/openbmc/qemu/tcg/tcg.c
/openbmc/qemu/tests/avocado/acpi-bits/bits-tests/smilatency.py2
/openbmc/qemu/tests/avocado/kvm_xen_guest.py
/openbmc/qemu/tests/avocado/machine_microblaze.py
/openbmc/qemu/tests/avocado/replay_kernel.py
/openbmc/qemu/tests/avocado/replay_linux.py
/openbmc/qemu/tests/data/acpi/virt/SSDT.memhp
/openbmc/qemu/tests/fp/meson.build
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/netdev-socket.c
/openbmc/qemu/tests/qtest/virtio-ccw-test.c
/openbmc/qemu/tests/qtest/virtio-net-failover.c
/openbmc/qemu/tests/tcg/s390x/Makefile.target
/openbmc/qemu/tests/tcg/s390x/lae.c
/openbmc/qemu/tests/unit/meson.build
/openbmc/qemu/util/cpuinfo-ppc.c
/openbmc/qemu/util/fifo8.c
a4a411fb02-Jan-2024 Stefan Hajnoczi <stefanha@redhat.com>

Replace "iothread lock" with "BQL" in comments

The term "iothread lock" is obsolete. The APIs use Big QEMU Lock (BQL)
in their names. Update the code comments to use "BQL" instead of
"iothread lock"

Replace "iothread lock" with "BQL" in comments

The term "iothread lock" is obsolete. The APIs use Big QEMU Lock (BQL)
in their names. Update the code comments to use "BQL" instead of
"iothread lock".

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Paul Durrant <paul@xen.org>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Message-id: 20240102153529.486531-5-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...

195801d702-Jan-2024 Stefan Hajnoczi <stefanha@redhat.com>

system/cpus: rename qemu_mutex_lock_iothread() to bql_lock()

The Big QEMU Lock (BQL) has many names and they are confusing. The
actual QemuMutex variable is called qemu_global_mutex but it's commonl

system/cpus: rename qemu_mutex_lock_iothread() to bql_lock()

The Big QEMU Lock (BQL) has many names and they are confusing. The
actual QemuMutex variable is called qemu_global_mutex but it's commonly
referred to as the BQL in discussions and some code comments. The
locking APIs, however, are called qemu_mutex_lock_iothread() and
qemu_mutex_unlock_iothread().

The "iothread" name is historic and comes from when the main thread was
split into into KVM vcpu threads and the "iothread" (now called the main
loop thread). I have contributed to the confusion myself by introducing
a separate --object iothread, a separate concept unrelated to the BQL.

The "iothread" name is no longer appropriate for the BQL. Rename the
locking APIs to:
- void bql_lock(void)
- void bql_unlock(void)
- bool bql_locked(void)

There are more APIs with "iothread" in their names. Subsequent patches
will rename them. There are also comments and documentation that will be
updated in later patches.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Paul Durrant <paul@xen.org>
Acked-by: Fabiano Rosas <farosas@suse.de>
Acked-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Acked-by: Peter Xu <peterx@redhat.com>
Acked-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Acked-by: Hyman Huang <yong.huang@smartx.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-id: 20240102153529.486531-2-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...


/openbmc/qemu/accel/accel-blocker.c
/openbmc/qemu/accel/dummy-cpus.c
/openbmc/qemu/accel/hvf/hvf-accel-ops.c
/openbmc/qemu/accel/kvm/kvm-accel-ops.c
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/cputlb.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-icount.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-mttcg.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-rr.c
/openbmc/qemu/accel/tcg/tcg-accel-ops.c
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/audio/audio.c
/openbmc/qemu/audio/coreaudio.m
/openbmc/qemu/backends/hostmem-epc.c
/openbmc/qemu/backends/hostmem-file.c
/openbmc/qemu/backends/hostmem-memfd.c
/openbmc/qemu/backends/hostmem-ram.c
/openbmc/qemu/backends/hostmem.c
/openbmc/qemu/backends/iommufd.c
/openbmc/qemu/bsd-user/main.c
/openbmc/qemu/chardev/char.c
/openbmc/qemu/cpu-common.c
/openbmc/qemu/cpu-target.c
/openbmc/qemu/docs/system/arm/palm.rst
/openbmc/qemu/docs/system/arm/xscale.rst
/openbmc/qemu/docs/system/devices/can.rst
/openbmc/qemu/dump/dump.c
/openbmc/qemu/hw/arm/armsse.c
/openbmc/qemu/hw/arm/armv7m.c
/openbmc/qemu/hw/arm/aspeed_ast2400.c
/openbmc/qemu/hw/arm/aspeed_ast2600.c
/openbmc/qemu/hw/arm/bananapi_m2u.c
/openbmc/qemu/hw/arm/bcm2836.c
/openbmc/qemu/hw/arm/cubieboard.c
/openbmc/qemu/hw/arm/fsl-imx25.c
/openbmc/qemu/hw/arm/fsl-imx31.c
/openbmc/qemu/hw/arm/fsl-imx6.c
/openbmc/qemu/hw/arm/integratorcp.c
/openbmc/qemu/hw/arm/mps2-tz.c
/openbmc/qemu/hw/arm/mps2.c
/openbmc/qemu/hw/arm/msf2-som.c
/openbmc/qemu/hw/arm/musca.c
/openbmc/qemu/hw/arm/npcm7xx_boards.c
/openbmc/qemu/hw/arm/nrf51_soc.c
/openbmc/qemu/hw/arm/orangepi.c
/openbmc/qemu/hw/arm/sbsa-ref.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/audio/sb16.c
/openbmc/qemu/hw/core/cpu-common.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/cpu/cluster.c
/openbmc/qemu/hw/cpu/core.c
/openbmc/qemu/hw/i386/intel_iommu.c
/openbmc/qemu/hw/i386/kvm/xen_evtchn.c
/openbmc/qemu/hw/i386/kvm/xen_overlay.c
/openbmc/qemu/hw/i386/kvm/xen_xenstore.c
/openbmc/qemu/hw/intc/arm_gicv3_cpuif.c
/openbmc/qemu/hw/intc/s390_flic.c
/openbmc/qemu/hw/m68k/mcf5206.c
/openbmc/qemu/hw/mips/cps.c
/openbmc/qemu/hw/mips/jazz.c
/openbmc/qemu/hw/mips/malta.c
/openbmc/qemu/hw/mips/mipssim.c
/openbmc/qemu/hw/misc/edu.c
/openbmc/qemu/hw/misc/imx6_src.c
/openbmc/qemu/hw/misc/imx7_src.c
/openbmc/qemu/hw/misc/ivshmem.c
/openbmc/qemu/hw/net/cadence_gem.c
/openbmc/qemu/hw/net/can/can_sja1000.c
/openbmc/qemu/hw/net/xen_nic.c
/openbmc/qemu/hw/nvram/nrf51_nvm.c
/openbmc/qemu/hw/pci-host/raven.c
/openbmc/qemu/hw/ppc/e500.c
/openbmc/qemu/hw/ppc/pegasos2.c
/openbmc/qemu/hw/ppc/ppc.c
/openbmc/qemu/hw/ppc/rs6000_mc.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_cpu_core.c
/openbmc/qemu/hw/ppc/spapr_rng.c
/openbmc/qemu/hw/ppc/spapr_softmmu.c
/openbmc/qemu/hw/remote/mpqemu-link.c
/openbmc/qemu/hw/remote/vfio-user-obj.c
/openbmc/qemu/hw/riscv/shakti_c.c
/openbmc/qemu/hw/s390x/s390-skeys.c
/openbmc/qemu/hw/sparc/leon3.c
/openbmc/qemu/hw/sparc/sun4m.c
/openbmc/qemu/hw/sparc64/sun4u.c
/openbmc/qemu/hw/vfio/common.c
/openbmc/qemu/hw/vfio/container-base.c
/openbmc/qemu/hw/vfio/container.c
/openbmc/qemu/hw/vfio/iommufd.c
/openbmc/qemu/hw/vfio/meson.build
/openbmc/qemu/hw/vfio/migration.c
/openbmc/qemu/hw/vfio/pci.c
/openbmc/qemu/hw/vfio/spapr.c
/openbmc/qemu/hw/virtio/virtio-mem.c
/openbmc/qemu/include/block/aio-wait.h
/openbmc/qemu/include/block/aio.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/ppc/xive2_regs.h
/openbmc/qemu/include/hw/vfio/vfio-common.h
/openbmc/qemu/include/hw/vfio/vfio-container-base.h
/openbmc/qemu/include/qemu/main-loop.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/include/qemu/thread.h
/openbmc/qemu/include/sysemu/hostmem.h
/openbmc/qemu/include/sysemu/iommufd.h
/openbmc/qemu/iothread.c
/openbmc/qemu/linux-user/alpha/target_elf.h
/openbmc/qemu/memory_ldst.c.inc
/openbmc/qemu/meson.build
block-dirty-bitmap.c
block.c
colo.c
dirtyrate.c
migration.c
ram.c
/openbmc/qemu/replay/replay-internal.c
/openbmc/qemu/semihosting/console.c
/openbmc/qemu/stubs/iothread-lock.c
/openbmc/qemu/system/cpu-throttle.c
/openbmc/qemu/system/cpus.c
/openbmc/qemu/system/dirtylimit.c
/openbmc/qemu/system/memory.c
/openbmc/qemu/system/physmem.c
/openbmc/qemu/system/runstate.c
/openbmc/qemu/system/vl.c
/openbmc/qemu/system/watchpoint.c
/openbmc/qemu/target/alpha/cpu.c
/openbmc/qemu/target/alpha/cpu.h
/openbmc/qemu/target/arm/arm-powerctl.c
/openbmc/qemu/target/arm/arm-qmp-cmds.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/hvf/hvf.c
/openbmc/qemu/target/arm/kvm.c
/openbmc/qemu/target/arm/ptw.c
/openbmc/qemu/target/arm/tcg/helper-a64.c
/openbmc/qemu/target/arm/tcg/m_helper.c
/openbmc/qemu/target/arm/tcg/op_helper.c
/openbmc/qemu/target/arm/tcg/psci.c
/openbmc/qemu/target/avr/cpu.c
/openbmc/qemu/target/avr/cpu.h
/openbmc/qemu/target/cris/cpu.c
/openbmc/qemu/target/cris/cpu.h
/openbmc/qemu/target/hexagon/cpu.c
/openbmc/qemu/target/hexagon/cpu.h
/openbmc/qemu/target/hppa/cpu.c
/openbmc/qemu/target/hppa/cpu.h
/openbmc/qemu/target/hppa/int_helper.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/hvf/README.md
/openbmc/qemu/target/i386/hvf/hvf.c
/openbmc/qemu/target/i386/kvm/hyperv.c
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/kvm/xen-emu.c
/openbmc/qemu/target/i386/nvmm/nvmm-accel-ops.c
/openbmc/qemu/target/i386/nvmm/nvmm-all.c
/openbmc/qemu/target/i386/tcg/sysemu/fpu_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/misc_helper.c
/openbmc/qemu/target/i386/whpx/whpx-accel-ops.c
/openbmc/qemu/target/i386/whpx/whpx-all.c
/openbmc/qemu/target/loongarch/cpu.c
/openbmc/qemu/target/loongarch/cpu.h
/openbmc/qemu/target/loongarch/loongarch-qmp-cmds.c
/openbmc/qemu/target/loongarch/meson.build
/openbmc/qemu/target/loongarch/tcg/constant_timer.c
/openbmc/qemu/target/loongarch/tcg/csr_helper.c
/openbmc/qemu/target/loongarch/tcg/fpu_helper.c
/openbmc/qemu/target/loongarch/tcg/insn_trans/trans_arith.c.inc
/openbmc/qemu/target/loongarch/tcg/insn_trans/trans_atomic.c.inc
/openbmc/qemu/target/loongarch/tcg/insn_trans/trans_bit.c.inc
/openbmc/qemu/target/loongarch/tcg/insn_trans/trans_branch.c.inc
/openbmc/qemu/target/loongarch/tcg/insn_trans/trans_extra.c.inc
/openbmc/qemu/target/loongarch/tcg/insn_trans/trans_farith.c.inc
/openbmc/qemu/target/loongarch/tcg/insn_trans/trans_fcmp.c.inc
/openbmc/qemu/target/loongarch/tcg/insn_trans/trans_fcnv.c.inc
/openbmc/qemu/target/loongarch/tcg/insn_trans/trans_fmemory.c.inc
/openbmc/qemu/target/loongarch/tcg/insn_trans/trans_fmov.c.inc
/openbmc/qemu/target/loongarch/tcg/insn_trans/trans_memory.c.inc
/openbmc/qemu/target/loongarch/tcg/insn_trans/trans_privileged.c.inc
/openbmc/qemu/target/loongarch/tcg/insn_trans/trans_shift.c.inc
/openbmc/qemu/target/loongarch/tcg/insn_trans/trans_vec.c.inc
/openbmc/qemu/target/loongarch/tcg/iocsr_helper.c
/openbmc/qemu/target/loongarch/tcg/meson.build
/openbmc/qemu/target/loongarch/tcg/op_helper.c
/openbmc/qemu/target/loongarch/tcg/tlb_helper.c
/openbmc/qemu/target/loongarch/tcg/translate.c
/openbmc/qemu/target/loongarch/tcg/vec_helper.c
/openbmc/qemu/target/m68k/cpu.c
/openbmc/qemu/target/m68k/cpu.h
/openbmc/qemu/target/m68k/helper.c
/openbmc/qemu/target/mips/cpu-defs.c.inc
/openbmc/qemu/target/mips/cpu.h
/openbmc/qemu/target/mips/kvm.c
/openbmc/qemu/target/mips/sysemu/mips-qmp-cmds.c
/openbmc/qemu/target/mips/tcg/sysemu/cp0_helper.c
/openbmc/qemu/target/openrisc/cpu.c
/openbmc/qemu/target/openrisc/cpu.h
/openbmc/qemu/target/openrisc/sys_helper.c
/openbmc/qemu/target/ppc/cpu_init.c
/openbmc/qemu/target/ppc/excp_helper.c
/openbmc/qemu/target/ppc/kvm.c
/openbmc/qemu/target/ppc/misc_helper.c
/openbmc/qemu/target/ppc/ppc-qmp-cmds.c
/openbmc/qemu/target/ppc/timebase_helper.c
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/csr.c
/openbmc/qemu/target/riscv/riscv-qmp-cmds.c
/openbmc/qemu/target/rx/cpu.c
/openbmc/qemu/target/rx/cpu.h
/openbmc/qemu/target/s390x/kvm/kvm.c
/openbmc/qemu/target/s390x/tcg/misc_helper.c
/openbmc/qemu/target/sh4/cpu.c
/openbmc/qemu/target/sh4/cpu.h
/openbmc/qemu/target/sparc/cpu.h
/openbmc/qemu/target/sparc/int32_helper.c
/openbmc/qemu/target/sparc/int64_helper.c
/openbmc/qemu/target/sparc/win_helper.c
/openbmc/qemu/target/tricore/cpu.c
/openbmc/qemu/target/tricore/cpu.h
/openbmc/qemu/target/tricore/helper.c
/openbmc/qemu/target/xtensa/cpu.c
/openbmc/qemu/target/xtensa/cpu.h
/openbmc/qemu/target/xtensa/exc_helper.c
/openbmc/qemu/target/xtensa/helper.c
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/ui/spice-core.c
/openbmc/qemu/util/aio-posix.c
/openbmc/qemu/util/aio-win32.c
/openbmc/qemu/util/async.c
/openbmc/qemu/util/main-loop.c
/openbmc/qemu/util/oslib-posix.c
/openbmc/qemu/util/oslib-win32.c
/openbmc/qemu/util/qsp.c
/openbmc/qemu/util/rcu.c
c8193acc05-Jan-2024 Peter Maydell <peter.maydell@linaro.org>

Merge tag 'migration-20240104-pull-request' of https://gitlab.com/peterx/qemu into staging

migration 1st pull for 9.0

- We lost Juan and Leo in the maintainers file
- Steven's suspend state fix
- S

Merge tag 'migration-20240104-pull-request' of https://gitlab.com/peterx/qemu into staging

migration 1st pull for 9.0

- We lost Juan and Leo in the maintainers file
- Steven's suspend state fix
- Steven's fix for coverity on migrate_mode
- Avihai's migration cleanup series

# -----BEGIN PGP SIGNATURE-----
#
# iIgEABYKADAWIQS5GE3CDMRX2s990ak7X8zN86vXBgUCZZY0TxIccGV0ZXJ4QHJl
# ZGhhdC5jb20ACgkQO1/MzfOr1wbSxgEAoM5g3wkc22lpAlRpU+hJUqT9NVOVQSK+
# Fk7XJYTdSgABAKzykA6hAmU5Kj+yVI6jI874SVZbs2FWpFs4osvsKk4D
# =sfuM
# -----END PGP SIGNATURE-----
# gpg: Signature made Thu 04 Jan 2024 04:30:07 GMT
# gpg: using EDDSA key B9184DC20CC457DACF7DD1A93B5FCCCDF3ABD706
# gpg: issuer "peterx@redhat.com"
# gpg: Good signature from "Peter Xu <xzpeter@gmail.com>" [unknown]
# gpg: aka "Peter Xu <peterx@redhat.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: B918 4DC2 0CC4 57DA CF7D D1A9 3B5F CCCD F3AB D706

* tag 'migration-20240104-pull-request' of https://gitlab.com/peterx/qemu: (26 commits)
migration: fix coverity migrate_mode finding
migration/multifd: Remove unnecessary usage of local Error
migration: Remove unnecessary usage of local Error
migration: Fix migration_channel_read_peek() error path
migration/multifd: Remove error_setg() in migration_ioc_process_incoming()
migration/multifd: Fix leaking of Error in TLS error flow
migration/multifd: Simplify multifd_channel_connect() if else statement
migration/multifd: Fix error message in multifd_recv_initial_packet()
migration: Remove errp parameter in migration_fd_process_incoming()
migration: Refactor migration_incoming_setup()
migration: Remove nulling of hostname in migrate_init()
migration: Remove migrate_max_downtime() declaration
tests/qtest: postcopy migration with suspend
tests/qtest: precopy migration with suspend
tests/qtest: option to suspend during migration
tests/qtest: migration events
migration: preserve suspended for bg_migration
migration: preserve suspended for snapshot
migration: preserve suspended runstate
migration: propagate suspended runstate
...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...


/openbmc/qemu/.mailmap
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/accel/tcg/meson.build
/openbmc/qemu/backends/meson.build
/openbmc/qemu/backends/tpm/tpm_emulator.c
/openbmc/qemu/block/meson.build
/openbmc/qemu/bsd-user/meson.build
/openbmc/qemu/chardev/meson.build
/openbmc/qemu/configure
/openbmc/qemu/contrib/ivshmem-client/meson.build
/openbmc/qemu/contrib/ivshmem-server/meson.build
/openbmc/qemu/contrib/vhost-user-blk/meson.build
/openbmc/qemu/contrib/vhost-user-input/meson.build
/openbmc/qemu/contrib/vhost-user-scsi/meson.build
/openbmc/qemu/docs/devel/build-system.rst
/openbmc/qemu/docs/devel/clocks.rst
/openbmc/qemu/docs/devel/kconfig.rst
/openbmc/qemu/docs/devel/migration.rst
/openbmc/qemu/fsdev/meson.build
/openbmc/qemu/gdbstub/meson.build
/openbmc/qemu/hw/9pfs/meson.build
/openbmc/qemu/hw/acpi/meson.build
/openbmc/qemu/hw/cxl/meson.build
/openbmc/qemu/hw/display/meson.build
/openbmc/qemu/hw/i386/sgx-stub.c
/openbmc/qemu/hw/mem/meson.build
/openbmc/qemu/hw/mips/meson.build
/openbmc/qemu/hw/net/meson.build
/openbmc/qemu/hw/pci-bridge/meson.build
/openbmc/qemu/hw/pci/meson.build
/openbmc/qemu/hw/ppc/meson.build
/openbmc/qemu/hw/remote/meson.build
/openbmc/qemu/hw/scsi/esp.c
/openbmc/qemu/hw/smbios/meson.build
/openbmc/qemu/hw/usb/hcd-ehci.c
/openbmc/qemu/hw/usb/meson.build
/openbmc/qemu/hw/usb/redirect.c
/openbmc/qemu/hw/virtio/meson.build
/openbmc/qemu/hw/xen/xen-hvm-common.c
/openbmc/qemu/include/migration/snapshot.h
/openbmc/qemu/include/sysemu/runstate.h
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
channel.c
global_state.c
migration-hmp-cmds.c
migration.c
migration.h
multifd.c
options.c
rdma.c
savevm.c
/openbmc/qemu/net/can/meson.build
/openbmc/qemu/net/meson.build
/openbmc/qemu/plugins/meson.build
/openbmc/qemu/qapi/misc.json
/openbmc/qemu/qapi/run-state.json
/openbmc/qemu/qga/meson.build
/openbmc/qemu/replay/replay-snapshot.c
/openbmc/qemu/scsi/meson.build
/openbmc/qemu/storage-daemon/meson.build
/openbmc/qemu/system/cpu-timers.c
/openbmc/qemu/system/cpus.c
/openbmc/qemu/system/meson.build
/openbmc/qemu/system/runstate.c
/openbmc/qemu/system/vl.c
/openbmc/qemu/target/arm/meson.build
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/tcg/cc_helper.c
/openbmc/qemu/target/i386/tcg/decode-new.c.inc
/openbmc/qemu/target/i386/tcg/decode-new.h
/openbmc/qemu/target/i386/tcg/emit.c.inc
/openbmc/qemu/target/i386/tcg/excp_helper.c
/openbmc/qemu/target/i386/tcg/fpu_helper.c
/openbmc/qemu/target/i386/tcg/helper-tcg.h
/openbmc/qemu/target/i386/tcg/int_helper.c
/openbmc/qemu/target/i386/tcg/misc_helper.c
/openbmc/qemu/target/i386/tcg/seg_helper.c
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/mips/meson.build
/openbmc/qemu/tcg/meson.build
/openbmc/qemu/tests/bench/meson.build
/openbmc/qemu/tests/fp/meson.build
/openbmc/qemu/tests/meson.build
/openbmc/qemu/tests/migration/i386/Makefile
/openbmc/qemu/tests/migration/i386/a-b-bootblock.S
/openbmc/qemu/tests/migration/i386/a-b-bootblock.h
/openbmc/qemu/tests/plugin/meson.build
/openbmc/qemu/tests/qemu-iotests/meson.build
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/migration-helpers.c
/openbmc/qemu/tests/qtest/migration-helpers.h
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/tcg/i386/Makefile.target
/openbmc/qemu/tests/tcg/i386/test-flags.c
/openbmc/qemu/tests/unit/meson.build
/openbmc/qemu/tests/unit/test-vmstate.c
/openbmc/qemu/ui/dbus-display1.xml
/openbmc/qemu/ui/meson.build
/openbmc/qemu/util/fifo8.c
/openbmc/qemu/util/meson.build
b12635ff13-Nov-2023 Steve Sistare <steven.sistare@oracle.com>

migration: fix coverity migrate_mode finding

Coverity diagnoses a possible out-of-range array index here ...

static GSList *migration_blockers[MIG_MODE__MAX];

fill_source_migration_info()

migration: fix coverity migrate_mode finding

Coverity diagnoses a possible out-of-range array index here ...

static GSList *migration_blockers[MIG_MODE__MAX];

fill_source_migration_info() {
GSList *cur_blocker = migration_blockers[migrate_mode()];

... because it does not know that MIG_MODE__MAX will never be returned as
a migration mode. To fix, assert so in migrate_mode().

Fixes: fa3673e497a1 ("migration: per-mode blockers")

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/1699907025-215450-1-git-send-email-steven.sistare@oracle.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

3fc58efa31-Dec-2023 Avihai Horon <avihaih@nvidia.com>

migration/multifd: Remove unnecessary usage of local Error

According to Error API, usage of ERRP_GUARD() or a local Error instead
of errp is needed if errp is passed to void functions, where it is l

migration/multifd: Remove unnecessary usage of local Error

According to Error API, usage of ERRP_GUARD() or a local Error instead
of errp is needed if errp is passed to void functions, where it is later
dereferenced to see if an error occurred.

There are several places in multifd.c that use local Error although it
is not needed. Change these places to use errp directly.

Signed-off-by: Avihai Horon <avihaih@nvidia.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Link: https://lore.kernel.org/r/20231231093016.14204-12-avihaih@nvidia.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

b6f4c0c731-Dec-2023 Avihai Horon <avihaih@nvidia.com>

migration: Remove unnecessary usage of local Error

According to Error API, usage of ERRP_GUARD() or a local Error instead
of errp is needed if errp is passed to void functions, where it is later
der

migration: Remove unnecessary usage of local Error

According to Error API, usage of ERRP_GUARD() or a local Error instead
of errp is needed if errp is passed to void functions, where it is later
dereferenced to see if an error occurred.

There are several places in migration.c that use local Error although it
is not needed. Change these places to use errp directly.

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

show more ...

4f8cf32331-Dec-2023 Avihai Horon <avihaih@nvidia.com>

migration: Fix migration_channel_read_peek() error path

migration_channel_read_peek() calls qio_channel_readv_full() and handles
both cases of return value == 0 and return value < 0 the same way, by

migration: Fix migration_channel_read_peek() error path

migration_channel_read_peek() calls qio_channel_readv_full() and handles
both cases of return value == 0 and return value < 0 the same way, by
calling error_setg() with errp. However, if return value < 0, errp is
already set, so calling error_setg() with errp will lead to an assert.

Fix it by handling these cases separately, calling error_setg() with
errp only in return value == 0 case.

Fixes: 6720c2b32725 ("migration: check magic value for deciding the mapping of channels")
Signed-off-by: Avihai Horon <avihaih@nvidia.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Link: https://lore.kernel.org/r/20231231093016.14204-10-avihaih@nvidia.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

1d3886f831-Dec-2023 Avihai Horon <avihaih@nvidia.com>

migration/multifd: Remove error_setg() in migration_ioc_process_incoming()

If multifd_load_setup() fails in migration_ioc_process_incoming(),
error_setg() is called with errp. This will lead to an a

migration/multifd: Remove error_setg() in migration_ioc_process_incoming()

If multifd_load_setup() fails in migration_ioc_process_incoming(),
error_setg() is called with errp. This will lead to an assert because in
that case errp already contains an error.

Fix it by removing the redundant error_setg().

Fixes: 6720c2b32725 ("migration: check magic value for deciding the mapping of channels")
Signed-off-by: Avihai Horon <avihaih@nvidia.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20231231093016.14204-9-avihaih@nvidia.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

6ae208ce31-Dec-2023 Avihai Horon <avihaih@nvidia.com>

migration/multifd: Fix leaking of Error in TLS error flow

If there is an error in multifd TLS handshake task,
multifd_tls_outgoing_handshake() retrieves the error with
qio_task_propagate_error() but

migration/multifd: Fix leaking of Error in TLS error flow

If there is an error in multifd TLS handshake task,
multifd_tls_outgoing_handshake() retrieves the error with
qio_task_propagate_error() but never frees it.

Fix it by freeing the obtained Error.

In addition, the error is not reported at all, so report it with
migrate_set_error().

Fixes: 29647140157a ("migration/tls: add support for multifd tls-handshake")
Signed-off-by: Avihai Horon <avihaih@nvidia.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20231231093016.14204-8-avihaih@nvidia.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...

1...<<11121314151617181920>>...96