History log of /openbmc/qemu/migration/ (Results 1 – 25 of 2248)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
0098207e15-Oct-2024 Hanna Czenczek <hreitz@redhat.com>

migration: Ensure vmstate_save() sets errp

migration/savevm.c contains some calls to vmstate_save() that are
followed by migrate_set_error() if the integer return value indicates an
error. migrate_

migration: Ensure vmstate_save() sets errp

migration/savevm.c contains some calls to vmstate_save() that are
followed by migrate_set_error() if the integer return value indicates an
error. migrate_set_error() requires that the `Error *` object passed to
it is set. Therefore, vmstate_save() is assumed to always set *errp on
error.

Right now, that assumption is not met: vmstate_save_state_v() (called
internally by vmstate_save()) will not set *errp if
vmstate_subsection_save() or vmsd->post_save() fail. Fix that by adding
an *errp parameter to vmstate_subsection_save(), and by generating a
generic error in case post_save() fails (as is already done for
pre_save()).

Without this patch, qemu will crash after vmstate_subsection_save() or
post_save() have failed inside of a vmstate_save() call (unless
migrate_set_error() then happen to discard the new error because
s->error is already set). This happens e.g. when receiving the state
from a virtio-fs back-end (virtiofsd) fails.

Signed-off-by: Hanna Czenczek <hreitz@redhat.com>
Link: https://lore.kernel.org/r/20241015170437.310358-1-hreitz@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
(cherry picked from commit 37dfcba1a04989830c706f9cbc00450e5d3a7447)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>

show more ...


/openbmc/qemu/.gitlab-ci.d/check-dco.py
/openbmc/qemu/.gitlab-ci.d/check-patch.py
/openbmc/qemu/VERSION
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/kvm/trace-events
/openbmc/qemu/accel/tcg/plugin-gen.c
/openbmc/qemu/block/copy-before-write.c
/openbmc/qemu/block/raw-format.c
/openbmc/qemu/block/reqlist.c
/openbmc/qemu/hw/acpi/acpi_generic_initiator.c
/openbmc/qemu/hw/audio/hda-codec.c
/openbmc/qemu/hw/char/pl011.c
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/intc/arm_gicv3_cpuif.c
/openbmc/qemu/hw/intc/riscv_aplic.c
/openbmc/qemu/hw/intc/sifive_plic.c
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/mips/jazz.c
/openbmc/qemu/hw/ppc/pnv_adu.c
/openbmc/qemu/hw/ppc/pnv_lpc.c
/openbmc/qemu/hw/sd/omap_mmc.c
/openbmc/qemu/hw/sd/sd.c
/openbmc/qemu/hw/sh4/r2d.c
/openbmc/qemu/hw/ssi/pnv_spi.c
/openbmc/qemu/hw/vfio/migration.c
/openbmc/qemu/include/hw/sd/sd.h
/openbmc/qemu/include/sysemu/kvm_int.h
/openbmc/qemu/include/ui/qemu-pixman.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/flatload.c
/openbmc/qemu/linux-user/ppc/signal.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/meson.build
vmstate.c
/openbmc/qemu/net/colo-compare.c
/openbmc/qemu/net/meson.build
/openbmc/qemu/net/net.c
/openbmc/qemu/net/tap-win32.c
/openbmc/qemu/qga/commands-posix.c
/openbmc/qemu/stubs/meson.build
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/ptw.c
/openbmc/qemu/target/arm/tcg/helper-a64.c
/openbmc/qemu/target/arm/tcg/hflags.c
/openbmc/qemu/target/arm/tcg/op_helper.c
/openbmc/qemu/target/arm/tcg/translate-a64.c
/openbmc/qemu/target/arm/tcg/translate.c
/openbmc/qemu/target/arm/tcg/translate.h
/openbmc/qemu/target/arm/tcg/vec_helper.c
/openbmc/qemu/target/arm/vfp_helper.c
/openbmc/qemu/target/i386/tcg/decode-new.c.inc
/openbmc/qemu/target/i386/tcg/seg_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/excp_helper.c
/openbmc/qemu/target/m68k/translate.c
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/misc_helper.c
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/ppc/translate/vsx-impl.c.inc
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/csr.c
/openbmc/qemu/target/riscv/kvm/kvm-cpu.c
/openbmc/qemu/target/riscv/vector_helper.c
/openbmc/qemu/tcg/ppc/tcg-target.c.inc
/openbmc/qemu/tcg/s390x/tcg-target.c.inc
/openbmc/qemu/tcg/tcg-op-gvec.c
/openbmc/qemu/tcg/tcg.c
/openbmc/qemu/tests/data/acpi/disassemle-aml.sh
/openbmc/qemu/tests/docker/dockerfiles/debian-loongarch-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mips64el-cross.docker
/openbmc/qemu/tests/lcitool/mappings.yml
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/qemu-iotests/211.out
/openbmc/qemu/tests/qtest/tpm-tests.c
/openbmc/qemu/tests/tcg/ppc64/Makefile.target
/openbmc/qemu/ui/console.c
/openbmc/qemu/ui/dbus-listener.c
/openbmc/qemu/ui/qemu-pixman.c
/openbmc/qemu/ui/vnc.c
/openbmc/qemu/util/qemu-timer.c
9cd1fd4b28-Aug-2024 Fabiano Rosas <farosas@suse.de>

migration/multifd: Fix p->iov leak in multifd-uadk.c

The send_cleanup() hook should free the p->iov that was allocated at
send_setup(). This was missed because the UADK code is conditional on
the pr

migration/multifd: Fix p->iov leak in multifd-uadk.c

The send_cleanup() hook should free the p->iov that was allocated at
send_setup(). This was missed because the UADK code is conditional on
the presence of the accelerator, so it's not tested by default.

Fixes: 819dd20636 ("migration/multifd: Add UADK initialization")
Reported-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
(cherry picked from commit 405e352d28c24991cacfdebccf67d56c4795cf6e)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>

show more ...

9b42e33b17-Sep-2024 Fabiano Rosas <farosas@suse.de>

migration/multifd: Fix rb->receivedmap cleanup race

Fix a segmentation fault in multifd when rb->receivedmap is cleared
too early.

After commit 5ef7e26bdb ("migration/multifd: solve zero page causi

migration/multifd: Fix rb->receivedmap cleanup race

Fix a segmentation fault in multifd when rb->receivedmap is cleared
too early.

After commit 5ef7e26bdb ("migration/multifd: solve zero page causing
multiple page faults"), multifd started using the rb->receivedmap
bitmap, which belongs to ram.c and is initialized and *freed* from the
ram SaveVMHandlers.

Multifd threads are live until migration_incoming_state_destroy(),
which is called after qemu_loadvm_state_cleanup(), leading to a crash
when accessing rb->receivedmap.

process_incoming_migration_co() ...
qemu_loadvm_state() multifd_nocomp_recv()
qemu_loadvm_state_cleanup() ramblock_recv_bitmap_set_offset()
rb->receivedmap = NULL set_bit_atomic(..., rb->receivedmap)
...
migration_incoming_state_destroy()
multifd_recv_cleanup()
multifd_recv_terminate_threads(NULL)

Move the loadvm cleanup into migration_incoming_state_destroy(), after
multifd_recv_cleanup() to ensure multifd threads have already exited
when rb->receivedmap is cleared.

Adjust the postcopy listen thread comment to indicate that we still
want to skip the cpu synchronization.

CC: qemu-stable@nongnu.org
Fixes: 5ef7e26bdb ("migration/multifd: solve zero page causing multiple page faults")
Signed-off-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20240917185802.15619-3-farosas@suse.de
[peterx: added comment in migration_incoming_state_destroy()]
Signed-off-by: Peter Xu <peterx@redhat.com>
(cherry picked from commit 4ce56229087860805877075ddb29dd44578365a9)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>

show more ...


/openbmc/qemu/.gitlab-ci.d/base.yml
/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/cirrus/build.yml
/openbmc/qemu/.gitlab-ci.d/container-cross.yml
/openbmc/qemu/.gitlab-ci.d/crossbuilds.yml
/openbmc/qemu/.gitlab-ci.d/windows.yml
/openbmc/qemu/VERSION
/openbmc/qemu/blockdev-nbd.c
/openbmc/qemu/bsd-user/mmap.c
/openbmc/qemu/contrib/plugins/Makefile
/openbmc/qemu/crypto/cipher-nettle.c.inc
/openbmc/qemu/crypto/pbkdf-gcrypt.c
/openbmc/qemu/crypto/pbkdf-gnutls.c
/openbmc/qemu/crypto/pbkdf.c
/openbmc/qemu/docs/sphinx/qapidoc.py
/openbmc/qemu/hw/audio/trace-events
/openbmc/qemu/hw/audio/virtio-snd.c
/openbmc/qemu/hw/display/vhost-user-gpu.c
/openbmc/qemu/hw/i386/x86-common.c
/openbmc/qemu/hw/ide/macio.c
/openbmc/qemu/hw/intc/arm_gic.c
/openbmc/qemu/hw/loongarch/acpi-build.c
/openbmc/qemu/hw/net/vhost_net.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/virtio/virtio-pci.c
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/exec/ramlist.h
/openbmc/qemu/include/hw/pci/pci_device.h
/openbmc/qemu/include/hw/ppc/mac_dbdma.h
/openbmc/qemu/linux-user/mmap.c
migration.c
savevm.c
/openbmc/qemu/net/vhost-vdpa.c
/openbmc/qemu/system/memory.c
/openbmc/qemu/system/physmem.c
/openbmc/qemu/system/vl.c
/openbmc/qemu/target/hppa/cpu.h
/openbmc/qemu/target/hppa/helper.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/tcg/cc_helper.c
/openbmc/qemu/target/i386/tcg/cc_helper_template.h.inc
/openbmc/qemu/target/i386/tcg/emit.c.inc
/openbmc/qemu/target/i386/tcg/seg_helper.c
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/tests/docker/dockerfiles/debian-i686-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mipsel-cross.docker
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/qemu-iotests/233.out
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/tcg/x86_64/Makefile.target
/openbmc/qemu/tests/tcg/x86_64/test-2175.c
/openbmc/qemu/ui/sdl2.c
4c10787020-Aug-2024 Peter Maydell <peter.maydell@linaro.org>

migration/multifd: Free MultiFDRecvParams::data

In multifd_recv_setup() we allocate (among other things)
* a MultiFDRecvData struct to multifd_recv_state::data
* a MultiFDRecvData struct to each m

migration/multifd: Free MultiFDRecvParams::data

In multifd_recv_setup() we allocate (among other things)
* a MultiFDRecvData struct to multifd_recv_state::data
* a MultiFDRecvData struct to each multfd_recv_state->params[i].data

(Then during execution we might swap these pointers around.)

But in multifd_recv_cleanup() we free multifd_recv_state->data
in multifd_recv_cleanup_state() but we don't ever free the
multifd_recv_state->params[i].data. This results in a memory
leak reported by LeakSanitizer:

(cd build/asan && \
ASAN_OPTIONS="fast_unwind_on_malloc=0:strip_path_prefix=/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/asan/../../" \
QTEST_QEMU_BINARY=./qemu-system-x86_64 \
./tests/qtest/migration-test --tap -k -p /x86_64/migration/multifd/file/mapped-ram )
[...]
Direct leak of 72 byte(s) in 3 object(s) allocated from:
#0 0x561cc0afcfd8 in __interceptor_calloc (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/asan/qemu-system-x86_64+0x218efd8) (BuildId: be72e086d4e47b172b0a72779972213fd9916466)
#1 0x7f89d37acc50 in g_malloc0 debian/build/deb/../../../glib/gmem.c:161:13
#2 0x561cc1e9c83c in multifd_recv_setup migration/multifd.c:1606:19
#3 0x561cc1e68618 in migration_ioc_process_incoming migration/migration.c:972:9
#4 0x561cc1e3ac59 in migration_channel_process_incoming migration/channel.c:45:9
#5 0x561cc1e4fa0b in file_accept_incoming_migration migration/file.c:132:5
#6 0x561cc30f2c0c in qio_channel_fd_source_dispatch io/channel-watch.c:84:12
#7 0x7f89d37a3c43 in g_main_dispatch debian/build/deb/../../../glib/gmain.c:3419:28
#8 0x7f89d37a3c43 in g_main_context_dispatch debian/build/deb/../../../glib/gmain.c:4137:7
#9 0x561cc3b21659 in glib_pollfds_poll util/main-loop.c:287:9
#10 0x561cc3b1ff93 in os_host_main_loop_wait util/main-loop.c:310:5
#11 0x561cc3b1fb5c in main_loop_wait util/main-loop.c:589:11
#12 0x561cc1da2917 in qemu_main_loop system/runstate.c:801:9
#13 0x561cc3796c1c in qemu_default_main system/main.c:37:14
#14 0x561cc3796c67 in main system/main.c:48:12
#15 0x7f89d163bd8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#16 0x7f89d163be3f in __libc_start_main csu/../csu/libc-start.c:392:3
#17 0x561cc0a79fa4 in _start (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/asan/qemu-system-x86_64+0x210bfa4) (BuildId: be72e086d4e47b172b0a72779972213fd9916466)

Direct leak of 24 byte(s) in 1 object(s) allocated from:
#0 0x561cc0afcfd8 in __interceptor_calloc (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/asan/qemu-system-x86_64+0x218efd8) (BuildId: be72e086d4e47b172b0a72779972213fd9916466)
#1 0x7f89d37acc50 in g_malloc0 debian/build/deb/../../../glib/gmem.c:161:13
#2 0x561cc1e9bed9 in multifd_recv_setup migration/multifd.c:1588:32
#3 0x561cc1e68618 in migration_ioc_process_incoming migration/migration.c:972:9
#4 0x561cc1e3ac59 in migration_channel_process_incoming migration/channel.c:45:9
#5 0x561cc1e4fa0b in file_accept_incoming_migration migration/file.c:132:5
#6 0x561cc30f2c0c in qio_channel_fd_source_dispatch io/channel-watch.c:84:12
#7 0x7f89d37a3c43 in g_main_dispatch debian/build/deb/../../../glib/gmain.c:3419:28
#8 0x7f89d37a3c43 in g_main_context_dispatch debian/build/deb/../../../glib/gmain.c:4137:7
#9 0x561cc3b21659 in glib_pollfds_poll util/main-loop.c:287:9
#10 0x561cc3b1ff93 in os_host_main_loop_wait util/main-loop.c:310:5
#11 0x561cc3b1fb5c in main_loop_wait util/main-loop.c:589:11
#12 0x561cc1da2917 in qemu_main_loop system/runstate.c:801:9
#13 0x561cc3796c1c in qemu_default_main system/main.c:37:14
#14 0x561cc3796c67 in main system/main.c:48:12
#15 0x7f89d163bd8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#16 0x7f89d163be3f in __libc_start_main csu/../csu/libc-start.c:392:3
#17 0x561cc0a79fa4 in _start (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/asan/qemu-system-x86_64+0x210bfa4) (BuildId: be72e086d4e47b172b0a72779972213fd9916466)

SUMMARY: AddressSanitizer: 96 byte(s) leaked in 4 allocation(s).

Free the params[i].data too.

Cc: qemu-stable@nongnu.org
Fixes: d117ed0699d41 ("migration/multifd: Allow receiving pages without packets")
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...

97d2b66d13-Aug-2024 Nicholas Piggin <npiggin@gmail.com>

savevm: Fix load_snapshot error path crash

An error path missed setting *errp, which can cause a NULL deref.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Nicholas Piggin <npiggi

savevm: Fix load_snapshot error path crash

An error path missed setting *errp, which can cause a NULL deref.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Message-Id: <20240813050638.446172-11-npiggin@gmail.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240813202329.1237572-19-alex.bennee@linaro.org>

show more ...


/openbmc/qemu/.gitlab-ci.d/cirrus/freebsd-13.vars
/openbmc/qemu/.gitlab-ci.d/cirrus/macos-13.vars
/openbmc/qemu/.gitlab-ci.d/cirrus/macos-14.vars
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/VERSION
/openbmc/qemu/accel/tcg/tcg-accel-ops-rr.c
/openbmc/qemu/block/blkio.c
/openbmc/qemu/block/block-copy.c
/openbmc/qemu/block/monitor/block-hmp-cmds.c
/openbmc/qemu/block/vvfat.c
/openbmc/qemu/blockdev-nbd.c
/openbmc/qemu/chardev/char.c
/openbmc/qemu/configure
/openbmc/qemu/docs/interop/index.rst
/openbmc/qemu/docs/interop/live-block-operations.rst
/openbmc/qemu/docs/interop/nbd.rst
/openbmc/qemu/docs/interop/parallels.rst
/openbmc/qemu/docs/interop/prl-xml.rst
/openbmc/qemu/docs/specs/index.rst
/openbmc/qemu/docs/specs/pci-ids.rst
/openbmc/qemu/docs/specs/rocker.rst
/openbmc/qemu/gdb-xml/hexagon-core.xml
/openbmc/qemu/hw/arm/virt-acpi-build.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/block/fdc-isa.c
/openbmc/qemu/hw/block/pflash_cfi01.c
/openbmc/qemu/hw/core/ptimer.c
/openbmc/qemu/hw/display/virtio-gpu-gl.c
/openbmc/qemu/hw/ide/atapi.c
/openbmc/qemu/hw/ide/pci.c
/openbmc/qemu/hw/intc/Kconfig
/openbmc/qemu/hw/intc/loongarch_ipi.c
/openbmc/qemu/hw/intc/loongson_ipi.c
/openbmc/qemu/hw/intc/loongson_ipi_common.c
/openbmc/qemu/hw/intc/meson.build
/openbmc/qemu/hw/loongarch/Kconfig
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/misc/stm32l4x5_rcc.c
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/pci-host/gt64120.c
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/sd/sd.c
/openbmc/qemu/hw/sd/sdhci.c
/openbmc/qemu/include/block/graph-lock.h
/openbmc/qemu/include/block/nbd.h
/openbmc/qemu/include/hw/arm/virt.h
/openbmc/qemu/include/hw/intc/loongarch_ipi.h
/openbmc/qemu/include/hw/intc/loongson_ipi.h
/openbmc/qemu/include/hw/intc/loongson_ipi_common.h
/openbmc/qemu/include/hw/loongarch/virt.h
/openbmc/qemu/include/qapi/qmp/qobject.h
/openbmc/qemu/include/qemu/atomic.h
/openbmc/qemu/include/qemu/compiler.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/include/sysemu/replay.h
/openbmc/qemu/include/sysemu/runstate.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/mmap.c
/openbmc/qemu/meson.build
savevm.c
/openbmc/qemu/nbd/server.c
/openbmc/qemu/nbd/trace-events
/openbmc/qemu/net/net.c
/openbmc/qemu/net/tap.c
/openbmc/qemu/pc-bios/opensbi-riscv32-generic-fw_dynamic.bin
/openbmc/qemu/pc-bios/opensbi-riscv64-generic-fw_dynamic.bin
/openbmc/qemu/plugins/meson.build
/openbmc/qemu/po/it.po
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/block-export.json
/openbmc/qemu/qapi/block.json
/openbmc/qemu/qapi/char.json
/openbmc/qemu/qapi/control.json
/openbmc/qemu/qapi/crypto.json
/openbmc/qemu/qapi/cxl.json
/openbmc/qemu/qapi/dump.json
/openbmc/qemu/qapi/ebpf.json
/openbmc/qemu/qapi/introspect.json
/openbmc/qemu/qapi/job.json
/openbmc/qemu/qapi/machine-target.json
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/misc.json
/openbmc/qemu/qapi/net.json
/openbmc/qemu/qapi/pci.json
/openbmc/qemu/qapi/qdev.json
/openbmc/qemu/qapi/qom.json
/openbmc/qemu/qapi/rocker.json
/openbmc/qemu/qapi/run-state.json
/openbmc/qemu/qapi/sockets.json
/openbmc/qemu/qapi/stats.json
/openbmc/qemu/qapi/transaction.json
/openbmc/qemu/qapi/ui.json
/openbmc/qemu/qapi/vfio.json
/openbmc/qemu/qapi/virtio.json
/openbmc/qemu/qemu-nbd.c
/openbmc/qemu/replay/replay.c
/openbmc/qemu/roms/opensbi
/openbmc/qemu/scripts/checkpatch.pl
/openbmc/qemu/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
/openbmc/qemu/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
/openbmc/qemu/scripts/replay-dump.py
/openbmc/qemu/system/async-teardown.c
/openbmc/qemu/system/cpus.c
/openbmc/qemu/system/runstate.c
/openbmc/qemu/system/vl.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/hvf/hvf.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/ptw.c
/openbmc/qemu/target/arm/tcg/helper-a64.c
/openbmc/qemu/target/arm/tcg/helper-a64.h
/openbmc/qemu/target/arm/tcg/hflags.c
/openbmc/qemu/target/arm/tcg/translate-a64.c
/openbmc/qemu/target/arm/tcg/translate.c
/openbmc/qemu/target/arm/tcg/translate.h
/openbmc/qemu/target/hexagon/cpu-qom.h
/openbmc/qemu/target/hexagon/cpu.c
/openbmc/qemu/target/hexagon/gdbstub.c
/openbmc/qemu/target/hexagon/idef-parser/idef-parser.y
/openbmc/qemu/target/hexagon/meson.build
/openbmc/qemu/target/hexagon/op_helper.c
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/sev.c
/openbmc/qemu/target/i386/tcg/access.c
/openbmc/qemu/target/i386/tcg/decode-new.c.inc
/openbmc/qemu/target/i386/tcg/emit.c.inc
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/riscv/insn_trans/trans_rvd.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvf.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvi.c.inc
/openbmc/qemu/target/riscv/pmu.c
/openbmc/qemu/target/s390x/tcg/translate.c
/openbmc/qemu/tcg/ppc/tcg-target.c.inc
/openbmc/qemu/tests/avocado/boot_linux_console.py
/openbmc/qemu/tests/avocado/intel_iommu.py
/openbmc/qemu/tests/avocado/linux_initrd.py
/openbmc/qemu/tests/avocado/machine_aspeed.py
/openbmc/qemu/tests/avocado/machine_mips_malta.py
/openbmc/qemu/tests/avocado/machine_rx_gdbsim.py
/openbmc/qemu/tests/avocado/replay_kernel.py
/openbmc/qemu/tests/avocado/replay_linux.py
/openbmc/qemu/tests/avocado/reverse_debugging.py
/openbmc/qemu/tests/avocado/smmu.py
/openbmc/qemu/tests/docker/dockerfiles/alpine.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-amd64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-arm64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armel-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armhf-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-i686-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mips64el-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mipsel-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-ppc64el-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-s390x-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora.docker
/openbmc/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu2204.docker
/openbmc/qemu/tests/lcitool/projects/qemu.yml
/openbmc/qemu/tests/qemu-iotests/024
/openbmc/qemu/tests/qemu-iotests/024.out
/openbmc/qemu/tests/qemu-iotests/check
/openbmc/qemu/tests/qemu-iotests/fat16.py
/openbmc/qemu/tests/qemu-iotests/testenv.py
/openbmc/qemu/tests/qemu-iotests/tests/vvfat
/openbmc/qemu/tests/qemu-iotests/tests/vvfat.out
/openbmc/qemu/tests/tcg/hexagon/usr.c
/openbmc/qemu/tests/unit/ptimer-test.c
/openbmc/qemu/tests/vm/generated/freebsd.json
/openbmc/qemu/ui/console.c
/openbmc/qemu/util/module.c
/openbmc/qemu/util/oslib-posix.c
0bd5b92801-Aug-2024 Fabiano Rosas <farosas@suse.de>

migration/multifd: Fix multifd_send_setup cleanup when channel creation fails

When a channel fails to create, the code currently just returns. This
is wrong for two reasons:

1) Channel n+1 will not

migration/multifd: Fix multifd_send_setup cleanup when channel creation fails

When a channel fails to create, the code currently just returns. This
is wrong for two reasons:

1) Channel n+1 will not get to initialize it's semaphores, leading to
an assert when terminate_threads tries to post to it:

qemu-system-x86_64: ../util/qemu-thread-posix.c:92:
qemu_mutex_lock_impl: Assertion `mutex->initialized' failed.

2) (theoretical) If channel n-1 already started creation it will
defeat the purpose of the channels_created logic which is in place
to avoid migrate_fd_cleanup() to run while channels are still being
created.

This cannot really happen today because the current failure cases
for multifd_new_send_channel_create() are all synchronous,
resulting from qio_channel_file_new_path() getting a bad
filename. This would hit all channels equally.

But I don't want to set a trap for future people, so have all
channels try to create (even if failing), and only fail after the
channels_created semaphore has been posted.

While here, remove the error_report_err call. There's one already at
migrate_fd_cleanup later on.

Cc: qemu-stable@nongnu.org
Reported-by: Jim Fehlig <jfehlig@suse.com>
Fixes: b7b03eb614 ("migration/multifd: Add outgoing QIOChannelFile support")
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...

84ac6fa101-Aug-2024 Fabiano Rosas <farosas@suse.de>

migration: Fix cleanup of iochannel in file migration

The QIOChannelFile object already has its reference decremented by
g_autoptr. Trying to unref an extra time causes:

ERROR:../qom/object.c:1241:

migration: Fix cleanup of iochannel in file migration

The QIOChannelFile object already has its reference decremented by
g_autoptr. Trying to unref an extra time causes:

ERROR:../qom/object.c:1241:object_unref: assertion failed: (obj->ref > 0)

Fixes: a701c03dec ("migration: Drop reference to QIOChannel if file seeking fails")
Fixes: 6d3279655a ("migration: Fix file migration with fdset")
Reported-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...

c80e225127-Jun-2024 Akihiko Odaki <akihiko.odaki@daynix.com>

migration: Free removed SaveStateEntry

This fixes LeakSanitizer warnings.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Ro

migration: Free removed SaveStateEntry

This fixes LeakSanitizer warnings.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...


/openbmc/qemu/.gitlab-ci.d/buildtest-template.yml
/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/cirrus/freebsd-13.vars
/openbmc/qemu/.gitlab-ci.d/crossbuild-template.yml
/openbmc/qemu/.gitlab-ci.d/crossbuilds.yml
/openbmc/qemu/.travis.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/README.rst
/openbmc/qemu/VERSION
/openbmc/qemu/accel/hvf/hvf-accel-ops.c
/openbmc/qemu/accel/hvf/hvf-all.c
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/kvm/kvm-cpus.h
/openbmc/qemu/accel/kvm/trace-events
/openbmc/qemu/accel/qtest/qtest.c
/openbmc/qemu/accel/stubs/tcg-stub.c
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/ldst_common.c.inc
/openbmc/qemu/accel/tcg/plugin-gen.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-rr.c
/openbmc/qemu/accel/tcg/tcg-accel-ops.c
/openbmc/qemu/accel/tcg/user-exec.c
/openbmc/qemu/audio/coreaudio.m
/openbmc/qemu/audio/dbusaudio.c
/openbmc/qemu/audio/trace-events
/openbmc/qemu/backends/Kconfig
/openbmc/qemu/backends/host_iommu_device.c
/openbmc/qemu/backends/hostmem-epc.c
/openbmc/qemu/backends/hostmem-shm.c
/openbmc/qemu/backends/iommufd.c
/openbmc/qemu/backends/meson.build
/openbmc/qemu/backends/rng-random.c
/openbmc/qemu/backends/spdm-socket.c
/openbmc/qemu/backends/trace-events
/openbmc/qemu/block.c
/openbmc/qemu/block/blkdebug.c
/openbmc/qemu/block/blkio.c
/openbmc/qemu/block/blkverify.c
/openbmc/qemu/block/curl.c
/openbmc/qemu/block/file-posix.c
/openbmc/qemu/block/file-win32.c
/openbmc/qemu/block/gluster.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/iscsi.c
/openbmc/qemu/block/meson.build
/openbmc/qemu/block/nbd.c
/openbmc/qemu/block/nfs.c
/openbmc/qemu/block/null.c
/openbmc/qemu/block/nvme.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/rbd.c
/openbmc/qemu/block/ssh.c
/openbmc/qemu/block/vvfat.c
/openbmc/qemu/bsd-user/aarch64/signal.c
/openbmc/qemu/bsd-user/aarch64/target.h
/openbmc/qemu/bsd-user/aarch64/target_arch.h
/openbmc/qemu/bsd-user/aarch64/target_arch_cpu.c
/openbmc/qemu/bsd-user/aarch64/target_arch_cpu.h
/openbmc/qemu/bsd-user/aarch64/target_arch_elf.h
/openbmc/qemu/bsd-user/aarch64/target_arch_reg.h
/openbmc/qemu/bsd-user/aarch64/target_arch_signal.h
/openbmc/qemu/bsd-user/aarch64/target_arch_sigtramp.h
/openbmc/qemu/bsd-user/aarch64/target_arch_sysarch.h
/openbmc/qemu/bsd-user/aarch64/target_arch_thread.h
/openbmc/qemu/bsd-user/aarch64/target_arch_vmparam.h
/openbmc/qemu/bsd-user/aarch64/target_syscall.h
/openbmc/qemu/bsd-user/arm/target_arch_signal.h
/openbmc/qemu/bsd-user/freebsd/os-proc.c
/openbmc/qemu/bsd-user/i386/target_arch_signal.h
/openbmc/qemu/bsd-user/main.c
/openbmc/qemu/bsd-user/qemu.h
/openbmc/qemu/bsd-user/signal.c
/openbmc/qemu/bsd-user/x86_64/target_arch_signal.h
/openbmc/qemu/chardev/char-io.c
/openbmc/qemu/chardev/char-socket.c
/openbmc/qemu/chardev/char-stdio.c
/openbmc/qemu/chardev/char-win-stdio.c
/openbmc/qemu/chardev/msmouse.c
/openbmc/qemu/chardev/trace-events
/openbmc/qemu/configs/targets/aarch64-bsd-user.mak
/openbmc/qemu/configs/targets/aarch64-linux-user.mak
/openbmc/qemu/configs/targets/loongarch64-linux-user.mak
/openbmc/qemu/configs/targets/loongarch64-softmmu.mak
/openbmc/qemu/configs/targets/riscv64-softmmu.mak
/openbmc/qemu/configure
/openbmc/qemu/contrib/plugins/Makefile
/openbmc/qemu/contrib/plugins/cache.c
/openbmc/qemu/contrib/plugins/execlog.c
/openbmc/qemu/contrib/plugins/ips.c
/openbmc/qemu/contrib/plugins/lockstep.c
/openbmc/qemu/contrib/plugins/stoptrigger.c
/openbmc/qemu/contrib/systemd/qemu-vmsr-helper.service
/openbmc/qemu/contrib/systemd/qemu-vmsr-helper.socket
/openbmc/qemu/contrib/vhost-user-blk/vhost-user-blk.c
/openbmc/qemu/contrib/vhost-user-input/main.c
/openbmc/qemu/cpu-common.c
/openbmc/qemu/crypto/block-luks.c
/openbmc/qemu/crypto/init.c
/openbmc/qemu/crypto/tlssession.c
/openbmc/qemu/disas/riscv.c
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/about/emulation.rst
/openbmc/qemu/docs/conf.py
/openbmc/qemu/docs/devel/build-system.rst
/openbmc/qemu/docs/devel/crypto.rst
/openbmc/qemu/docs/devel/index-internals.rst
/openbmc/qemu/docs/devel/luks-detached-header.rst
/openbmc/qemu/docs/devel/migration/postcopy.rst
/openbmc/qemu/docs/devel/qapi-code-gen.rst
/openbmc/qemu/docs/devel/tcg-plugins.rst
/openbmc/qemu/docs/devel/testing.rst
/openbmc/qemu/docs/interop/firmware.json
/openbmc/qemu/docs/interop/qemu-ga.rst
/openbmc/qemu/docs/meson.build
/openbmc/qemu/docs/specs/acpi_hw_reduced_hotplug.rst
/openbmc/qemu/docs/specs/index.rst
/openbmc/qemu/docs/specs/pvpanic.rst
/openbmc/qemu/docs/specs/rapl-msr.rst
/openbmc/qemu/docs/specs/spdm.rst
/openbmc/qemu/docs/sphinx-static/theme_overrides.css
/openbmc/qemu/docs/sphinx/depfile.py
/openbmc/qemu/docs/sphinx/hxtool.py
/openbmc/qemu/docs/sphinx/kerneldoc.py
/openbmc/qemu/docs/sphinx/qapidoc.py
/openbmc/qemu/docs/system/arm/aspeed.rst
/openbmc/qemu/docs/system/arm/emulation.rst
/openbmc/qemu/docs/system/arm/sbsa.rst
/openbmc/qemu/docs/system/arm/virt.rst
/openbmc/qemu/docs/system/arm/xlnx-zynq.rst
/openbmc/qemu/docs/system/devices/cxl.rst
/openbmc/qemu/docs/system/devices/usb.rst
/openbmc/qemu/docs/system/devices/vhost-user.rst
/openbmc/qemu/docs/system/target-arm.rst
/openbmc/qemu/docs/tools/index.rst
/openbmc/qemu/docs/tools/qemu-vmsr-helper.rst
/openbmc/qemu/dump/dump.c
/openbmc/qemu/gdb-xml/aarch64-mte.xml
/openbmc/qemu/gdb-xml/loongarch-lasx.xml
/openbmc/qemu/gdb-xml/loongarch-lsx.xml
/openbmc/qemu/gdbstub/gdbstub.c
/openbmc/qemu/gdbstub/internals.h
/openbmc/qemu/gdbstub/meson.build
/openbmc/qemu/gdbstub/syscalls.c
/openbmc/qemu/gdbstub/system.c
/openbmc/qemu/gdbstub/user-target.c
/openbmc/qemu/gdbstub/user.c
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/host/include/i386/host/bufferiszero.c.inc
/openbmc/qemu/host/include/i386/host/cpuinfo.h
/openbmc/qemu/host/include/riscv/host/cpuinfo.h
/openbmc/qemu/hw/acpi/acpi-cpu-hotplug-stub.c
/openbmc/qemu/hw/acpi/cpu.c
/openbmc/qemu/hw/acpi/generic_event_device.c
/openbmc/qemu/hw/adc/aspeed_adc.c
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast2600.c
/openbmc/qemu/hw/arm/aspeed_ast27x0.c
/openbmc/qemu/hw/arm/aspeed_soc_common.c
/openbmc/qemu/hw/arm/bcm2835_peripherals.c
/openbmc/qemu/hw/arm/bcm2836.c
/openbmc/qemu/hw/arm/mps2-tz.c
/openbmc/qemu/hw/arm/sbsa-ref.c
/openbmc/qemu/hw/arm/smmu-common.c
/openbmc/qemu/hw/arm/smmuv3-internal.h
/openbmc/qemu/hw/arm/smmuv3.c
/openbmc/qemu/hw/arm/stm32l4x5_soc.c
/openbmc/qemu/hw/arm/trace-events
/openbmc/qemu/hw/arm/virt-acpi-build.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/arm/xilinx_zynq.c
/openbmc/qemu/hw/audio/virtio-snd.c
/openbmc/qemu/hw/block/m25p80.c
/openbmc/qemu/hw/block/vhost-user-blk.c
/openbmc/qemu/hw/char/bcm2835_aux.c
/openbmc/qemu/hw/char/goldfish_tty.c
/openbmc/qemu/hw/char/pl011.c
/openbmc/qemu/hw/core/cpu-common.c
/openbmc/qemu/hw/core/loader-fit.c
/openbmc/qemu/hw/core/loader.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/cxl/cxl-events.c
/openbmc/qemu/hw/cxl/cxl-host.c
/openbmc/qemu/hw/cxl/cxl-mailbox-utils.c
/openbmc/qemu/hw/display/ati.c
/openbmc/qemu/hw/display/bcm2835_fb.c
/openbmc/qemu/hw/display/qxl-render.c
/openbmc/qemu/hw/display/vhost-user-gpu.c
/openbmc/qemu/hw/display/virtio-gpu-gl.c
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/display/vmware_vga.c
/openbmc/qemu/hw/gpio/aspeed_gpio.c
/openbmc/qemu/hw/i2c/aspeed_i2c.c
/openbmc/qemu/hw/i2c/mpc_i2c.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/amd_iommu.c
/openbmc/qemu/hw/i386/e820_memory_layout.c
/openbmc/qemu/hw/i386/e820_memory_layout.h
/openbmc/qemu/hw/i386/fw_cfg.c
/openbmc/qemu/hw/i386/fw_cfg.h
/openbmc/qemu/hw/i386/intel_iommu.c
/openbmc/qemu/hw/i386/intel_iommu_internal.h
/openbmc/qemu/hw/i386/microvm.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/pc_q35.c
/openbmc/qemu/hw/i386/sgx-stub.c
/openbmc/qemu/hw/i386/sgx.c
/openbmc/qemu/hw/i386/x86.c
/openbmc/qemu/hw/i386/xen/xen-hvm.c
/openbmc/qemu/hw/ide/macio.c
/openbmc/qemu/hw/intc/apic_common.c
/openbmc/qemu/hw/intc/gic_internal.h
/openbmc/qemu/hw/intc/loongson_ipi.c
/openbmc/qemu/hw/intc/pnv_xive2.c
/openbmc/qemu/hw/intc/pnv_xive2_regs.h
/openbmc/qemu/hw/intc/s390_flic.c
/openbmc/qemu/hw/intc/xive.c
/openbmc/qemu/hw/intc/xive2.c
/openbmc/qemu/hw/isa/vt82c686.c
/openbmc/qemu/hw/loongarch/Kconfig
/openbmc/qemu/hw/loongarch/acpi-build.c
/openbmc/qemu/hw/loongarch/boot.c
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/m68k/virt.c
/openbmc/qemu/hw/mem/cxl_type3.c
/openbmc/qemu/hw/mem/cxl_type3_stubs.c
/openbmc/qemu/hw/mips/fuloong2e.c
/openbmc/qemu/hw/mips/loongson3_virt.c
/openbmc/qemu/hw/misc/aspeed_sdmc.c
/openbmc/qemu/hw/misc/bcm2835_property.c
/openbmc/qemu/hw/misc/bcm2835_thermal.c
/openbmc/qemu/hw/misc/edu.c
/openbmc/qemu/hw/misc/exynos4210_rng.c
/openbmc/qemu/hw/misc/pvpanic-isa.c
/openbmc/qemu/hw/misc/pvpanic-pci.c
/openbmc/qemu/hw/misc/pvpanic.c
/openbmc/qemu/hw/misc/stm32l4x5_exti.c
/openbmc/qemu/hw/misc/zynq_slcr.c
/openbmc/qemu/hw/net/allwinner_emac.c
/openbmc/qemu/hw/net/can/xlnx-versal-canfd.c
/openbmc/qemu/hw/net/ftgmac100.c
/openbmc/qemu/hw/net/rtl8139.c
/openbmc/qemu/hw/net/spapr_llan.c
/openbmc/qemu/hw/net/vhost_net.c
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/nubus/nubus-virtio-mmio.c
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/nvme/nvme.h
/openbmc/qemu/hw/nvme/subsys.c
/openbmc/qemu/hw/nvram/bcm2835_otp.c
/openbmc/qemu/hw/nvram/meson.build
/openbmc/qemu/hw/pci-host/gpex-acpi.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/ppc/Kconfig
/openbmc/qemu/hw/ppc/amigaone.c
/openbmc/qemu/hw/ppc/meson.build
/openbmc/qemu/hw/ppc/pegasos2.c
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/pnv_adu.c
/openbmc/qemu/hw/ppc/pnv_chiptod.c
/openbmc/qemu/hw/ppc/pnv_core.c
/openbmc/qemu/hw/ppc/pnv_lpc.c
/openbmc/qemu/hw/ppc/pnv_xscom.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_caps.c
/openbmc/qemu/hw/ppc/spapr_cpu_core.c
/openbmc/qemu/hw/ppc/spapr_vhyp_mmu.c
/openbmc/qemu/hw/ppc/spapr_vof.c
/openbmc/qemu/hw/ppc/trace-events
/openbmc/qemu/hw/ppc/vof.c
/openbmc/qemu/hw/riscv/virt-acpi-build.c
/openbmc/qemu/hw/riscv/virt.c
/openbmc/qemu/hw/rtc/ls7a_rtc.c
/openbmc/qemu/hw/s390x/ccw-device.c
/openbmc/qemu/hw/s390x/ccw-device.h
/openbmc/qemu/hw/s390x/s390-ccw.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/scsi/esp.c
/openbmc/qemu/hw/scsi/lsi53c895a.c
/openbmc/qemu/hw/scsi/scsi-bus.c
/openbmc/qemu/hw/scsi/vhost-scsi.c
/openbmc/qemu/hw/scsi/vhost-user-scsi.c
/openbmc/qemu/hw/sd/core.c
/openbmc/qemu/hw/sd/meson.build
/openbmc/qemu/hw/sd/npcm7xx_sdhci.c
/openbmc/qemu/hw/sd/sd.c
/openbmc/qemu/hw/sd/sdhci.c
/openbmc/qemu/hw/sd/sdmmc-internal.h
/openbmc/qemu/hw/sd/trace-events
/openbmc/qemu/hw/smbios/smbios.c
/openbmc/qemu/hw/ssi/Kconfig
/openbmc/qemu/hw/ssi/aspeed_smc.c
/openbmc/qemu/hw/ssi/meson.build
/openbmc/qemu/hw/ssi/pnv_spi.c
/openbmc/qemu/hw/ssi/trace-events
/openbmc/qemu/hw/timer/a9gtimer.c
/openbmc/qemu/hw/timer/hpet.c
/openbmc/qemu/hw/timer/trace-events
/openbmc/qemu/hw/ufs/ufs.c
/openbmc/qemu/hw/usb/hcd-dwc2.c
/openbmc/qemu/hw/usb/hcd-ohci.c
/openbmc/qemu/hw/usb/host-libusb.c
/openbmc/qemu/hw/usb/trace-events
/openbmc/qemu/hw/usb/u2f-passthru.c
/openbmc/qemu/hw/vfio/ap.c
/openbmc/qemu/hw/vfio/ccw.c
/openbmc/qemu/hw/vfio/common.c
/openbmc/qemu/hw/vfio/container-base.c
/openbmc/qemu/hw/vfio/container.c
/openbmc/qemu/hw/vfio/display.c
/openbmc/qemu/hw/vfio/helpers.c
/openbmc/qemu/hw/vfio/iommufd.c
/openbmc/qemu/hw/vfio/migration.c
/openbmc/qemu/hw/vfio/pci.c
/openbmc/qemu/hw/vfio/spapr.c
/openbmc/qemu/hw/vfio/trace-events
/openbmc/qemu/hw/virtio/trace-events
/openbmc/qemu/hw/virtio/vhost-user-base.c
/openbmc/qemu/hw/virtio/vhost-user-fs.c
/openbmc/qemu/hw/virtio/vhost-user-vsock.c
/openbmc/qemu/hw/virtio/vhost-user.c
/openbmc/qemu/hw/virtio/vhost-vsock-common.c
/openbmc/qemu/hw/virtio/vhost.c
/openbmc/qemu/hw/virtio/virtio-crypto.c
/openbmc/qemu/hw/virtio/virtio-iommu.c
/openbmc/qemu/hw/virtio/virtio-mem.c
/openbmc/qemu/hw/virtio/virtio-mmio.c
/openbmc/qemu/hw/virtio/virtio-pci.c
/openbmc/qemu/hw/virtio/virtio-rng.c
/openbmc/qemu/hw/virtio/virtio.c
/openbmc/qemu/hw/xen/xen-host-pci-device.c
/openbmc/qemu/hw/xen/xen-host-pci-device.h
/openbmc/qemu/hw/xen/xen-hvm-common.c
/openbmc/qemu/hw/xen/xen-mapcache.c
/openbmc/qemu/hw/xen/xen_pt_load_rom.c
/openbmc/qemu/include/block/block_int-common.h
/openbmc/qemu/include/block/nvme.h
/openbmc/qemu/include/chardev/char-fe.h
/openbmc/qemu/include/crypto/tlssession.h
/openbmc/qemu/include/disas/capstone.h
/openbmc/qemu/include/exec/cpu-common.h
/openbmc/qemu/include/exec/cpu_ldst.h
/openbmc/qemu/include/exec/exec-all.h
/openbmc/qemu/include/exec/gdbstub.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/gdbstub/commands.h
/openbmc/qemu/include/gdbstub/enums.h
/openbmc/qemu/include/hw/acpi/cpu.h
/openbmc/qemu/include/hw/acpi/generic_event_device.h
/openbmc/qemu/include/hw/adc/aspeed_adc.h
/openbmc/qemu/include/hw/arm/aspeed_soc.h
/openbmc/qemu/include/hw/arm/bcm2835_peripherals.h
/openbmc/qemu/include/hw/arm/raspberrypi-fw-defs.h
/openbmc/qemu/include/hw/arm/smmu-common.h
/openbmc/qemu/include/hw/arm/virt.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/core/tcg-cpu-ops.h
/openbmc/qemu/include/hw/cxl/cxl_device.h
/openbmc/qemu/include/hw/cxl/cxl_events.h
/openbmc/qemu/include/hw/cxl/cxl_mailbox.h
/openbmc/qemu/include/hw/gpio/aspeed_gpio.h
/openbmc/qemu/include/hw/i2c/aspeed_i2c.h
/openbmc/qemu/include/hw/i386/intel_iommu.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/i386/sgx-epc.h
/openbmc/qemu/include/hw/intc/loongarch_extioi.h
/openbmc/qemu/include/hw/loader.h
/openbmc/qemu/include/hw/loongarch/virt.h
/openbmc/qemu/include/hw/misc/aspeed_scu.h
/openbmc/qemu/include/hw/misc/bcm2835_property.h
/openbmc/qemu/include/hw/misc/macio/macio.h
/openbmc/qemu/include/hw/misc/pvpanic.h
/openbmc/qemu/include/hw/misc/stm32l4x5_exti.h
/openbmc/qemu/include/hw/misc/xlnx-cfi-if.h
/openbmc/qemu/include/hw/net/ftgmac100.h
/openbmc/qemu/include/hw/nvram/bcm2835_otp.h
/openbmc/qemu/include/hw/pci/pci.h
/openbmc/qemu/include/hw/pci/pci_device.h
/openbmc/qemu/include/hw/pci/pcie_doe.h
/openbmc/qemu/include/hw/ppc/pnv.h
/openbmc/qemu/include/hw/ppc/pnv_adu.h
/openbmc/qemu/include/hw/ppc/pnv_chip.h
/openbmc/qemu/include/hw/ppc/pnv_core.h
/openbmc/qemu/include/hw/ppc/pnv_lpc.h
/openbmc/qemu/include/hw/ppc/pnv_xscom.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/hw/ppc/xive2_regs.h
/openbmc/qemu/include/hw/qdev-core.h
/openbmc/qemu/include/hw/riscv/virt.h
/openbmc/qemu/include/hw/s390x/s390-ccw.h
/openbmc/qemu/include/hw/s390x/s390_flic.h
/openbmc/qemu/include/hw/sd/sd.h
/openbmc/qemu/include/hw/ssi/pnv_spi.h
/openbmc/qemu/include/hw/ssi/pnv_spi_regs.h
/openbmc/qemu/include/hw/vfio/vfio-common.h
/openbmc/qemu/include/hw/vfio/vfio-container-base.h
/openbmc/qemu/include/hw/virtio/vhost-user.h
/openbmc/qemu/include/hw/virtio/vhost.h
/openbmc/qemu/include/hw/virtio/virtio-iommu.h
/openbmc/qemu/include/hw/virtio/virtio-pci.h
/openbmc/qemu/include/hw/virtio/virtio.h
/openbmc/qemu/include/hw/xen/xen.h
/openbmc/qemu/include/io/channel.h
/openbmc/qemu/include/migration/vmstate.h
/openbmc/qemu/include/monitor/hmp.h
/openbmc/qemu/include/qapi/util.h
/openbmc/qemu/include/qemu/atomic.h
/openbmc/qemu/include/qemu/bswap.h
/openbmc/qemu/include/qemu/compiler.h
/openbmc/qemu/include/qemu/fifo8.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/include/qemu/plugin.h
/openbmc/qemu/include/qemu/qemu-plugin.h
/openbmc/qemu/include/qemu/range.h
/openbmc/qemu/include/qemu/timer.h
/openbmc/qemu/include/semihosting/syscalls.h
/openbmc/qemu/include/standard-headers/linux/ethtool.h
/openbmc/qemu/include/standard-headers/linux/pci_regs.h
/openbmc/qemu/include/standard-headers/linux/virtio_bt.h
/openbmc/qemu/include/standard-headers/linux/virtio_mem.h
/openbmc/qemu/include/standard-headers/linux/virtio_net.h
/openbmc/qemu/include/standard-headers/misc/pvpanic.h
/openbmc/qemu/include/sysemu/accel-ops.h
/openbmc/qemu/include/sysemu/cpu-timers.h
/openbmc/qemu/include/sysemu/host_iommu_device.h
/openbmc/qemu/include/sysemu/iommufd.h
/openbmc/qemu/include/sysemu/kvm.h
/openbmc/qemu/include/sysemu/kvm_int.h
/openbmc/qemu/include/sysemu/qtest.h
/openbmc/qemu/include/sysemu/runstate.h
/openbmc/qemu/include/sysemu/spdm-socket.h
/openbmc/qemu/include/ui/console.h
/openbmc/qemu/io/channel-socket.c
/openbmc/qemu/io/channel-tls.c
/openbmc/qemu/io/channel.c
/openbmc/qemu/io/meson.build
/openbmc/qemu/linux-headers/asm-generic/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/kvm.h
/openbmc/qemu/linux-headers/asm-powerpc/unistd_32.h
/openbmc/qemu/linux-headers/asm-powerpc/unistd_64.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/kvm.h
/openbmc/qemu/linux-headers/linux/stddef.h
/openbmc/qemu/linux-user/aarch64/meson.build
/openbmc/qemu/linux-user/aarch64/mte_user_helper.c
/openbmc/qemu/linux-user/aarch64/mte_user_helper.h
/openbmc/qemu/linux-user/aarch64/target_prctl.h
/openbmc/qemu/linux-user/cris/signal.c
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/sparc/signal.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
savevm.c
/openbmc/qemu/monitor/hmp-cmds.c
/openbmc/qemu/net/can/can_host.c
/openbmc/qemu/net/net.c
/openbmc/qemu/net/vhost-vdpa.c
/openbmc/qemu/net/vmnet-bridged.m
/openbmc/qemu/net/vmnet-common.m
/openbmc/qemu/net/vmnet-host.c
/openbmc/qemu/net/vmnet-shared.c
/openbmc/qemu/os-posix.c
/openbmc/qemu/pc-bios/meson.build
/openbmc/qemu/pc-bios/opensbi-riscv32-generic-fw_dynamic.bin
/openbmc/qemu/pc-bios/opensbi-riscv64-generic-fw_dynamic.bin
/openbmc/qemu/pc-bios/s390-ccw/Makefile
/openbmc/qemu/plugins/api.c
/openbmc/qemu/plugins/core.c
/openbmc/qemu/plugins/loader.c
/openbmc/qemu/plugins/meson.build
/openbmc/qemu/plugins/qemu-plugins.symbols
/openbmc/qemu/python/qemu/machine/machine.py
/openbmc/qemu/python/qemu/utils/qemu_ga_client.py
/openbmc/qemu/python/setup.cfg
/openbmc/qemu/pythondeps.toml
/openbmc/qemu/qapi/acpi.json
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/block.json
/openbmc/qemu/qapi/char.json
/openbmc/qemu/qapi/control.json
/openbmc/qemu/qapi/crypto.json
/openbmc/qemu/qapi/cxl.json
/openbmc/qemu/qapi/dump.json
/openbmc/qemu/qapi/introspect.json
/openbmc/qemu/qapi/machine-target.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/pci.json
/openbmc/qemu/qapi/qdev.json
/openbmc/qemu/qapi/qom.json
/openbmc/qemu/qapi/replay.json
/openbmc/qemu/qapi/rocker.json
/openbmc/qemu/qapi/run-state.json
/openbmc/qemu/qapi/sockets.json
/openbmc/qemu/qapi/stats.json
/openbmc/qemu/qapi/tpm.json
/openbmc/qemu/qapi/trace.json
/openbmc/qemu/qapi/transaction.json
/openbmc/qemu/qapi/ui.json
/openbmc/qemu/qapi/vfio.json
/openbmc/qemu/qapi/virtio.json
/openbmc/qemu/qapi/yank.json
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qga/commands-bsd.c
/openbmc/qemu/qga/commands-common.h
/openbmc/qemu/qga/commands-linux.c
/openbmc/qemu/qga/commands-posix.c
/openbmc/qemu/qga/commands-win32.c
/openbmc/qemu/qga/main.c
/openbmc/qemu/qga/qapi-schema.json
/openbmc/qemu/roms/opensbi
/openbmc/qemu/scripts/coverity-scan/COMPONENTS.md
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/scripts/qapi/introspect.py
/openbmc/qemu/scripts/qapi/parser.py
/openbmc/qemu/scripts/qapi/schema.py
/openbmc/qemu/scripts/qapi/visit.py
/openbmc/qemu/semihosting/Kconfig
/openbmc/qemu/storage-daemon/meson.build
/openbmc/qemu/stubs/blk-exp-close-all.c
/openbmc/qemu/stubs/cpus-virtual-clock.c
/openbmc/qemu/stubs/meson.build
/openbmc/qemu/subprojects/libvhost-user/libvhost-user.c
/openbmc/qemu/system/cpus.c
/openbmc/qemu/system/globals.c
/openbmc/qemu/system/memory.c
/openbmc/qemu/system/memory_mapping.c
/openbmc/qemu/system/physmem.c
/openbmc/qemu/system/qtest.c
/openbmc/qemu/system/runstate.c
/openbmc/qemu/system/trace-events
/openbmc/qemu/system/vl.c
/openbmc/qemu/target/alpha/cpu.c
/openbmc/qemu/target/arm/cpu-param.h
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/gdbstub.c
/openbmc/qemu/target/arm/gdbstub64.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/helper.h
/openbmc/qemu/target/arm/hvf/hvf.c
/openbmc/qemu/target/arm/hyp_gdbstub.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/kvm.c
/openbmc/qemu/target/arm/machine.c
/openbmc/qemu/target/arm/tcg/a64.decode
/openbmc/qemu/target/arm/tcg/cpu-v7m.c
/openbmc/qemu/target/arm/tcg/cpu32.c
/openbmc/qemu/target/arm/tcg/cpu64.c
/openbmc/qemu/target/arm/tcg/helper-a64.c
/openbmc/qemu/target/arm/tcg/helper-sme.h
/openbmc/qemu/target/arm/tcg/mte_helper.c
/openbmc/qemu/target/arm/tcg/mte_helper.h
/openbmc/qemu/target/arm/tcg/mve_helper.c
/openbmc/qemu/target/arm/tcg/sme_helper.c
/openbmc/qemu/target/arm/tcg/sve_helper.c
/openbmc/qemu/target/arm/tcg/translate-a32.h
/openbmc/qemu/target/arm/tcg/translate-a64.c
/openbmc/qemu/target/arm/tcg/translate-m-nocp.c
/openbmc/qemu/target/arm/tcg/translate-sme.c
/openbmc/qemu/target/arm/tcg/translate-sve.c
/openbmc/qemu/target/arm/tcg/translate-vfp.c
/openbmc/qemu/target/arm/tcg/translate.h
/openbmc/qemu/target/arm/tcg/vec_helper.c
/openbmc/qemu/target/arm/vfp_helper.c
/openbmc/qemu/target/avr/cpu.c
/openbmc/qemu/target/cris/cpu.c
/openbmc/qemu/target/hexagon/imported/mmvec/ext.idef
/openbmc/qemu/target/hppa/cpu.c
/openbmc/qemu/target/i386/confidential-guest.h
/openbmc/qemu/target/i386/cpu-dump.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/host-cpu.c
/openbmc/qemu/target/i386/hvf/hvf.c
/openbmc/qemu/target/i386/kvm/kvm-cpu.c
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/kvm/meson.build
/openbmc/qemu/target/i386/kvm/vmsr_energy.c
/openbmc/qemu/target/i386/kvm/vmsr_energy.h
/openbmc/qemu/target/i386/kvm/xen-emu.c
/openbmc/qemu/target/i386/sev.c
/openbmc/qemu/target/i386/tcg/cc_helper.c
/openbmc/qemu/target/i386/tcg/decode-new.c.inc
/openbmc/qemu/target/i386/tcg/emit.c.inc
/openbmc/qemu/target/i386/tcg/seg_helper.c
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/i386/trace-events
/openbmc/qemu/target/loongarch/cpu.c
/openbmc/qemu/target/loongarch/gdbstub.c
/openbmc/qemu/target/loongarch/kvm/kvm.c
/openbmc/qemu/target/loongarch/tcg/insn_trans/trans_shift.c.inc
/openbmc/qemu/target/loongarch/tcg/tlb_helper.c
/openbmc/qemu/target/m68k/Kconfig
/openbmc/qemu/target/m68k/cpu.c
/openbmc/qemu/target/m68k/helper.c
/openbmc/qemu/target/m68k/meson.build
/openbmc/qemu/target/m68k/semihosting-stub.c
/openbmc/qemu/target/microblaze/cpu.c
/openbmc/qemu/target/mips/Kconfig
/openbmc/qemu/target/mips/cpu.c
/openbmc/qemu/target/mips/tcg/sysemu/meson.build
/openbmc/qemu/target/mips/tcg/sysemu/semihosting-stub.c
/openbmc/qemu/target/openrisc/cpu.c
/openbmc/qemu/target/ppc/arch_dump.c
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/cpu_init.c
/openbmc/qemu/target/ppc/excp_helper.c
/openbmc/qemu/target/ppc/fpu_helper.c
/openbmc/qemu/target/ppc/helper.h
/openbmc/qemu/target/ppc/insn32.decode
/openbmc/qemu/target/ppc/int_helper.c
/openbmc/qemu/target/ppc/kvm.c
/openbmc/qemu/target/ppc/mem_helper.c
/openbmc/qemu/target/ppc/misc_helper.c
/openbmc/qemu/target/ppc/mmu-book3s-v3.c
/openbmc/qemu/target/ppc/mmu-book3s-v3.h
/openbmc/qemu/target/ppc/mmu-hash32.c
/openbmc/qemu/target/ppc/mmu-hash32.h
/openbmc/qemu/target/ppc/mmu-hash64.c
/openbmc/qemu/target/ppc/mmu-hash64.h
/openbmc/qemu/target/ppc/mmu-radix64.c
/openbmc/qemu/target/ppc/mmu-radix64.h
/openbmc/qemu/target/ppc/mmu_common.c
/openbmc/qemu/target/ppc/timebase_helper.c
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/ppc/translate/vmx-impl.c.inc
/openbmc/qemu/target/ppc/translate/vmx-ops.c.inc
/openbmc/qemu/target/ppc/translate/vsx-impl.c.inc
/openbmc/qemu/target/ppc/translate/vsx-ops.c.inc
/openbmc/qemu/target/riscv/Kconfig
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/cpu_bits.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/debug.c
/openbmc/qemu/target/riscv/fpu_helper.c
/openbmc/qemu/target/riscv/insn16.decode
/openbmc/qemu/target/riscv/insn32.decode
/openbmc/qemu/target/riscv/insn_trans/trans_rva.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvd.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvf.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvi.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzabha.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzacas.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzcmop.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzimop.c.inc
/openbmc/qemu/target/riscv/internals.h
/openbmc/qemu/target/riscv/kvm/kvm-cpu.c
/openbmc/qemu/target/riscv/machine.c
/openbmc/qemu/target/riscv/op_helper.c
/openbmc/qemu/target/riscv/pmu.c
/openbmc/qemu/target/riscv/pmu.h
/openbmc/qemu/target/riscv/tcg/tcg-cpu.c
/openbmc/qemu/target/riscv/translate.c
/openbmc/qemu/target/riscv/vector_helper.c
/openbmc/qemu/target/rx/cpu.c
/openbmc/qemu/target/rx/translate.c
/openbmc/qemu/target/s390x/Kconfig
/openbmc/qemu/target/s390x/arch_dump.c
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/s390x/cpu_models.c
/openbmc/qemu/target/s390x/cpu_models_sysemu.c
/openbmc/qemu/target/s390x/kvm/kvm.c
/openbmc/qemu/target/s390x/tcg/mem_helper.c
/openbmc/qemu/target/sh4/cpu.c
/openbmc/qemu/target/sh4/helper.c
/openbmc/qemu/target/sparc/cpu.c
/openbmc/qemu/target/sparc/ldst_helper.c
/openbmc/qemu/target/tricore/cpu.c
/openbmc/qemu/target/tricore/op_helper.c
/openbmc/qemu/target/xtensa/Kconfig
/openbmc/qemu/target/xtensa/cpu.c
/openbmc/qemu/target/xtensa/exc_helper.c
/openbmc/qemu/target/xtensa/mmu_helper.c
/openbmc/qemu/tcg/i386/tcg-target.h
/openbmc/qemu/tcg/meson.build
/openbmc/qemu/tcg/optimize.c
/openbmc/qemu/tcg/riscv/tcg-target.c.inc
/openbmc/qemu/tcg/riscv/tcg-target.h
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/avocado/avocado_qemu/__init__.py
/openbmc/qemu/tests/avocado/avocado_qemu/linuxtest.py
/openbmc/qemu/tests/avocado/boot_linux.py
/openbmc/qemu/tests/avocado/boot_linux_console.py
/openbmc/qemu/tests/avocado/boot_xen.py
/openbmc/qemu/tests/avocado/hotplug_blk.py
/openbmc/qemu/tests/avocado/hotplug_cpu.py
/openbmc/qemu/tests/avocado/intel_iommu.py
/openbmc/qemu/tests/avocado/machine_aarch64_sbsaref.py
/openbmc/qemu/tests/avocado/machine_aspeed.py
/openbmc/qemu/tests/avocado/mem-addr-space-check.py
/openbmc/qemu/tests/avocado/replay_linux.py
/openbmc/qemu/tests/avocado/smmu.py
/openbmc/qemu/tests/avocado/tcg_plugins.py
/openbmc/qemu/tests/data/acpi/aarch64/virt/APIC
/openbmc/qemu/tests/data/acpi/aarch64/virt/APIC.acpihmatvirt
/openbmc/qemu/tests/data/acpi/aarch64/virt/APIC.topology
/openbmc/qemu/tests/data/acpi/aarch64/virt/DBG2
/openbmc/qemu/tests/data/acpi/aarch64/virt/DSDT
/openbmc/qemu/tests/data/acpi/aarch64/virt/DSDT.acpihmatvirt
/openbmc/qemu/tests/data/acpi/aarch64/virt/DSDT.memhp
/openbmc/qemu/tests/data/acpi/aarch64/virt/DSDT.pxb
/openbmc/qemu/tests/data/acpi/aarch64/virt/DSDT.topology
/openbmc/qemu/tests/data/acpi/aarch64/virt/FACP
/openbmc/qemu/tests/data/acpi/aarch64/virt/GTDT
/openbmc/qemu/tests/data/acpi/aarch64/virt/HMAT.acpihmatvirt
/openbmc/qemu/tests/data/acpi/aarch64/virt/IORT
/openbmc/qemu/tests/data/acpi/aarch64/virt/MCFG
/openbmc/qemu/tests/data/acpi/aarch64/virt/NFIT.memhp
/openbmc/qemu/tests/data/acpi/aarch64/virt/PPTT
/openbmc/qemu/tests/data/acpi/aarch64/virt/PPTT.acpihmatvirt
/openbmc/qemu/tests/data/acpi/aarch64/virt/PPTT.topology
/openbmc/qemu/tests/data/acpi/aarch64/virt/SLIT.memhp
/openbmc/qemu/tests/data/acpi/aarch64/virt/SPCR
/openbmc/qemu/tests/data/acpi/aarch64/virt/SRAT.acpihmatvirt
/openbmc/qemu/tests/data/acpi/aarch64/virt/SRAT.memhp
/openbmc/qemu/tests/data/acpi/aarch64/virt/SRAT.numamem
/openbmc/qemu/tests/data/acpi/aarch64/virt/SSDT.memhp
/openbmc/qemu/tests/data/acpi/aarch64/virt/VIOT
/openbmc/qemu/tests/data/acpi/rebuild-expected-aml.sh
/openbmc/qemu/tests/data/acpi/riscv64/virt/APIC
/openbmc/qemu/tests/data/acpi/riscv64/virt/DSDT
/openbmc/qemu/tests/data/acpi/riscv64/virt/FACP
/openbmc/qemu/tests/data/acpi/riscv64/virt/MCFG
/openbmc/qemu/tests/data/acpi/riscv64/virt/RHCT
/openbmc/qemu/tests/data/acpi/riscv64/virt/SPCR
/openbmc/qemu/tests/data/acpi/x86/microvm/APIC
/openbmc/qemu/tests/data/acpi/x86/microvm/APIC.ioapic2
/openbmc/qemu/tests/data/acpi/x86/microvm/APIC.pcie
/openbmc/qemu/tests/data/acpi/x86/microvm/DSDT
/openbmc/qemu/tests/data/acpi/x86/microvm/DSDT.ioapic2
/openbmc/qemu/tests/data/acpi/x86/microvm/DSDT.pcie
/openbmc/qemu/tests/data/acpi/x86/microvm/DSDT.rtc
/openbmc/qemu/tests/data/acpi/x86/microvm/DSDT.usb
/openbmc/qemu/tests/data/acpi/x86/microvm/ERST.pcie
/openbmc/qemu/tests/data/acpi/x86/microvm/FACP
/openbmc/qemu/tests/data/acpi/x86/pc/APIC
/openbmc/qemu/tests/data/acpi/x86/pc/APIC.acpihmat
/openbmc/qemu/tests/data/acpi/x86/pc/APIC.cphp
/openbmc/qemu/tests/data/acpi/x86/pc/APIC.dimmpxm
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.acpierst
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.bridge
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.cphp
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.hpbridge
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.hpbrroot
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.ipmikcs
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.memhp
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.nohpet
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.numamem
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.roothp
/openbmc/qemu/tests/data/acpi/x86/pc/ERST.acpierst
/openbmc/qemu/tests/data/acpi/x86/pc/FACP
/openbmc/qemu/tests/data/acpi/x86/pc/FACP.nosmm
/openbmc/qemu/tests/data/acpi/x86/pc/FACS
/openbmc/qemu/tests/data/acpi/x86/pc/HMAT.acpihmat
/openbmc/qemu/tests/data/acpi/x86/pc/HPET
/openbmc/qemu/tests/data/acpi/x86/pc/NFIT.dimmpxm
/openbmc/qemu/tests/data/acpi/x86/pc/SLIT.cphp
/openbmc/qemu/tests/data/acpi/x86/pc/SLIT.memhp
/openbmc/qemu/tests/data/acpi/x86/pc/SRAT.acpihmat
/openbmc/qemu/tests/data/acpi/x86/pc/SRAT.cphp
/openbmc/qemu/tests/data/acpi/x86/pc/SRAT.dimmpxm
/openbmc/qemu/tests/data/acpi/x86/pc/SRAT.memhp
/openbmc/qemu/tests/data/acpi/x86/pc/SRAT.numamem
/openbmc/qemu/tests/data/acpi/x86/pc/SSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/x86/pc/WAET
/openbmc/qemu/tests/data/acpi/x86/q35/APIC
/openbmc/qemu/tests/data/acpi/x86/q35/APIC.acpihmat
/openbmc/qemu/tests/data/acpi/x86/q35/APIC.acpihmat-noinitiator
/openbmc/qemu/tests/data/acpi/x86/q35/APIC.core-count
/openbmc/qemu/tests/data/acpi/x86/q35/APIC.core-count2
/openbmc/qemu/tests/data/acpi/x86/q35/APIC.cphp
/openbmc/qemu/tests/data/acpi/x86/q35/APIC.dimmpxm
/openbmc/qemu/tests/data/acpi/x86/q35/APIC.thread-count
/openbmc/qemu/tests/data/acpi/x86/q35/APIC.thread-count2
/openbmc/qemu/tests/data/acpi/x86/q35/APIC.type4-count
/openbmc/qemu/tests/data/acpi/x86/q35/APIC.xapic
/openbmc/qemu/tests/data/acpi/x86/q35/CEDT.cxl
/openbmc/qemu/tests/data/acpi/x86/q35/DMAR.dmar
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.acpierst
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.acpihmat-noinitiator
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.applesmc
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.bridge
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.core-count
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.core-count2
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.cphp
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.cxl
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.ipmibt
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.ipmismbus
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.ivrs
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.memhp
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.mmio64
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.multi-bridge
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.noacpihp
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.nohpet
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.numamem
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.pvpanic-isa
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.thread-count
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.thread-count2
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.tis.tpm12
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.tis.tpm2
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.type4-count
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.viot
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.xapic
/openbmc/qemu/tests/data/acpi/x86/q35/ERST.acpierst
/openbmc/qemu/tests/data/acpi/x86/q35/FACP
/openbmc/qemu/tests/data/acpi/x86/q35/FACP.core-count
/openbmc/qemu/tests/data/acpi/x86/q35/FACP.core-count2
/openbmc/qemu/tests/data/acpi/x86/q35/FACP.nosmm
/openbmc/qemu/tests/data/acpi/x86/q35/FACP.slic
/openbmc/qemu/tests/data/acpi/x86/q35/FACP.thread-count
/openbmc/qemu/tests/data/acpi/x86/q35/FACP.thread-count2
/openbmc/qemu/tests/data/acpi/x86/q35/FACP.type4-count
/openbmc/qemu/tests/data/acpi/x86/q35/FACP.xapic
/openbmc/qemu/tests/data/acpi/x86/q35/FACS
/openbmc/qemu/tests/data/acpi/x86/q35/HMAT.acpihmat
/openbmc/qemu/tests/data/acpi/x86/q35/HMAT.acpihmat-noinitiator
/openbmc/qemu/tests/data/acpi/x86/q35/HPET
/openbmc/qemu/tests/data/acpi/x86/q35/IVRS.ivrs
/openbmc/qemu/tests/data/acpi/x86/q35/MCFG
/openbmc/qemu/tests/data/acpi/x86/q35/NFIT.dimmpxm
/openbmc/qemu/tests/data/acpi/x86/q35/SLIC.slic
/openbmc/qemu/tests/data/acpi/x86/q35/SLIT.cphp
/openbmc/qemu/tests/data/acpi/x86/q35/SLIT.memhp
/openbmc/qemu/tests/data/acpi/x86/q35/SRAT.acpihmat
/openbmc/qemu/tests/data/acpi/x86/q35/SRAT.acpihmat-noinitiator
/openbmc/qemu/tests/data/acpi/x86/q35/SRAT.cphp
/openbmc/qemu/tests/data/acpi/x86/q35/SRAT.dimmpxm
/openbmc/qemu/tests/data/acpi/x86/q35/SRAT.memhp
/openbmc/qemu/tests/data/acpi/x86/q35/SRAT.mmio64
/openbmc/qemu/tests/data/acpi/x86/q35/SRAT.numamem
/openbmc/qemu/tests/data/acpi/x86/q35/SRAT.xapic
/openbmc/qemu/tests/data/acpi/x86/q35/SSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/x86/q35/TCPA.tis.tpm12
/openbmc/qemu/tests/data/acpi/x86/q35/TPM2.tis.tpm2
/openbmc/qemu/tests/data/acpi/x86/q35/VIOT.viot
/openbmc/qemu/tests/data/acpi/x86/q35/WAET
/openbmc/qemu/tests/data/uefi-boot-images/bios-tables-test.riscv64.iso.qcow2
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/dockerfiles/debian-all-test-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-hexagon-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-i686-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-legacy-test-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-loongarch-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-tricore-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-xtensa-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/python.docker
/openbmc/qemu/tests/lcitool/libvirt-ci
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/meson.build
/openbmc/qemu/tests/qapi-schema/doc-empty-section.err
/openbmc/qemu/tests/qapi-schema/doc-empty-section.json
/openbmc/qemu/tests/qapi-schema/doc-good.json
/openbmc/qemu/tests/qapi-schema/doc-good.out
/openbmc/qemu/tests/qapi-schema/doc-good.txt
/openbmc/qemu/tests/qapi-schema/doc-interleaved-section.json
/openbmc/qemu/tests/qemu-iotests/061
/openbmc/qemu/tests/qemu-iotests/061.out
/openbmc/qemu/tests/qemu-iotests/244
/openbmc/qemu/tests/qemu-iotests/245
/openbmc/qemu/tests/qemu-iotests/270
/openbmc/qemu/tests/qemu-iotests/testenv.py
/openbmc/qemu/tests/qemu-iotests/testrunner.py
/openbmc/qemu/tests/qemu-iotests/tests/write-zeroes-unmap
/openbmc/qemu/tests/qemu-iotests/tests/write-zeroes-unmap.out
/openbmc/qemu/tests/qtest/arm-cpu-features.c
/openbmc/qemu/tests/qtest/bios-tables-test.c
/openbmc/qemu/tests/qtest/device-introspect-test.c
/openbmc/qemu/tests/qtest/fuzz/generic_fuzz.c
/openbmc/qemu/tests/qtest/fuzz/qos_fuzz.c
/openbmc/qemu/tests/qtest/libqos/meson.build
/openbmc/qemu/tests/qtest/libqos/sdhci-cmd.h
/openbmc/qemu/tests/qtest/libqtest.c
/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/qtest/npcm7xx_sdhci-test.c
/openbmc/qemu/tests/qtest/pnv-spi-seeprom-test.c
/openbmc/qemu/tests/qtest/pnv-xscom.h
/openbmc/qemu/tests/qtest/pvpanic-pci-test.c
/openbmc/qemu/tests/qtest/pvpanic-test.c
/openbmc/qemu/tests/qtest/qos-test.c
/openbmc/qemu/tests/qtest/stm32l4x5_exti-test.c
/openbmc/qemu/tests/qtest/stm32l4x5_syscfg-test.c
/openbmc/qemu/tests/qtest/vhost-user-blk-test.c
/openbmc/qemu/tests/qtest/vhost-user-test.c
/openbmc/qemu/tests/tcg/Makefile.target
/openbmc/qemu/tests/tcg/README
/openbmc/qemu/tests/tcg/aarch64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/aarch64/Makefile.target
/openbmc/qemu/tests/tcg/aarch64/bti-1.c
/openbmc/qemu/tests/tcg/aarch64/bti-3.c
/openbmc/qemu/tests/tcg/aarch64/fcvt.ref
/openbmc/qemu/tests/tcg/aarch64/gdbstub/test-mte.py
/openbmc/qemu/tests/tcg/aarch64/mte-1.c
/openbmc/qemu/tests/tcg/aarch64/mte-8.c
/openbmc/qemu/tests/tcg/aarch64/sme-fmopa-1.c
/openbmc/qemu/tests/tcg/aarch64/sme-fmopa-2.c
/openbmc/qemu/tests/tcg/aarch64/sme-fmopa-3.c
/openbmc/qemu/tests/tcg/aarch64/test-2375.c
/openbmc/qemu/tests/tcg/alpha/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/arm/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/arm/Makefile.target
/openbmc/qemu/tests/tcg/arm/fcvt.c
/openbmc/qemu/tests/tcg/arm/fcvt.ref
/openbmc/qemu/tests/tcg/i386/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/loongarch64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/minilib/printf.c
/openbmc/qemu/tests/tcg/plugins/bb.c
/openbmc/qemu/tests/tcg/plugins/empty.c
/openbmc/qemu/tests/tcg/plugins/inline.c
/openbmc/qemu/tests/tcg/plugins/insn.c
/openbmc/qemu/tests/tcg/plugins/mem.c
/openbmc/qemu/tests/tcg/plugins/meson.build
/openbmc/qemu/tests/tcg/plugins/syscall.c
/openbmc/qemu/tests/tcg/ppc64/Makefile.target
/openbmc/qemu/tests/tcg/riscv64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/s390x/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/x86_64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/x86_64/Makefile.target
/openbmc/qemu/tests/tcg/x86_64/test-2413.c
/openbmc/qemu/tests/uefi-test-tools/Makefile
/openbmc/qemu/tests/uefi-test-tools/UefiTestToolsPkg/UefiTestToolsPkg.dsc
/openbmc/qemu/tests/uefi-test-tools/uefi-test-build.config
/openbmc/qemu/tests/unit/crypto-tls-psk-helpers.c
/openbmc/qemu/tests/unit/crypto-tls-x509-helpers.c
/openbmc/qemu/tests/unit/crypto-tls-x509-helpers.h
/openbmc/qemu/tests/unit/meson.build
/openbmc/qemu/tests/unit/pkix_asn1_tab.c.inc
/openbmc/qemu/tests/unit/test-crypto-tlssession.c
/openbmc/qemu/tests/vm/generated/freebsd.json
/openbmc/qemu/tests/vm/openbsd
/openbmc/qemu/tools/i386/qemu-vmsr-helper.c
/openbmc/qemu/tools/i386/rapl-msr-index.h
/openbmc/qemu/trace-events
/openbmc/qemu/ui/clipboard.c
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/ui/console-vc.c
/openbmc/qemu/ui/console.c
/openbmc/qemu/ui/cursor.c
/openbmc/qemu/ui/dbus-clipboard.c
/openbmc/qemu/ui/dbus-listener.c
/openbmc/qemu/ui/gtk.c
/openbmc/qemu/ui/meson.build
/openbmc/qemu/ui/sdl2.c
/openbmc/qemu/ui/spice-display.c
/openbmc/qemu/ui/trace-events
/openbmc/qemu/ui/vdagent.c
/openbmc/qemu/ui/vnc.c
/openbmc/qemu/ui/vnc.h
/openbmc/qemu/util/async.c
/openbmc/qemu/util/cpuinfo-aarch64.c
/openbmc/qemu/util/cpuinfo-i386.c
/openbmc/qemu/util/cpuinfo-ppc.c
/openbmc/qemu/util/cpuinfo-riscv.c
/openbmc/qemu/util/fifo8.c
/openbmc/qemu/util/getauxval.c
/openbmc/qemu/util/meson.build
/openbmc/qemu/util/oslib-posix.c
/openbmc/qemu/util/qemu-timer.c
/openbmc/qemu/util/vhost-user-server.c
4146b77e19-Jun-2024 Peter Xu <peterx@redhat.com>

migration/postcopy: Add postcopy-recover-setup phase

This patch adds a migration state on src called "postcopy-recover-setup".
The new state will describe the intermediate step starting from when th

migration/postcopy: Add postcopy-recover-setup phase

This patch adds a migration state on src called "postcopy-recover-setup".
The new state will describe the intermediate step starting from when the
src QEMU received a postcopy recovery request, until the migration channels
are properly established, but before the recovery process take place.

The request came from Libvirt where Libvirt currently rely on the migration
state events to detect migration state changes. That works for most of the
migration process but except postcopy recovery failures at the beginning.

Currently postcopy recovery only has two major states:

- postcopy-paused: this is the state that both sides of QEMU will be in
for a long time as long as the migration channel was interrupted.

- postcopy-recover: this is the state where both sides of QEMU handshake
with each other, preparing for a continuation of postcopy which used to
be interrupted.

The issue here is when the recovery port is invalid, the src QEMU will take
the URI/channels, noticing the ports are not valid, and it'll silently keep
in the postcopy-paused state, with no event sent to Libvirt. In this case,
the only thing Libvirt can do is to poll the migration status with a proper
interval, however that's less optimal.

Considering that this is the only case where Libvirt won't get a
notification from QEMU on such events, let's add postcopy-recover-setup
state to mimic what we have with the "setup" state of a newly initialized
migration, describing the phase of connection establishment.

With that, postcopy recovery will have two paths to go now, and either path
will guarantee an event generated. Now the events will look like this
during a recovery process on src QEMU:

- Initially when the recovery is initiated on src, QEMU will go from
"postcopy-paused" -> "postcopy-recover-setup". Old QEMUs don't have
this event.

- Depending on whether the channel re-establishment is succeeded:

- In succeeded case, src QEMU will move from "postcopy-recover-setup"
to "postcopy-recover". Old QEMUs also have this event.

- In failure case, src QEMU will move from "postcopy-recover-setup" to
"postcopy-paused" again. Old QEMUs don't have this event.

This guarantees that Libvirt will always receive a notification for
recovery process properly.

One thing to mention is, such new status is only needed on src QEMU not
both. On dest QEMU, the state machine doesn't change. Hence the events
don't change either. It's done like so because dest QEMU may not have an
explicit point of setup start. E.g., it can happen that when dest QEMUs
doesn't use migrate-recover command to use a new URI/channel, but the old
URI/channels can be reused in recovery, in which case the old ports simply
can work again after the network routes are fixed up.

Add a new helper postcopy_is_paused() detecting whether postcopy is still
paused, taking RECOVER_SETUP into account too. When using it on both
src/dst, a slight change is done altogether to always wait for the
semaphore before checking the status, because for both sides a sem_post()
will be required for a recovery.

Cc: Jiri Denemark <jdenemar@redhat.com>
Cc: Prasad Pandit <ppandit@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Buglink: https://issues.redhat.com/browse/RHEL-38485
Signed-off-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...

4dd5f7b819-Jun-2024 Peter Xu <peterx@redhat.com>

migration: Cleanup incoming migration setup state change

Destination QEMU can setup incoming ports for two purposes: either a fresh
new incoming migration, in which QEMU will switch to SETUP for cha

migration: Cleanup incoming migration setup state change

Destination QEMU can setup incoming ports for two purposes: either a fresh
new incoming migration, in which QEMU will switch to SETUP for channel
establishment, or a paused postcopy migration, in which QEMU will stay in
POSTCOPY_PAUSED until kicking off the RECOVER phase.

Now the state machine worked on dest node for the latter, only because
migrate_set_state() implicitly will become a noop if the current state
check failed. It wasn't clear at all.

Clean it up by providing a helper migration_incoming_state_setup() doing
proper checks over current status. Postcopy-paused will be explicitly
checked now, and then we can bail out for unknown states.

Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...

a5c24e1319-Jun-2024 Peter Xu <peterx@redhat.com>

migration: Use MigrationStatus instead of int

QEMU uses "int" in most cases even if it stores MigrationStatus. I don't
know why, so let's try to do that right and see what blows up..

Reviewed-by:

migration: Use MigrationStatus instead of int

QEMU uses "int" in most cases even if it stores MigrationStatus. I don't
know why, so let's try to do that right and see what blows up..

Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...

60ce476719-Jun-2024 Peter Xu <peterx@redhat.com>

migration: Rename thread debug names

The postcopy thread names on dest QEMU are slightly confusing, partly I'll
need to blame myself on 36f62f11e4 ("migration: Postcopy preemption
preparation on cha

migration: Rename thread debug names

The postcopy thread names on dest QEMU are slightly confusing, partly I'll
need to blame myself on 36f62f11e4 ("migration: Postcopy preemption
preparation on channel creation"). E.g., "fault-fast" reads like a fast
version of "fault-default", but it's actually the fast version of
"postcopy/listen".

Taking this chance, rename all the migration threads with proper rules.
Considering we only have 15 chars usable, prefix all threads with "mig/",
meanwhile identify src/dst threads properly this time. So now most thread
names will look like "mig/DIR/xxx", where DIR will be "src"/"dst", except
the bg-snapshot thread which doesn't have a direction.

For multifd threads, making them "mig/{src|dst}/{send|recv}_%d".

We used to have "live_migration" thread for a very long time, now it's
called "mig/src/main". We may hope to have "mig/dst/main" soon but not
yet.

Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Zhijian Li (Fujitsu) <lizhijian@fujitsu.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...

637280ae19-Jun-2024 Peter Xu <peterx@redhat.com>

migration/multifd: Avoid the final FLUSH in complete()

We always do the flush when finishing one round of scan, and during
complete() phase we should scan one more round making sure no dirty page
ex

migration/multifd: Avoid the final FLUSH in complete()

We always do the flush when finishing one round of scan, and during
complete() phase we should scan one more round making sure no dirty page
existed. In that case we shouldn't need one explicit FLUSH at the end of
complete(), as when reaching there all pages should have been flushed.

Reviewed-by: Fabiano Rosas <farosas@suse.de>
Tested-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...

9d70239e17-Jun-2024 Fabiano Rosas <farosas@suse.de>

migration/multifd: Add direct-io support

When multifd is used along with mapped-ram, we can take benefit of a
filesystem that supports the O_DIRECT flag and perform direct I/O in
the multifd threads

migration/multifd: Add direct-io support

When multifd is used along with mapped-ram, we can take benefit of a
filesystem that supports the O_DIRECT flag and perform direct I/O in
the multifd threads. This brings a significant performance improvement
because direct-io writes bypass the page cache which would otherwise
be thrashed by the multifd data which is unlikely to be needed again
in a short period of time.

To be able to use a multifd channel opened with O_DIRECT, we must
ensure that a certain aligment is used. Filesystems usually require a
block-size alignment for direct I/O. The way to achieve this is by
enabling the mapped-ram feature, which already aligns its I/O properly
(see MAPPED_RAM_FILE_OFFSET_ALIGNMENT at ram.c).

By setting O_DIRECT on the multifd channels, all writes to the same
file descriptor need to be aligned as well, even the ones that come
from outside multifd, such as the QEMUFile I/O from the main migration
code. This makes it impossible to use the same file descriptor for the
QEMUFile and for the multifd channels. The various flags and metadata
written by the main migration code will always be unaligned by virtue
of their small size. To workaround this issue, we'll require a second
file descriptor to be used exclusively for direct I/O.

The second file descriptor can be obtained by QEMU by re-opening the
migration file (already possible), or by being provided by the user or
management application (support to be added in future patches).

Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...

b43b61d517-Jun-2024 Fabiano Rosas <farosas@suse.de>

migration: Add direct-io parameter

Add the direct-io migration parameter that tells the migration code to
use O_DIRECT when opening the migration stream file whenever possible.

This is currently on

migration: Add direct-io parameter

Add the direct-io migration parameter that tells the migration code to
use O_DIRECT when opening the migration stream file whenever possible.

This is currently only used with the mapped-ram migration that has a
clear window guaranteed to perform aligned writes.

Acked-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...

6d32796517-Jun-2024 Fabiano Rosas <farosas@suse.de>

migration: Fix file migration with fdset

When the "file:" migration support was added we missed the special
case in the qemu_open_old implementation that allows for a particular
file name format to

migration: Fix file migration with fdset

When the "file:" migration support was added we missed the special
case in the qemu_open_old implementation that allows for a particular
file name format to be used to refer to a set of file descriptors that
have been previously provided to QEMU via the add-fd QMP command.

When using this fdset feature, we should not truncate the migration
file because being given an fd means that the management layer is in
control of the file and will likely already have some data written to
it. This is further indicated by the presence of the 'offset'
argument, which indicates the start of the region where QEMU is
allowed to write.

Fix the issue by replacing the O_TRUNC flag on open by an ftruncate
call, which will take the offset into consideration.

Fixes: 385f510df5 ("migration: file URI offset")
Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Prasad Pandit <pjp@fedoraproject.org>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...

a701c03d17-Jun-2024 Fabiano Rosas <farosas@suse.de>

migration: Drop reference to QIOChannel if file seeking fails

We forgot to drop the reference to the QIOChannel in the error path of
the offset adjustment. Do it now.

Reviewed-by: Peter Xu <peterx@

migration: Drop reference to QIOChannel if file seeking fails

We forgot to drop the reference to the QIOChannel in the error path of
the offset adjustment. Do it now.

Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/tcg/tb-maint.c
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/about/removed-features.rst
/openbmc/qemu/docs/system/arm/aspeed.rst
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/host/include/aarch64/host/bufferiszero.c.inc
/openbmc/qemu/host/include/generic/host/bufferiszero.c.inc
/openbmc/qemu/host/include/i386/host/bufferiszero.c.inc
/openbmc/qemu/host/include/loongarch64/host/bufferiszero.c.inc
/openbmc/qemu/host/include/loongarch64/host/cpuinfo.h
/openbmc/qemu/host/include/x86_64/host/bufferiszero.c.inc
/openbmc/qemu/hw/acpi/ich9.c
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast27x0.c
/openbmc/qemu/hw/arm/meson.build
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/arm/xen_arm.c
/openbmc/qemu/hw/audio/virtio-snd.c
/openbmc/qemu/hw/core/machine-qmp-cmds.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/display/qxl-render.c
/openbmc/qemu/hw/display/vga.c
/openbmc/qemu/hw/display/xenfb.c
/openbmc/qemu/hw/dma/trace-events
/openbmc/qemu/hw/dma/xilinx_axidma.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/fw_cfg.c
/openbmc/qemu/hw/i386/intel_iommu.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/intc/aspeed_intc.c
/openbmc/qemu/hw/intc/goldfish_pic.c
/openbmc/qemu/hw/intc/i8259_common.c
/openbmc/qemu/hw/intc/ioapic_common.c
/openbmc/qemu/hw/intc/loongson_ipi.c
/openbmc/qemu/hw/intc/m68k_irqc.c
/openbmc/qemu/hw/intc/meson.build
/openbmc/qemu/hw/intc/pnv_xive.c
/openbmc/qemu/hw/intc/pnv_xive2.c
/openbmc/qemu/hw/intc/slavio_intctl.c
/openbmc/qemu/hw/intc/spapr_xive.c
/openbmc/qemu/hw/intc/trace-events
/openbmc/qemu/hw/intc/xics.c
/openbmc/qemu/hw/intc/xics_spapr.c
/openbmc/qemu/hw/intc/xive.c
/openbmc/qemu/hw/intc/xive2.c
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/mem/memory-device.c
/openbmc/qemu/hw/mem/pc-dimm.c
/openbmc/qemu/hw/mips/Kconfig
/openbmc/qemu/hw/mips/loongson3_bootp.c
/openbmc/qemu/hw/mips/loongson3_bootp.h
/openbmc/qemu/hw/mips/loongson3_virt.c
/openbmc/qemu/hw/misc/aspeed_scu.c
/openbmc/qemu/hw/misc/aspeed_sdmc.c
/openbmc/qemu/hw/misc/aspeed_sli.c
/openbmc/qemu/hw/misc/meson.build
/openbmc/qemu/hw/misc/trace-events
/openbmc/qemu/hw/net/xilinx_axienet.c
/openbmc/qemu/hw/pci-host/pnv_phb3_msi.c
/openbmc/qemu/hw/pci-host/pnv_phb4.c
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/pnv_psi.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_irq.c
/openbmc/qemu/hw/riscv/virt.c
/openbmc/qemu/hw/s390x/s390-skeys.c
/openbmc/qemu/hw/s390x/trace-events
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/smbios/smbios.c
/openbmc/qemu/hw/ssi/aspeed_smc.c
/openbmc/qemu/hw/ssi/trace-events
/openbmc/qemu/hw/usb/dev-mtp.c
/openbmc/qemu/hw/usb/hcd-xhci-nec.c
/openbmc/qemu/hw/usb/hcd-xhci-pci.c
/openbmc/qemu/hw/usb/hcd-xhci.c
/openbmc/qemu/hw/usb/hcd-xhci.h
/openbmc/qemu/hw/virtio/virtio-md-pci.c
/openbmc/qemu/hw/watchdog/wdt_aspeed.c
/openbmc/qemu/hw/xen/xen-hvm-common.c
/openbmc/qemu/hw/xen/xen-mapcache.c
/openbmc/qemu/include/exec/memop.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/hw/arm/aspeed_soc.h
/openbmc/qemu/include/hw/firmware/smbios.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/intc/aspeed_intc.h
/openbmc/qemu/include/hw/intc/intc.h
/openbmc/qemu/include/hw/intc/loongson_ipi.h
/openbmc/qemu/include/hw/mem/memory-device.h
/openbmc/qemu/include/hw/mem/pc-dimm.h
/openbmc/qemu/include/hw/misc/aspeed_scu.h
/openbmc/qemu/include/hw/misc/aspeed_sdmc.h
/openbmc/qemu/include/hw/misc/aspeed_sli.h
/openbmc/qemu/include/hw/pci-host/pnv_phb3.h
/openbmc/qemu/include/hw/pci-host/pnv_phb4.h
/openbmc/qemu/include/hw/ppc/pnv_chip.h
/openbmc/qemu/include/hw/ppc/pnv_psi.h
/openbmc/qemu/include/hw/ppc/pnv_xive.h
/openbmc/qemu/include/hw/ppc/spapr_irq.h
/openbmc/qemu/include/hw/ppc/xics.h
/openbmc/qemu/include/hw/ppc/xive.h
/openbmc/qemu/include/hw/ppc/xive2_regs.h
/openbmc/qemu/include/hw/ppc/xive_regs.h
/openbmc/qemu/include/hw/s390x/storage-keys.h
/openbmc/qemu/include/hw/ssi/aspeed_smc.h
/openbmc/qemu/include/hw/watchdog/wdt_aspeed.h
/openbmc/qemu/include/hw/xen/xen-hvm-common.h
/openbmc/qemu/include/sysemu/xen-mapcache.h
/openbmc/qemu/include/sysemu/xen.h
/openbmc/qemu/include/ui/surface.h
/openbmc/qemu/linux-user/syscall.c
file.c
/openbmc/qemu/monitor/hmp-cmds.c
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/system/memory.c
/openbmc/qemu/system/physmem.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/helper.h
/openbmc/qemu/target/i386/kvm/kvm-cpu.c
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/sev.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/seg_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/misc_helper.c
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/s390x/mmu_helper.c
/openbmc/qemu/target/s390x/tcg/mem_helper.c
/openbmc/qemu/target/s390x/trace-events
/openbmc/qemu/target/sparc/helper.c
/openbmc/qemu/tcg/loongarch64/tcg-insn-defs.c.inc
/openbmc/qemu/tcg/loongarch64/tcg-target.c.inc
/openbmc/qemu/tcg/loongarch64/tcg-target.h
/openbmc/qemu/tests/avocado/machine_aspeed.py
/openbmc/qemu/tests/avocado/mem-addr-space-check.py
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/ui/console.c
/openbmc/qemu/ui/sdl2-2d.c
/openbmc/qemu/ui/sdl2-gl.c
/openbmc/qemu/util/bufferiszero.c
/openbmc/qemu/util/cpuinfo-loongarch.c
/openbmc/qemu/util/readline.c
c1dfd12107-Jun-2024 Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>

migration/multifd: Switch to no compression when no hardware support

Send raw packets over if UADK hardware support is not available. This is to
satisfy  Qemu qtest CI which may run on platforms tha

migration/multifd: Switch to no compression when no hardware support

Send raw packets over if UADK hardware support is not available. This is to
satisfy  Qemu qtest CI which may run on platforms that don't have UADK
hardware support. Subsequent patch will add support for uadk migration
qtest.

Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Reviewed-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...

3c49191a07-Jun-2024 Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>

migration/multifd: Add UADK based compression and decompression

Uses UADK wd_do_comp_sync() API to (de)compress a normal page using
hardware accelerator.

Reviewed-by: Fabiano Rosas <farosas@suse.de

migration/multifd: Add UADK based compression and decompression

Uses UADK wd_do_comp_sync() API to (de)compress a normal page using
hardware accelerator.

Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Reviewed-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...

819dd20607-Jun-2024 Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>

migration/multifd: Add UADK initialization

Initialize UADK session and allocate buffers required. The actual
compression/decompression will only be done in a subsequent patch.

Signed-off-by: Shamee

migration/multifd: Add UADK initialization

Initialize UADK session and allocate buffers required. The actual
compression/decompression will only be done in a subsequent patch.

Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...

f3d8bb7507-Jun-2024 Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>

migration/multifd: add uadk compression framework

Adds the skeleton to support uadk compression method.
Complete functionality will be added in subsequent patches.

Acked-by: Markus Armbruster <armb

migration/multifd: add uadk compression framework

Adds the skeleton to support uadk compression method.
Complete functionality will be added in subsequent patches.

Acked-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Reviewed-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...

f6fe9fea10-Jun-2024 Yuan Liu <yuan1.liu@intel.com>

migration/multifd: implement qpl compression and decompression

QPL compression and decompression will use IAA hardware path if the IAA
hardware is available. Otherwise the QPL library software path

migration/multifd: implement qpl compression and decompression

QPL compression and decompression will use IAA hardware path if the IAA
hardware is available. Otherwise the QPL library software path is used.

The hardware path will automatically fall back to QPL software path if
the IAA queues are busy. In some scenarios, this may happen frequently,
such as configuring 4 channels but only one IAA device is available. In
the case of insufficient IAA hardware resources, retry and fallback can
help optimize performance:

1. Retry + SW fallback:
total time: 14649 ms
downtime: 25 ms
throughput: 17666.57 mbps
pages-per-second: 1509647

2. No fallback, always wait for work queues to become available
total time: 18381 ms
downtime: 25 ms
throughput: 13698.65 mbps
pages-per-second: 859607

If both the hardware and software paths fail, the uncompressed page is
sent directly.

Signed-off-by: Yuan Liu <yuan1.liu@intel.com>
Reviewed-by: Nanhai Zou <nanhai.zou@intel.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...

34e104b810-Jun-2024 Yuan Liu <yuan1.liu@intel.com>

migration/multifd: implement initialization of qpl compression

during initialization, a software job is allocated to each channel
for software path fallabck when the IAA hardware is unavailable or
t

migration/multifd: implement initialization of qpl compression

during initialization, a software job is allocated to each channel
for software path fallabck when the IAA hardware is unavailable or
the hardware job submission fails. If the IAA hardware is available,
multiple hardware jobs are allocated for batch processing.

Signed-off-by: Yuan Liu <yuan1.liu@intel.com>
Reviewed-by: Nanhai Zou <nanhai.zou@intel.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...

354cac2810-Jun-2024 Yuan Liu <yuan1.liu@intel.com>

migration/multifd: add qpl compression method

add the Query Processing Library (QPL) compression method

Introduce the qpl as a new multifd migration compression method, it can
use In-Memory Analyti

migration/multifd: add qpl compression method

add the Query Processing Library (QPL) compression method

Introduce the qpl as a new multifd migration compression method, it can
use In-Memory Analytics Accelerator(IAA) to accelerate compression and
decompression, which can not only reduce network bandwidth requirement
but also reduce host compression and decompression CPU overhead.

How to enable qpl compression during migration:
migrate_set_parameter multifd-compression qpl

There is no qpl compression level parameter added since it only supports
level one, users do not need to specify the qpl compression level.

Signed-off-by: Yuan Liu <yuan1.liu@intel.com>
Reviewed-by: Nanhai Zou <nanhai.zou@intel.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
[fixed docs spacing in migration.json]
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...

d9d3e4f210-Jun-2024 Yuan Liu <yuan1.liu@intel.com>

migration/multifd: put IOV initialization into compression method

Different compression methods may require different numbers of IOVs.
Based on streaming compression of zlib and zstd, all pages will

migration/multifd: put IOV initialization into compression method

Different compression methods may require different numbers of IOVs.
Based on streaming compression of zlib and zstd, all pages will be
compressed to a data block, so two IOVs are needed for packet header
and compressed data block.

Signed-off-by: Yuan Liu <yuan1.liu@intel.com>
Reviewed-by: Nanhai Zou <nanhai.zou@intel.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>

show more ...


/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch32.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners/ubuntu-22.04-s390x.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/dummy-cpus.c
/openbmc/qemu/accel/hvf/hvf-accel-ops.c
/openbmc/qemu/accel/hvf/hvf-all.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/internal-common.h
/openbmc/qemu/accel/tcg/internal-target.h
/openbmc/qemu/accel/tcg/tcg-accel-ops-mttcg.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-rr.c
/openbmc/qemu/accel/tcg/tcg-all.c
/openbmc/qemu/backends/hostmem-epc.c
/openbmc/qemu/backends/hostmem-file.c
/openbmc/qemu/backends/hostmem-memfd.c
/openbmc/qemu/backends/hostmem.c
/openbmc/qemu/backends/tpm/tpm_util.c
/openbmc/qemu/backends/tpm/trace-events
/openbmc/qemu/block/backup.c
/openbmc/qemu/block/block-copy.c
/openbmc/qemu/block/copy-before-write.c
/openbmc/qemu/block/copy-before-write.h
/openbmc/qemu/block/crypto.c
/openbmc/qemu/block/file-posix.c
/openbmc/qemu/block/linux-aio.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/qcow.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/replication.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/bsd-user/main.c
/openbmc/qemu/configure
/openbmc/qemu/cpu-target.c
/openbmc/qemu/crypto/block-luks.c
/openbmc/qemu/crypto/block-qcow.c
/openbmc/qemu/crypto/block.c
/openbmc/qemu/crypto/blockpriv.h
/openbmc/qemu/disas/m68k.c
/openbmc/qemu/disas/microblaze.c
/openbmc/qemu/disas/riscv.c
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/about/removed-features.rst
/openbmc/qemu/docs/devel/build-system.rst
/openbmc/qemu/docs/devel/ci-jobs.rst.inc
/openbmc/qemu/docs/devel/ci-runners.rst.inc
/openbmc/qemu/docs/devel/migration/features.rst
/openbmc/qemu/docs/devel/migration/qpl-compression.rst
/openbmc/qemu/docs/devel/testing.rst
/openbmc/qemu/docs/pci_expander_bridge.txt
/openbmc/qemu/docs/specs/tpm.rst
/openbmc/qemu/docs/system/arm/emulation.rst
/openbmc/qemu/docs/system/arm/raspi.rst
/openbmc/qemu/docs/system/i386/amd-memory-encryption.rst
/openbmc/qemu/docs/system/target-arm.rst
/openbmc/qemu/docs/system/target-i386-desc.rst.inc
/openbmc/qemu/ebpf/ebpf_rss.c
/openbmc/qemu/ebpf/rss.bpf.skeleton.h
/openbmc/qemu/ebpf/trace.h
/openbmc/qemu/fpu/softfloat-specialize.c.inc
/openbmc/qemu/host/include/i386/host/cpuinfo.h
/openbmc/qemu/hw/9pfs/xen-9p-backend.c
/openbmc/qemu/hw/acpi/memory_hotplug.c
/openbmc/qemu/hw/arm/Kconfig
/openbmc/qemu/hw/arm/boot.c
/openbmc/qemu/hw/arm/npcm7xx.c
/openbmc/qemu/hw/arm/sbsa-ref.c
/openbmc/qemu/hw/arm/xilinx_zynq.c
/openbmc/qemu/hw/block/virtio-blk.c
/openbmc/qemu/hw/char/omap_uart.c
/openbmc/qemu/hw/char/stm32l4x5_usart.c
/openbmc/qemu/hw/core/cpu-common.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/display/xenfb.c
/openbmc/qemu/hw/dma/pl330.c
/openbmc/qemu/hw/dma/xlnx_dpdma.c
/openbmc/qemu/hw/gpio/zaurus.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_sysfw.c
/openbmc/qemu/hw/i386/x86-common.c
/openbmc/qemu/hw/ide/atapi.c
/openbmc/qemu/hw/input/tsc2005.c
/openbmc/qemu/hw/intc/arm_gic.c
/openbmc/qemu/hw/intc/loongarch_extioi.c
/openbmc/qemu/hw/intc/riscv_aplic.c
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/mips/malta.c
/openbmc/qemu/hw/misc/debugexit.c
/openbmc/qemu/hw/misc/pvpanic-isa.c
/openbmc/qemu/hw/misc/pvpanic-pci.c
/openbmc/qemu/hw/misc/pvpanic.c
/openbmc/qemu/hw/net/e1000e.c
/openbmc/qemu/hw/net/igb.c
/openbmc/qemu/hw/net/net_tx_pkt.c
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/net/vmxnet3.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/riscv/boot.c
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/sh4/trace-events
/openbmc/qemu/hw/ufs/trace-events
/openbmc/qemu/hw/ufs/ufs.c
/openbmc/qemu/hw/ufs/ufs.h
/openbmc/qemu/hw/usb/Kconfig
/openbmc/qemu/hw/usb/hcd-ohci.c
/openbmc/qemu/hw/usb/meson.build
/openbmc/qemu/hw/usb/trace-events
/openbmc/qemu/hw/usb/xen-usb.c
/openbmc/qemu/hw/vfio/trace-events
/openbmc/qemu/hw/virtio/trace-events
/openbmc/qemu/hw/virtio/vhost-vdpa.c
/openbmc/qemu/hw/xen/xen-hvm-common.c
/openbmc/qemu/hw/xen/xen-legacy-backend.c
/openbmc/qemu/hw/xenpv/xen_machine_pv.c
/openbmc/qemu/include/block/aio.h
/openbmc/qemu/include/block/block-common.h
/openbmc/qemu/include/block/block-copy.h
/openbmc/qemu/include/block/block_int-global-state.h
/openbmc/qemu/include/block/raw-aio.h
/openbmc/qemu/include/block/ufs.h
/openbmc/qemu/include/crypto/block.h
/openbmc/qemu/include/exec/confidential-guest-support.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/core/tcg-cpu-ops.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/i386/x86.h
/openbmc/qemu/include/hw/intc/loongarch_extioi.h
/openbmc/qemu/include/hw/loongarch/virt.h
/openbmc/qemu/include/hw/s390x/s390_flic.h
/openbmc/qemu/include/hw/xen/xen-legacy-backend.h
/openbmc/qemu/include/hw/xen/xen_pvdev.h
/openbmc/qemu/include/net/net.h
/openbmc/qemu/include/qapi/clone-visitor.h
/openbmc/qemu/include/qapi/qmp/qerror.h
/openbmc/qemu/include/qemu/cutils.h
/openbmc/qemu/include/qemu/lockable.h
/openbmc/qemu/include/standard-headers/linux/kvm_para.h
/openbmc/qemu/include/standard-headers/misc/pvpanic.h
/openbmc/qemu/include/sysemu/hostmem.h
/openbmc/qemu/include/sysemu/hvf_int.h
/openbmc/qemu/include/sysemu/xen.h
/openbmc/qemu/io/channel-tls.c
/openbmc/qemu/io/channel-websock.c
/openbmc/qemu/linux-headers/asm-loongarch/kvm.h
/openbmc/qemu/linux-headers/asm-riscv/kvm.h
/openbmc/qemu/linux-headers/asm-x86/kvm.h
/openbmc/qemu/linux-headers/asm-x86/kvm_para.h
/openbmc/qemu/linux-headers/linux/kvm_para.h
/openbmc/qemu/linux-headers/linux/vhost.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/hexagon/cpu_loop.c
/openbmc/qemu/linux-user/ioctls.h
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/meson.build
multifd-zlib.c
multifd-zstd.c
multifd.c
/openbmc/qemu/net/dump.c
/openbmc/qemu/net/net.c
/openbmc/qemu/net/netmap.c
/openbmc/qemu/net/tap-bsd.c
/openbmc/qemu/net/tap-linux.c
/openbmc/qemu/net/tap-solaris.c
/openbmc/qemu/net/tap-stub.c
/openbmc/qemu/net/tap.c
/openbmc/qemu/net/tap_int.h
/openbmc/qemu/plugins/core.c
/openbmc/qemu/python/scripts/mkvenv.py
/openbmc/qemu/python/scripts/vendor.py
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/misc-target.json
/openbmc/qemu/qapi/qapi-clone-visitor.c
/openbmc/qemu/qapi/qmp-dispatch.c
/openbmc/qemu/qapi/qom.json
/openbmc/qemu/qapi/trace.json
/openbmc/qemu/qemu-io-cmds.c
/openbmc/qemu/qemu-keymap.c
/openbmc/qemu/qga/commands-win32.c
/openbmc/qemu/qga/commands.c
/openbmc/qemu/qga/main.c
/openbmc/qemu/scripts/ci/setup/ubuntu/build-environment.yml
/openbmc/qemu/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
/openbmc/qemu/scripts/ci/setup/ubuntu/ubuntu-2204-armhf-cross.yml
/openbmc/qemu/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
/openbmc/qemu/scripts/kvm/vmxcap
/openbmc/qemu/scripts/oss-fuzz/build.sh
/openbmc/qemu/scripts/tracetool/__init__.py
/openbmc/qemu/scripts/update-linux-headers.sh
/openbmc/qemu/stubs/meson.build
/openbmc/qemu/system/memory.c
/openbmc/qemu/system/physmem.c
/openbmc/qemu/system/qtest.c
/openbmc/qemu/system/runstate.c
/openbmc/qemu/target/arm/cpu-features.h
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/helper.h
/openbmc/qemu/target/arm/hvf/hvf.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/machine.c
/openbmc/qemu/target/arm/tcg/a64.decode
/openbmc/qemu/target/arm/tcg/cpu64.c
/openbmc/qemu/target/arm/tcg/gengvec.c
/openbmc/qemu/target/arm/tcg/gengvec64.c
/openbmc/qemu/target/arm/tcg/helper-a64.h
/openbmc/qemu/target/arm/tcg/meson.build
/openbmc/qemu/target/arm/tcg/neon-dp.decode
/openbmc/qemu/target/arm/tcg/neon_helper.c
/openbmc/qemu/target/arm/tcg/op_helper.c
/openbmc/qemu/target/arm/tcg/t32.decode
/openbmc/qemu/target/arm/tcg/translate-a64.c
/openbmc/qemu/target/arm/tcg/translate-a64.h
/openbmc/qemu/target/arm/tcg/translate-neon.c
/openbmc/qemu/target/arm/tcg/translate-sve.c
/openbmc/qemu/target/arm/tcg/translate-vfp.c
/openbmc/qemu/target/arm/tcg/translate.c
/openbmc/qemu/target/arm/tcg/translate.h
/openbmc/qemu/target/arm/tcg/vec_helper.c
/openbmc/qemu/target/arm/vfp_helper.c
/openbmc/qemu/target/hexagon/cpu.h
/openbmc/qemu/target/hexagon/cpu_bits.h
/openbmc/qemu/target/hexagon/gen_trans_funcs.py
/openbmc/qemu/target/hexagon/idef-parser/idef-parser.h
/openbmc/qemu/target/hexagon/idef-parser/idef-parser.y
/openbmc/qemu/target/hexagon/idef-parser/parser-helpers.c
/openbmc/qemu/target/hexagon/idef-parser/parser-helpers.h
/openbmc/qemu/target/hexagon/macros.h
/openbmc/qemu/target/hexagon/op_helper.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/helper.c
/openbmc/qemu/target/i386/helper.h
/openbmc/qemu/target/i386/hvf/hvf.c
/openbmc/qemu/target/i386/hvf/vmx.h
/openbmc/qemu/target/i386/hvf/x86_cpuid.c
/openbmc/qemu/target/i386/hvf/x86_decode.c
/openbmc/qemu/target/i386/hvf/x86_emu.c
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/kvm/kvm_i386.h
/openbmc/qemu/target/i386/kvm/trace-events
/openbmc/qemu/target/i386/machine.c
/openbmc/qemu/target/i386/nvmm/nvmm-accel-ops.c
/openbmc/qemu/target/i386/sev-sysemu-stub.c
/openbmc/qemu/target/i386/sev.c
/openbmc/qemu/target/i386/sev.h
/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/misc_helper.c
/openbmc/qemu/target/i386/tcg/seg_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/bpt_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/misc_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/seg_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/svm_helper.c
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/i386/trace-events
/openbmc/qemu/target/i386/whpx/whpx-accel-ops.c
/openbmc/qemu/target/loongarch/cpu.c
/openbmc/qemu/target/loongarch/cpu.h
/openbmc/qemu/target/mips/tcg/sysemu/cp0_helper.c
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/cpu_bits.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/debug.c
/openbmc/qemu/target/riscv/gdbstub.c
/openbmc/qemu/target/riscv/helper.h
/openbmc/qemu/target/riscv/insn_trans/trans_privileged.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzawrs.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzicbo.c.inc
/openbmc/qemu/target/riscv/kvm/kvm-cpu.c
/openbmc/qemu/target/riscv/meson.build
/openbmc/qemu/target/riscv/op_helper.c
/openbmc/qemu/target/riscv/sbi_ecall_interface.h
/openbmc/qemu/target/riscv/tcg/tcg-cpu.c
/openbmc/qemu/target/riscv/tcg/tcg-cpu.h
/openbmc/qemu/target/riscv/th_csr.c
/openbmc/qemu/target/riscv/translate.c
/openbmc/qemu/target/riscv/vector_internals.c
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/s390x/cpu.h
/openbmc/qemu/target/s390x/helper.h
/openbmc/qemu/target/s390x/tcg/excp_helper.c
/openbmc/qemu/target/s390x/tcg/misc_helper.c
/openbmc/qemu/target/s390x/tcg/translate.c
/openbmc/qemu/target/sparc/asi.h
/openbmc/qemu/target/sparc/cpu-feature.h.inc
/openbmc/qemu/target/sparc/cpu.c
/openbmc/qemu/target/sparc/fop_helper.c
/openbmc/qemu/target/sparc/helper.h
/openbmc/qemu/target/sparc/insns.decode
/openbmc/qemu/target/sparc/ldst_helper.c
/openbmc/qemu/target/sparc/translate.c
/openbmc/qemu/target/sparc/vis_helper.c
/openbmc/qemu/tcg/i386/tcg-target.c.inc
/openbmc/qemu/tcg/i386/tcg-target.h
/openbmc/qemu/tests/avocado/intel_iommu.py
/openbmc/qemu/tests/avocado/machine_aarch64_sbsaref.py
/openbmc/qemu/tests/avocado/machine_loongarch.py
/openbmc/qemu/tests/avocado/smmu.py
/openbmc/qemu/tests/avocado/tuxrun_baselines.py
/openbmc/qemu/tests/docker/dockerfiles/alpine.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-amd64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-arm64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armel-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armhf-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-i686-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mips64el-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mipsel-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-ppc64el-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-s390x-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu2204.docker
/openbmc/qemu/tests/lcitool/libvirt-ci
/openbmc/qemu/tests/lcitool/projects/qemu-win-installer.yml
/openbmc/qemu/tests/lcitool/projects/qemu.yml
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/migration/Makefile
/openbmc/qemu/tests/migration/migration-test.h
/openbmc/qemu/tests/migration/ppc64/Makefile
/openbmc/qemu/tests/migration/ppc64/a-b-kernel.S
/openbmc/qemu/tests/migration/ppc64/a-b-kernel.h
/openbmc/qemu/tests/qemu-iotests/257.out
/openbmc/qemu/tests/qemu-iotests/pylintrc
/openbmc/qemu/tests/qemu-iotests/tests/backup-discard-source
/openbmc/qemu/tests/qemu-iotests/tests/backup-discard-source.out
/openbmc/qemu/tests/qemu-iotests/tests/nbd-tls-iothread
/openbmc/qemu/tests/qemu-iotests/tests/nbd-tls-iothread.out
/openbmc/qemu/tests/qtest/boot-serial-test.c
/openbmc/qemu/tests/qtest/fuzz/generic_fuzz_configs.h
/openbmc/qemu/tests/qtest/libqos/libqos-spapr.h
/openbmc/qemu/tests/qtest/libqos/loongarch-virt-machine.c
/openbmc/qemu/tests/qtest/libqos/meson.build
/openbmc/qemu/tests/qtest/libqtest.c
/openbmc/qemu/tests/qtest/libqtest.h
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/numa-test.c
/openbmc/qemu/tests/qtest/ppc-util.h
/openbmc/qemu/tests/qtest/prom-env-test.c
/openbmc/qemu/tests/qtest/pxe-test.c
/openbmc/qemu/tests/qtest/test-x86-cpuid-compat.c
/openbmc/qemu/tests/tcg/hexagon/Makefile.target
/openbmc/qemu/tests/tcg/hexagon/hvx_misc.c
/openbmc/qemu/tests/tcg/hexagon/unaligned_pc.c
/openbmc/qemu/tests/tcg/s390x/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/s390x/per.S
/openbmc/qemu/tests/unit/test-crypto-block.c
/openbmc/qemu/tests/unit/test-smp-parse.c
/openbmc/qemu/tests/vm/Makefile.include
/openbmc/qemu/tests/vm/centos.aarch64
/openbmc/qemu/tools/ebpf/Makefile.ebpf
/openbmc/qemu/tools/ebpf/rss.bpf.c
/openbmc/qemu/trace/qmp.c
/openbmc/qemu/trace/trace-hmp-cmds.c
/openbmc/qemu/util/bufferiszero.c
/openbmc/qemu/util/cpuinfo-i386.c
/openbmc/qemu/util/hexdump.c
/openbmc/qemu/util/osdep.c

12345678910>>...90