History log of /qemu/accel/ (Results 251 – 275 of 1193)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
d0a9bb5e27-Mar-2023 Richard Henderson <richard.henderson@linaro.org>

tcg: Add tlb_fast_offset to TCGContext

Disconnect the layout of ArchCPU from TCG compilation.
Pass the relative offset of 'env' and 'neg.tlb.f' as a parameter.

Reviewed-by: Philippe Mathieu-Daudé <

tcg: Add tlb_fast_offset to TCGContext

Disconnect the layout of ArchCPU from TCG compilation.
Pass the relative offset of 'env' and 'neg.tlb.f' as a parameter.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

238f438024-Mar-2023 Richard Henderson <richard.henderson@linaro.org>

tcg: Widen CPUTLBEntry comparators to 64-bits

This makes CPUTLBEntry agnostic to the address size of the guest.
When 32-bit addresses are in effect, we can simply read the low
32 bits of the 64-bit

tcg: Widen CPUTLBEntry comparators to 64-bits

This makes CPUTLBEntry agnostic to the address size of the guest.
When 32-bit addresses are in effect, we can simply read the low
32 bits of the 64-bit field. Similarly when we need to update
the field for setting TLB_NOTDIRTY.

For TCG backends that could in theory be big-endian, but in
practice are not (arm, loongarch, riscv), use QEMU_BUILD_BUG_ON
to document and ensure this is not accidentally missed.

For s390x, which is always big-endian, use HOST_BIG_ENDIAN anyway,
to document the reason for the adjustment.

For sparc64 and ppc64, always perform a 64-bit load, and rely on
the following 32-bit comparison to ignore the high bits.

Rearrange mips and ppc if ladders for clarity.

Reviewed-by: Anton Johansson <anjo@rev.ng>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

ff0c61bf28-Apr-2023 Richard Henderson <richard.henderson@linaro.org>

tcg: Move TCG_TYPE_TL from tcg.h to tcg-op.h

Removes the only use of TARGET_LONG_BITS from tcg.h, which is to be
target independent. Move the symbol to a define in tcg-op.h, which
will continue to

tcg: Move TCG_TYPE_TL from tcg.h to tcg-op.h

Removes the only use of TARGET_LONG_BITS from tcg.h, which is to be
target independent. Move the symbol to a define in tcg-op.h, which
will continue to be target dependent. Rather than complicate matters
for the use in tb_gen_code(), expand the definition there.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...


/qemu/MAINTAINERS
tcg/translate-all.c
/qemu/audio/audio_legacy.c
/qemu/block/blkio.c
/qemu/block/block-backend.c
/qemu/block/file-posix.c
/qemu/block/gluster.c
/qemu/block/io.c
/qemu/block/io_uring.c
/qemu/block/linux-aio.c
/qemu/block/meson.build
/qemu/block/nfs.c
/qemu/block/nvme.c
/qemu/block/parallels.c
/qemu/block/plug.c
/qemu/block/qcow2-cluster.c
/qemu/block/qcow2.c
/qemu/block/qcow2.h
/qemu/block/trace-events
/qemu/blockdev.c
/qemu/contrib/ivshmem-server/main.c
/qemu/docs/interop/qcow2.txt
/qemu/hw/block/dataplane/xen-block.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/char/omap_uart.c
/qemu/hw/core/numa.c
/qemu/hw/i386/kvm/i8254.c
/qemu/hw/intc/loongarch_ipi.c
/qemu/hw/isa/i82378.c
/qemu/hw/scsi/virtio-scsi.c
/qemu/hw/timer/i8254.c
/qemu/hw/timer/i8254_common.c
/qemu/include/block/block-io.h
/qemu/include/block/block_int-common.h
/qemu/include/block/raw-aio.h
/qemu/include/hw/arm/omap.h
/qemu/include/hw/intc/loongarch_ipi.h
/qemu/include/migration/global_state.h
/qemu/include/qemu/cutils.h
/qemu/include/qemu/iov.h
/qemu/include/sysemu/block-backend-io.h
/qemu/include/sysemu/runstate.h
/qemu/include/tcg/tcg-op.h
/qemu/include/tcg/tcg.h
/qemu/meson.build
/qemu/migration/global_state.c
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/savevm.c
/qemu/qapi/block-core.json
/qemu/qapi/opts-visitor.c
/qemu/qemu-options.hx
/qemu/softmmu/runstate.c
/qemu/tcg/ppc/tcg-target.c.inc
/qemu/tcg/riscv/tcg-target.c.inc
/qemu/tcg/s390x/tcg-target.c.inc
/qemu/tcg/sparc64/tcg-target.c.inc
/qemu/tests/qemu-iotests/049.out
/qemu/tests/qemu-iotests/178.out.qcow2
/qemu/tests/qemu-iotests/178.out.raw
/qemu/tests/qemu-iotests/common.filter
/qemu/tests/qemu-iotests/common.rc
/qemu/tests/qemu-iotests/tests/iov-padding
/qemu/tests/qemu-iotests/tests/iov-padding.out
/qemu/tests/qtest/libqtest.c
/qemu/tests/qtest/libqtest.h
/qemu/tests/qtest/migration-helpers.c
/qemu/tests/qtest/migration-helpers.h
/qemu/tests/qtest/migration-test.c
/qemu/tests/unit/test-cutils.c
/qemu/ui/vnc.c
/qemu/util/cutils.c
/qemu/util/guest-random.c
/qemu/util/iov.c
/qemu/util/qemu-sockets.c
367189ef26-May-2023 Alex Bennée <alex.bennee@linaro.org>

accel/tcg: include cs_base in our hash calculations

We weren't using cs_base in the hash calculations before. Since the
arm front end moved a chunk of flags in a378206a20 (target/arm: Move
mode spec

accel/tcg: include cs_base in our hash calculations

We weren't using cs_base in the hash calculations before. Since the
arm front end moved a chunk of flags in a378206a20 (target/arm: Move
mode specific TB flags to tb->cs_base) they comprise of an important
part of the execution state.

Widen the tb_hash_func to include cs_base and expand to qemu_xxhash8()
to accommodate it.

My initial benchmark shows very little difference in the
runtime.

Before:

armhf

➜ hyperfine -w 2 -m 20 "./arm-softmmu/qemu-system-arm -cpu cortex-a15 -machine type=virt,highmem=off -display none -m 2048 -serial mon:stdio -netdev user,id=unet,hostfwd=tcp::2222-:22 -device virtio-net-pci,netdev=unet -device virtio-scsi-pci -blockdev driver=raw,node-name=hd,discard=unmap,file.driver=host_device,file.filename=/dev/zen-disk/debian-bullseye-armhf -device scsi-hd,drive=hd -smp 4 -kernel /home/alex/lsrc/linux.git/builds/arm/arch/arm/boot/zImage -append 'console=ttyAMA0 root=/dev/sda2 systemd.unit=benchmark.service' -snapshot"
Benchmark 1: ./arm-softmmu/qemu-system-arm -cpu cortex-a15 -machine type=virt,highmem=off -display none -m 2048 -serial mon:stdio -netdev user,id=unet,hostfwd=tcp::2222-:22 -device virtio-net-pci,netdev=unet -device virtio-scsi-pci -blockdev driver=raw,node-name=hd,discard=unmap,file.driver=host_device,file.filename=/dev/zen-disk/debian-bullseye-armhf -device scsi-hd,drive=hd -smp 4 -kernel /home/alex/lsrc/linux.git/builds/arm/arch/arm/boot/zImage -append 'console=ttyAMA0 root=/dev/sda2 systemd.unit=benchmark.service' -snapshot
Time (mean ± σ): 24.627 s ± 2.708 s [User: 34.309 s, System: 1.797 s]
Range (min … max): 22.345 s … 29.864 s 20 runs

arm64

➜ hyperfine -w 2 -n 20 "./qemu-system-aarch64 -cpu max,pauth-impdef=on -machine type=virt,virtualization=on,gic-version=3 -display none -serial mon:stdio -netdev user,id=unet,hostfwd=tcp::2222-:22,hostfwd=tcp::1234-:1234 -device virtio-net-pci,netdev=unet -device virtio-scsi-pci -blockdev driver=raw,node-name=hd,discard=unmap,file.driver=host_device,file.filename=/dev/zen-disk/debian-bullseye-arm64 -device scsi-hd,drive=hd -smp 4 -kernel ~/lsrc/linux.git/builds/arm64/arch/arm64/boot/Image.gz -append 'console=ttyAMA0 root=/dev/sda2 systemd.unit=benchmark-pigz.service' -snapshot"
Benchmark 1: 20
Time (mean ± σ): 62.559 s ± 2.917 s [User: 189.115 s, System: 4.089 s]
Range (min … max): 59.997 s … 70.153 s 10 runs

After:

armhf

Benchmark 1: ./arm-softmmu/qemu-system-arm -cpu cortex-a15 -machine type=virt,highmem=off -display none -m 2048 -serial mon:stdio -netdev user,id=unet,hostfwd=tcp::2222-:22 -device virtio-net-pci,netdev=unet -device virtio-scsi-pci -blockdev driver=raw,node-name=hd,discard=unmap,file.driver=host_device,file.filename=/dev/zen-disk/debian-bullseye-armhf -device scsi-hd,drive=hd -smp 4 -kernel /home/alex/lsrc/linux.git/builds/arm/arch/arm/boot/zImage -append 'console=ttyAMA0 root=/dev/sda2 systemd.unit=benchmark.service' -snapshot
Time (mean ± σ): 24.223 s ± 2.151 s [User: 34.284 s, System: 1.906 s]
Range (min … max): 22.000 s … 28.476 s 20 runs

arm64

hyperfine -w 2 -n 20 "./qemu-system-aarch64 -cpu max,pauth-impdef=on -machine type=virt,virtualization=on,gic-version=3 -display none -serial mon:stdio -netdev user,id=unet,hostfwd=tcp::2222-:22,hostfwd=tcp::1234-:1234 -device virtio-net-pci,netdev=unet -device virtio-scsi-pci -blockdev driver=raw,node-name=hd,discard=unmap,file.driver=host_device,file.filename=/dev/zen-disk/debian-bullseye-arm64 -device scsi-hd,drive=hd -smp 4 -kernel ~/lsrc/linux.git/builds/arm64/arch/arm64/boot/Image.gz -append 'console=ttyAMA0 root=/dev/sda2 systemd.unit=benchmark-pigz.service' -snapshot"
Benchmark 1: 20
Time (mean ± σ): 62.769 s ± 1.978 s [User: 188.431 s, System: 5.269 s]
Range (min … max): 60.285 s … 66.868 s 10 runs

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20230526165401.574474-12-alex.bennee@linaro.org
Message-Id: <20230524133952.3971948-11-alex.bennee@linaro.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...

d0aaf08b26-May-2023 Alex Bennée <alex.bennee@linaro.org>

tcg: remove the final vestiges of dstate

Now we no longer have dynamic state affecting things we can remove the
additional fields in cpu.h and simplify the TB hash calculation.

For the benchmark:

tcg: remove the final vestiges of dstate

Now we no longer have dynamic state affecting things we can remove the
additional fields in cpu.h and simplify the TB hash calculation.

For the benchmark:

hyperfine -w 2 -m 20 \
"./arm-softmmu/qemu-system-arm -cpu cortex-a15 \
-machine type=virt,highmem=off \
-display none -m 2048 \
-serial mon:stdio \
-netdev user,id=unet,hostfwd=tcp::2222-:22 \
-device virtio-net-pci,netdev=unet \
-device virtio-scsi-pci \
-blockdev driver=raw,node-name=hd,discard=unmap,file.driver=host_device,file.filename=/dev/zen-disk/debian-bullseye-armhf \
-device scsi-hd,drive=hd -smp 4 \
-kernel /home/alex/lsrc/linux.git/builds/arm/arch/arm/boot/zImage \
-append 'console=ttyAMA0 root=/dev/sda2 systemd.unit=benchmark.service' \
-snapshot"

It has a marginal effect on runtime, before:

Time (mean ± σ): 26.279 s ± 2.438 s [User: 41.113 s, System: 1.843 s]
Range (min … max): 24.420 s … 32.565 s 20 runs

after:

Time (mean ± σ): 24.440 s ± 2.885 s [User: 34.474 s, System: 2.028 s]
Range (min … max): 21.663 s … 29.937 s 20 runs

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1358
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20230526165401.574474-10-alex.bennee@linaro.org
Message-Id: <20230524133952.3971948-9-alex.bennee@linaro.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...


/qemu/.gitlab-ci.d/container-template.yml
/qemu/.gitlab-ci.d/opensbi.yml
tcg/cpu-exec.c
tcg/tb-hash.h
tcg/tb-maint.c
tcg/translate-all.c
/qemu/block.c
/qemu/block/blkio.c
/qemu/block/block-backend.c
/qemu/block/copy-before-write.c
/qemu/block/curl.c
/qemu/block/export/export.c
/qemu/block/export/fuse.c
/qemu/block/export/vduse-blk.c
/qemu/block/export/vhost-user-blk-server.c
/qemu/block/io.c
/qemu/block/io_uring.c
/qemu/block/iscsi.c
/qemu/block/linux-aio.c
/qemu/block/mirror.c
/qemu/block/nfs.c
/qemu/block/nvme.c
/qemu/block/qapi-sysemu.c
/qemu/block/qcow2.c
/qemu/block/raw-format.c
/qemu/block/ssh.c
/qemu/block/win32-aio.c
/qemu/blockdev.c
/qemu/bsd-user/freebsd/os-syscall.c
/qemu/docs/about/deprecated.rst
/qemu/docs/devel/decodetree.rst
/qemu/host/include/aarch64/host/load-extract-al16-al8.h
/qemu/host/include/aarch64/host/store-insert-al16.h
/qemu/host/include/x86_64/host/load-extract-al16-al8.h
/qemu/hw/block/dataplane/virtio-blk.c
/qemu/hw/block/dataplane/xen-block.c
/qemu/hw/block/dataplane/xen-block.h
/qemu/hw/block/virtio-blk.c
/qemu/hw/block/xen-block.c
/qemu/hw/core/cpu-common.c
/qemu/hw/core/trace-events
/qemu/hw/i386/kvm/xen_xenstore.c
/qemu/hw/scsi/scsi-bus.c
/qemu/hw/scsi/scsi-disk.c
/qemu/hw/scsi/trace-events
/qemu/hw/scsi/virtio-scsi-dataplane.c
/qemu/hw/scsi/virtio-scsi.c
/qemu/hw/virtio/virtio.c
/qemu/hw/xen/xen-bus.c
/qemu/include/block/aio.h
/qemu/include/block/block-common.h
/qemu/include/block/block_int-common.h
/qemu/include/block/export.h
/qemu/include/exec/exec-all.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/qdev-core.h
/qemu/include/hw/scsi/scsi.h
/qemu/include/qemu/vhost-user-server.h
/qemu/include/sysemu/block-backend-common.h
/qemu/include/sysemu/block-backend-global-state.h
/qemu/include/user/syscall-trace.h
/qemu/io/channel-command.c
/qemu/io/channel-file.c
/qemu/io/channel-socket.c
/qemu/migration/rdma.c
/qemu/python/qemu/machine/machine.py
/qemu/python/qemu/qmp/legacy.py
/qemu/python/qemu/qmp/protocol.py
/qemu/qapi/trace.json
/qemu/qemu-nbd.c
/qemu/scripts/block-coroutine-wrapper.py
/qemu/scripts/decodetree.py
/qemu/scripts/qapi/gen.py
/qemu/scripts/tracetool/format/c.py
/qemu/scripts/tracetool/format/h.py
/qemu/stubs/trace-control.c
/qemu/tcg/aarch64/tcg-target.h
/qemu/tcg/arm/tcg-target.h
/qemu/tcg/i386/tcg-target.h
/qemu/tcg/mips/tcg-target.h
/qemu/tcg/ppc/tcg-target.h
/qemu/tcg/riscv/tcg-target.h
/qemu/tcg/s390x/tcg-target.h
/qemu/tcg/sparc64/tcg-target.h
/qemu/tcg/tci/tcg-target.h
/qemu/tests/avocado/virtio-gpu.py
/qemu/tests/decode/err_field10.decode
/qemu/tests/decode/err_field7.decode
/qemu/tests/decode/err_field8.decode
/qemu/tests/decode/err_field9.decode
/qemu/tests/decode/meson.build
/qemu/tests/decode/succ_named_field.decode
/qemu/tests/meson.build
/qemu/tests/qemu-iotests/256
/qemu/tests/qemu-iotests/iotests.py
/qemu/tests/qemu-iotests/tests/iothreads-create
/qemu/tests/qemu-iotests/tests/iothreads-create.out
/qemu/tests/unit/meson.build
/qemu/tests/unit/test-aio.c
/qemu/tests/unit/test-bdrv-drain.c
/qemu/tests/unit/test-block-iothread.c
/qemu/tests/unit/test-nested-aio-poll.c
/qemu/trace-events
/qemu/trace/control-internal.h
/qemu/trace/control-target.c
/qemu/trace/control.c
/qemu/trace/control.h
/qemu/trace/event-internal.h
/qemu/trace/qmp.c
/qemu/trace/trace-hmp-cmds.c
/qemu/util/aio-posix.c
/qemu/util/aio-posix.h
/qemu/util/aio-win32.c
/qemu/util/async.c
/qemu/util/fdmon-epoll.c
/qemu/util/fdmon-io_uring.c
/qemu/util/fdmon-poll.c
/qemu/util/main-loop.c
/qemu/util/qemu-coroutine-io.c
/qemu/util/vhost-user-server.c
b3f4144f24-May-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Extract store_atom_insert_al16 to host header

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

af844a1124-May-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Extract load_atom_extract_al16_or_al8 to host header

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

9e0e6a7e25-May-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Fix check for page writeability in load_atomic16_or_exit

PAGE_WRITE is current writability, as modified by TB protection;
PAGE_WRITE_ORG is the original page writability.

Fixes: cdfac37b

accel/tcg: Fix check for page writeability in load_atomic16_or_exit

PAGE_WRITE is current writability, as modified by TB protection;
PAGE_WRITE_ORG is the original page writability.

Fixes: cdfac37be0d ("accel/tcg: Honor atomicity of loads")
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...


/qemu/.gitlab-ci.d/container-template.yml
/qemu/.gitlab-ci.d/opensbi.yml
/qemu/.gitlab-ci.d/qemu-project.yml
/qemu/.gitmodules
/qemu/.mailmap
/qemu/MAINTAINERS
tcg/ldst_atomicity.c.inc
/qemu/configs/devices/aarch64-softmmu/default.mak
/qemu/configs/devices/arm-softmmu/default.mak
/qemu/configure
/qemu/disas/riscv.c
/qemu/docs/conf.py
/qemu/docs/system/arm/sbsa.rst
/qemu/hw/alpha/dp264.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/fsl-imx6.c
/qemu/hw/arm/sbsa-ref.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/arm/smmu-internal.h
/qemu/hw/arm/smmuv3-internal.h
/qemu/hw/arm/smmuv3.c
/qemu/hw/arm/trace-events
/qemu/hw/arm/virt.c
/qemu/hw/arm/xlnx-zynqmp.c
/qemu/hw/core/machine.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/dma/xilinx_axidma.c
/qemu/hw/hppa/machine.c
/qemu/hw/input/virtio-input-hid.c
/qemu/hw/loongarch/virt.c
/qemu/hw/mips/loongson3_virt.c
/qemu/hw/ppc/pegasos2.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_core.c
/qemu/hw/ppc/pnv_lpc.c
/qemu/hw/ppc/prep.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_caps.c
/qemu/hw/ppc/spapr_cpu_core.c
/qemu/hw/ppc/spapr_hcall.c
/qemu/hw/scsi/lsi53c895a.c
/qemu/hw/usb/hcd-ohci.c
/qemu/hw/vfio/pci.c
/qemu/hw/virtio/virtio-input-pci.c
/qemu/hw/virtio/virtio-qmp.c
/qemu/hw/xtensa/virt.c
/qemu/include/hw/arm/fsl-imx6.h
/qemu/include/hw/arm/smmu-common.h
/qemu/include/hw/arm/smmuv3.h
/qemu/include/hw/ppc/pnv.h
/qemu/include/hw/ppc/spapr.h
/qemu/include/hw/virtio/virtio-input.h
/qemu/include/monitor/monitor.h
/qemu/include/qemu/help-texts.h
/qemu/include/sysemu/os-win32.h
/qemu/include/ui/console.h
/qemu/include/ui/input.h
/qemu/meson.build
/qemu/monitor/hmp.c
/qemu/monitor/monitor-internal.h
/qemu/monitor/monitor.c
/qemu/monitor/qmp.c
/qemu/qapi/ui.json
/qemu/qga/meson.build
/qemu/replay/replay-input.c
/qemu/scripts/archive-source.sh
/qemu/scripts/ci/gitlab-kubernetes-runners/values.yaml
/qemu/softmmu/ioport.c
/qemu/subprojects/dtc
/qemu/subprojects/keycodemapdb
/qemu/subprojects/slirp.wrap
/qemu/target/arm/Kconfig
/qemu/target/arm/tcg/tlb_helper.c
/qemu/target/hexagon/gen_analyze_funcs.py
/qemu/target/hexagon/gen_helper_funcs.py
/qemu/target/hexagon/gen_helper_protos.py
/qemu/target/hexagon/gen_idef_parser_funcs.py
/qemu/target/hexagon/gen_op_regs.py
/qemu/target/hexagon/gen_tcg_funcs.py
/qemu/target/hexagon/genptr.c
/qemu/target/hexagon/hex_common.py
/qemu/target/hexagon/mmvec/decode_ext_mmvec.c
/qemu/target/hexagon/translate.c
/qemu/target/i386/cpu.c
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/insn_trans/trans_lsx.c.inc
/qemu/target/loongarch/op_helper.c
/qemu/target/ppc/cpu-models.c
/qemu/target/ppc/cpu-models.h
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/fpu_helper.c
/qemu/target/ppc/helper_regs.c
/qemu/target/ppc/insn32.decode
/qemu/target/ppc/kvm.c
/qemu/target/ppc/kvm_ppc.h
/qemu/target/ppc/misc_helper.c
/qemu/target/ppc/power8-pmu.c
/qemu/target/ppc/spr_common.h
/qemu/target/ppc/translate.c
/qemu/target/ppc/translate/fp-impl.c.inc
/qemu/tcg/mips/tcg-target.c.inc
/qemu/tcg/mips/tcg-target.h
/qemu/tcg/riscv/tcg-target-con-set.h
/qemu/tcg/riscv/tcg-target-con-str.h
/qemu/tcg/riscv/tcg-target.c.inc
/qemu/tcg/riscv/tcg-target.h
/qemu/tcg/tcg.c
/qemu/tests/Makefile.include
/qemu/tests/docker/Makefile.include
/qemu/tests/migration/meson.build
/qemu/tests/qemu-iotests/051.out
/qemu/tests/qemu-iotests/051.pc.out
/qemu/tests/qtest/ac97-test.c
/qemu/tests/qtest/bios-tables-test.c
/qemu/tests/qtest/cdrom-test.c
/qemu/tests/qtest/device-plug-test.c
/qemu/tests/qtest/fuzz-lsi53c895a-test.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/rtl8139-test.c
/qemu/tests/qtest/usb-hcd-ehci-test.c
/qemu/tests/qtest/usb-hcd-uhci-test.c
/qemu/tests/tcg/hexagon/Makefile.target
/qemu/tests/tcg/hexagon/atomics.c
/qemu/tests/tcg/hexagon/brev.c
/qemu/tests/tcg/hexagon/circ.c
/qemu/tests/tcg/hexagon/dual_stores.c
/qemu/tests/tcg/hexagon/fpstuff.c
/qemu/tests/tcg/hexagon/hex_sigsegv.c
/qemu/tests/tcg/hexagon/hex_test.h
/qemu/tests/tcg/hexagon/hvx_misc.c
/qemu/tests/tcg/hexagon/load_align.c
/qemu/tests/tcg/hexagon/load_unpack.c
/qemu/tests/tcg/hexagon/mem_noshuf.c
/qemu/tests/tcg/hexagon/mem_noshuf_exception.c
/qemu/tests/tcg/hexagon/misc.c
/qemu/tests/tcg/hexagon/multi_result.c
/qemu/tests/tcg/hexagon/overflow.c
/qemu/tests/tcg/hexagon/preg_alias.c
/qemu/tests/tcg/hexagon/read_write_overlap.c
/qemu/tests/tcg/hexagon/reg_mut.c
/qemu/tests/tcg/hexagon/usr.c
/qemu/tests/vm/Makefile.include
/qemu/ui/cursor.c
/qemu/ui/dbus-listener.c
/qemu/ui/gtk-egl.c
/qemu/ui/gtk-gl-area.c
/qemu/ui/gtk.c
/qemu/ui/input.c
/qemu/ui/meson.build
/qemu/ui/sdl2-gl.c
/qemu/ui/sdl2.c
/qemu/ui/trace-events
/qemu/util/oslib-win32.c
/qemu/util/vfio-helpers.c
645e3a8101-Apr-2023 Richard Henderson <richard.henderson@linaro.org>

tcg: Remove DEBUG_DISAS

This had been set since the beginning, is never undefined,
and it would seem to be harmful to debugging to do so.

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

tcg: Remove DEBUG_DISAS

This had been set since the beginning, is never undefined,
and it would seem to be harmful to debugging to do so.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

8dc24ff420-May-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Correctly use atomic128.h in ldst_atomicity.c.inc

Remove the locally defined load_atomic16 and store_atomic16,
along with HAVE_al16 and HAVE_al16_fast in favor of the
routines defined in

accel/tcg: Correctly use atomic128.h in ldst_atomicity.c.inc

Remove the locally defined load_atomic16 and store_atomic16,
along with HAVE_al16 and HAVE_al16_fast in favor of the
routines defined in atomic128.h.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

4deb39eb20-May-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Eliminate #if on HAVE_ATOMIC128 and HAVE_CMPXCHG128

These symbols will shortly become dynamic runtime tests and
therefore not appropriate for the preprocessor. Use the
matching CONFIG_*

accel/tcg: Eliminate #if on HAVE_ATOMIC128 and HAVE_CMPXCHG128

These symbols will shortly become dynamic runtime tests and
therefore not appropriate for the preprocessor. Use the
matching CONFIG_* symbols for that purpose.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

7bedee3220-May-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Remove prot argument to atomic_mmu_lookup

Now that load/store are gone, we're always passing
PAGE_READ | PAGE_WRITE for RMW atomic operations.

Reviewed-by: Alex Bennée <alex.bennee@linar

accel/tcg: Remove prot argument to atomic_mmu_lookup

Now that load/store are gone, we're always passing
PAGE_READ | PAGE_WRITE for RMW atomic operations.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

ec4a962920-May-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Remove cpu_atomic_{ld,st}o_*_mmu

Atomic load/store of 128-byte quantities is now handled
by cpu_{ld,st}16_mmu.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard He

accel/tcg: Remove cpu_atomic_{ld,st}o_*_mmu

Atomic load/store of 128-byte quantities is now handled
by cpu_{ld,st}16_mmu.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

fbea7a4020-May-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Unify cpu_{ld,st}*_{be,le}_mmu

With the current structure of cputlb.c, there is no difference
between the little-endian and big-endian entry points, aside
from the assert. Unify the pair

accel/tcg: Unify cpu_{ld,st}*_{be,le}_mmu

With the current structure of cputlb.c, there is no difference
between the little-endian and big-endian entry points, aside
from the assert. Unify the pairs of functions.

The only use of the functions with explicit endianness was in
target/sparc64, and that was only to satisfy the assert: the
correct endianness is already built into memop.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

333c813b18-May-2023 Richard Henderson <richard.henderson@linaro.org>

include/qemu: Move CONFIG_ATOMIC128_OPT handling to atomic128.h

Not only the routines in ldst_atomicity.c.inc need markup,
but also the ones in the headers.

Reviewed-by: Alex Bennée <alex.bennee@li

include/qemu: Move CONFIG_ATOMIC128_OPT handling to atomic128.h

Not only the routines in ldst_atomicity.c.inc need markup,
but also the ones in the headers.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...


/qemu/.gitlab-ci.d/buildtest-template.yml
/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/custom-runners.yml
/qemu/MAINTAINERS
/qemu/Makefile
tcg/ldst_atomicity.c.inc
/qemu/backends/hostmem-file.c
/qemu/block.c
/qemu/block/commit.c
/qemu/block/create.c
/qemu/block/crypto.c
/qemu/block/export/export.c
/qemu/block/graph-lock.c
/qemu/block/mirror.c
/qemu/block/parallels.c
/qemu/block/qcow.c
/qemu/block/qcow2.c
/qemu/block/qed.c
/qemu/block/raw-format.c
/qemu/block/stream.c
/qemu/block/vdi.c
/qemu/block/vhdx.c
/qemu/block/vmdk.c
/qemu/block/vpc.c
/qemu/blockdev.c
/qemu/blockjob.c
/qemu/configs/targets/hexagon-linux-user.mak
/qemu/configure
/qemu/docs/about/deprecated.rst
/qemu/docs/devel/qapi-code-gen.rst
/qemu/docs/interop/index.rst
/qemu/docs/interop/qcow2.txt
/qemu/docs/interop/qmp-spec.rst
/qemu/docs/system/devices/cxl.rst
/qemu/docs/system/devices/igb.rst
/qemu/gdb-xml/hexagon-core.xml
/qemu/gdb-xml/hexagon-hvx.xml
/qemu/gdbstub/gdbstub.c
/qemu/gdbstub/internals.h
/qemu/gdbstub/softmmu.c
/qemu/gdbstub/user.c
/qemu/host/include/aarch64/host/atomic128-cas.h
/qemu/host/include/aarch64/host/atomic128-ldst.h
/qemu/host/include/aarch64/host/cpuinfo.h
/qemu/host/include/generic/host/atomic128-cas.h
/qemu/host/include/generic/host/atomic128-ldst.h
/qemu/host/include/generic/host/cpuinfo.h
/qemu/host/include/i386/host/cpuinfo.h
/qemu/host/include/x86_64/host/cpuinfo.h
/qemu/hw/arm/virt.c
/qemu/hw/char/parallel-isa.c
/qemu/hw/char/parallel.c
/qemu/hw/core/machine.c
/qemu/hw/cxl/cxl-cdat.c
/qemu/hw/cxl/cxl-component-utils.c
/qemu/hw/cxl/cxl-device-utils.c
/qemu/hw/cxl/cxl-mailbox-utils.c
/qemu/hw/i386/Kconfig
/qemu/hw/i386/acpi-common.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/isa/Kconfig
/qemu/hw/isa/isa-superio.c
/qemu/hw/isa/lpc_ich9.c
/qemu/hw/isa/piix3.c
/qemu/hw/mem/cxl_type3.c
/qemu/hw/net/Kconfig
/qemu/hw/net/e1000.c
/qemu/hw/net/e1000e_core.c
/qemu/hw/net/e1000e_core.h
/qemu/hw/net/e1000x_common.c
/qemu/hw/net/e1000x_common.h
/qemu/hw/net/e1000x_regs.h
/qemu/hw/net/igb.c
/qemu/hw/net/igb_common.h
/qemu/hw/net/igb_core.c
/qemu/hw/net/igb_regs.h
/qemu/hw/net/igbvf.c
/qemu/hw/net/net_rx_pkt.c
/qemu/hw/net/net_rx_pkt.h
/qemu/hw/net/net_tx_pkt.c
/qemu/hw/net/net_tx_pkt.h
/qemu/hw/net/rtl8139.c
/qemu/hw/net/trace-events
/qemu/hw/net/virtio-net.c
/qemu/hw/net/vmxnet3.c
/qemu/hw/pci-bridge/Kconfig
/qemu/hw/pci-bridge/cxl_upstream.c
/qemu/hw/pci-bridge/meson.build
/qemu/hw/pci-host/i440fx.c
/qemu/hw/pci-host/pam.c
/qemu/hw/pci-host/q35.c
/qemu/hw/pci/pci.c
/qemu/hw/pci/pcie_aer.c
/qemu/hw/ppc/e500.c
/qemu/hw/ppc/e500plat.c
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/ppc/mac_oldworld.c
/qemu/hw/ppc/mpc8544ds.c
/qemu/hw/ppc/ppc440_bamboo.c
/qemu/hw/ppc/prep.c
/qemu/hw/ppc/spapr.c
/qemu/hw/s390x/s390-stattrib.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/sh4/r2d.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/virtio/vhost-shadow-virtqueue.c
/qemu/hw/virtio/vhost-shadow-virtqueue.h
/qemu/hw/virtio/vhost-user.c
/qemu/hw/virtio/vhost-vdpa.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-crypto.c
/qemu/hw/virtio/virtio-mem.c
/qemu/hw/virtio/virtio-pci.c
/qemu/include/block/block-global-state.h
/qemu/include/block/block_int-common.h
/qemu/include/block/blockjob_int.h
/qemu/include/exec/memory.h
/qemu/include/exec/ram_addr.h
/qemu/include/exec/ramblock.h
/qemu/include/hw/boards.h
/qemu/include/hw/char/parallel.h
/qemu/include/hw/cxl/cxl_device.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/pci-host/pam.h
/qemu/include/hw/pci/pci.h
/qemu/include/hw/southbridge/ich9.h
/qemu/include/hw/southbridge/piix.h
/qemu/include/hw/virtio/vhost-vdpa.h
/qemu/include/hw/virtio/vhost.h
/qemu/include/hw/virtio/virtio.h
/qemu/include/io/channel.h
/qemu/include/migration/colo.h
/qemu/include/migration/qemu-file-types.h
/qemu/include/net/eth.h
/qemu/include/qemu/atomic128.h
/qemu/include/qemu/crc32c.h
/qemu/io/channel.c
/qemu/linux-user/hexagon/cpu_loop.c
/qemu/linux-user/hexagon/target_elf.h
/qemu/meson.build
/qemu/meson_options.txt
/qemu/migration/block-dirty-bitmap.c
/qemu/migration/block.c
/qemu/migration/colo.c
/qemu/migration/meson.build
/qemu/migration/migration-stats.c
/qemu/migration/migration-stats.h
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/multifd.c
/qemu/migration/options.c
/qemu/migration/options.h
/qemu/migration/qemu-file.c
/qemu/migration/qemu-file.h
/qemu/migration/ram.c
/qemu/migration/rdma.c
/qemu/migration/savevm.c
/qemu/migration/trace-events
/qemu/migration/xbzrle.c
/qemu/migration/xbzrle.h
/qemu/nbd/server.c
/qemu/net/eth.c
/qemu/net/meson.build
/qemu/python/qemu/qmp/models.py
/qemu/python/qemu/qmp/qmp_client.py
/qemu/python/scripts/mkvenv.py
/qemu/python/setup.cfg
/qemu/qapi/control.json
/qemu/qapi/qapi-schema.json
/qemu/qapi/qom.json
/qemu/qemu-img.c
/qemu/qemu-options.hx
/qemu/qobject/json-lexer.c
/qemu/scripts/archive-source.sh
/qemu/scripts/ci/org.centos/stream/8/x86_64/test-avocado
/qemu/scripts/meson-buildoptions.py
/qemu/scripts/meson-buildoptions.sh
/qemu/scripts/modinfo-collect.py
/qemu/scripts/modinfo-generate.py
/qemu/scripts/probe-gdb-support.py
/qemu/scripts/qapi/parser.py
/qemu/softmmu/memory.c
/qemu/softmmu/physmem.c
/qemu/softmmu/vl.c
/qemu/stubs/colo-compare.c
/qemu/stubs/colo.c
/qemu/stubs/meson.build
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/kvm.c
/qemu/target/arm/kvm64.c
/qemu/target/arm/kvm_arm.h
/qemu/target/hexagon/README
/qemu/target/hexagon/arch.c
/qemu/target/hexagon/attribs_def.h.inc
/qemu/target/hexagon/cpu.c
/qemu/target/hexagon/cpu.h
/qemu/target/hexagon/decode.c
/qemu/target/hexagon/gdbstub.c
/qemu/target/hexagon/gen_analyze_funcs.py
/qemu/target/hexagon/gen_helper_funcs.py
/qemu/target/hexagon/gen_helper_protos.py
/qemu/target/hexagon/gen_idef_parser_funcs.py
/qemu/target/hexagon/gen_tcg.h
/qemu/target/hexagon/gen_tcg_funcs.py
/qemu/target/hexagon/gen_tcg_hvx.h
/qemu/target/hexagon/genptr.c
/qemu/target/hexagon/genptr.h
/qemu/target/hexagon/helper.h
/qemu/target/hexagon/hex_common.py
/qemu/target/hexagon/iclass.c
/qemu/target/hexagon/idef-parser/idef-parser.lex
/qemu/target/hexagon/idef-parser/idef-parser.y
/qemu/target/hexagon/idef-parser/parser-helpers.c
/qemu/target/hexagon/idef-parser/parser-helpers.h
/qemu/target/hexagon/imported/branch.idef
/qemu/target/hexagon/imported/encode_pp.def
/qemu/target/hexagon/imported/ldst.idef
/qemu/target/hexagon/imported/mmvec/encode_ext.def
/qemu/target/hexagon/imported/mmvec/ext.idef
/qemu/target/hexagon/internal.h
/qemu/target/hexagon/macros.h
/qemu/target/hexagon/mmvec/macros.h
/qemu/target/hexagon/op_helper.c
/qemu/target/hexagon/op_helper.h
/qemu/target/hexagon/translate.c
/qemu/target/hexagon/translate.h
/qemu/tcg/aarch64/tcg-target.c.inc
/qemu/tcg/aarch64/tcg-target.h
/qemu/tcg/i386/tcg-target.c.inc
/qemu/tcg/i386/tcg-target.h
/qemu/tests/avocado/acpi-bits.py
/qemu/tests/avocado/netdev-ethtool.py
/qemu/tests/bench/meson.build
/qemu/tests/data/acpi/microvm/APIC
/qemu/tests/data/acpi/microvm/APIC.ioapic2
/qemu/tests/data/acpi/microvm/APIC.pcie
/qemu/tests/data/acpi/pc/APIC
/qemu/tests/data/acpi/pc/APIC.acpihmat
/qemu/tests/data/acpi/pc/APIC.cphp
/qemu/tests/data/acpi/pc/APIC.dimmpxm
/qemu/tests/data/acpi/q35/APIC
/qemu/tests/data/acpi/q35/APIC.acpihmat
/qemu/tests/data/acpi/q35/APIC.acpihmat-noinitiator
/qemu/tests/data/acpi/q35/APIC.core-count2
/qemu/tests/data/acpi/q35/APIC.cphp
/qemu/tests/data/acpi/q35/APIC.dimmpxm
/qemu/tests/data/acpi/q35/APIC.xapic
/qemu/tests/guest-debug/run-test.py
/qemu/tests/qapi-schema/doc-interleaved-section.err
/qemu/tests/qemu-iotests/172
/qemu/tests/qemu-iotests/245
/qemu/tests/qemu-iotests/245.out
/qemu/tests/qemu-iotests/iotests.py
/qemu/tests/qemu-iotests/tests/graph-changes-while-io
/qemu/tests/qemu-iotests/tests/graph-changes-while-io.out
/qemu/tests/qtest/bios-tables-test.c
/qemu/tests/qtest/cdrom-test.c
/qemu/tests/qtest/cxl-test.c
/qemu/tests/qtest/device-plug-test.c
/qemu/tests/qtest/libqos/igb.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/readconfig-test.c
/qemu/tests/qtest/usb-hcd-uhci-test.c
/qemu/tests/qtest/virtio-ccw-test.c
/qemu/tests/tcg/hexagon/Makefile.target
/qemu/tests/tcg/hexagon/fpstuff.c
/qemu/tests/tcg/hexagon/hvx_misc.c
/qemu/tests/tcg/hexagon/invalid-slots.c
/qemu/tests/tcg/hexagon/misc.c
/qemu/tests/tcg/hexagon/read_write_overlap.c
/qemu/tests/tcg/hexagon/v68_hvx.c
/qemu/tests/tcg/hexagon/v68_scalar.c
/qemu/tests/tcg/hexagon/v69_hvx.c
/qemu/tests/tcg/hexagon/v6mpy_ref.c.inc
/qemu/tests/tcg/hexagon/v73_scalar.c
/qemu/tests/tcg/multiarch/system/Makefile.softmmu-target
/qemu/tests/unit/meson.build
/qemu/tests/unit/test-bdrv-drain.c
/qemu/tests/unit/test-nested-aio-poll.c
/qemu/tests/unit/test-xbzrle.c
/qemu/util/aio-posix.c
/qemu/util/bufferiszero.c
/qemu/util/cpuinfo-aarch64.c
/qemu/util/cpuinfo-i386.c
/qemu/util/crc32c.c
/qemu/util/meson.build
297e818218-May-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Fix append_mem_cb

In fcdab382c8b9 we removed a tcg_gen_extu_tl_i64 from gen_empty_mem_cb,
and failed to adjust the associated copy, leading to a failed assert.

Fixes: fcdab382c8b9 ("acce

accel/tcg: Fix append_mem_cb

In fcdab382c8b9 we removed a tcg_gen_extu_tl_i64 from gen_empty_mem_cb,
and failed to adjust the associated copy, leading to a failed assert.

Fixes: fcdab382c8b9 ("accel/tcg: Widen plugin_gen_empty_mem_callback to i64")
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20230518145813.2940745-1-richard.henderson@linaro.org>

show more ...


/qemu/.gitlab-ci.d/buildtest-template.yml
/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitmodules
/qemu/MAINTAINERS
/qemu/Makefile
tcg/plugin-gen.c
/qemu/configure
/qemu/contrib/plugins/Makefile
/qemu/docs/about/build-platforms.rst
/qemu/docs/conf.py
/qemu/docs/devel/acpi-bits.rst
/qemu/docs/devel/build-system.rst
/qemu/docs/devel/testing.rst
/qemu/docs/meson.build
/qemu/docs/system/device-emulation.rst
/qemu/docs/system/devices/usb-u2f.rst
/qemu/docs/system/devices/usb.rst
/qemu/hw/arm/sbsa-ref.c
/qemu/hw/arm/vexpress.c
/qemu/hw/arm/virt.c
/qemu/hw/scsi/scsi-generic.c
/qemu/meson.build
/qemu/meson_options.txt
/qemu/python/Makefile
/qemu/python/scripts/mkvenv.py
/qemu/python/scripts/vendor.py
/qemu/python/setup.cfg
/qemu/python/tests/flake8.sh
/qemu/python/tests/isort.sh
/qemu/python/tests/minreqs.txt
/qemu/python/tests/mypy.sh
/qemu/python/tests/pylint.sh
/qemu/python/wheels/meson-0.63.3-py3-none-any.whl
/qemu/qga/meson.build
/qemu/scripts/ci/org.centos/stream/8/x86_64/test-avocado
/qemu/scripts/coverity-scan/COMPONENTS.md
/qemu/scripts/device-crash-test
/qemu/scripts/meson-buildoptions.py
/qemu/scripts/meson-buildoptions.sh
/qemu/scripts/qapi/mypy.ini
/qemu/target/arm/cortex-regs.c
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/debug_helper.c
/qemu/target/arm/kvm.c
/qemu/target/arm/kvm64.c
/qemu/target/arm/kvm_arm.h
/qemu/target/arm/tcg/a64.decode
/qemu/target/arm/tcg/meson.build
/qemu/target/arm/tcg/sve_helper.c
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/arm/tcg/translate.h
/qemu/tcg/meson.build
/qemu/tests/Makefile.include
/qemu/tests/docker/dockerfiles/debian-all-test-cross.docker
/qemu/tests/docker/dockerfiles/debian-hexagon-cross.docker
/qemu/tests/docker/dockerfiles/debian-riscv64-cross.docker
/qemu/tests/docker/dockerfiles/debian-tricore-cross.docker
/qemu/tests/qemu-iotests/meson.build
/qemu/tests/qtest/meson.build
/qemu/tests/requirements.txt
/qemu/tests/unit/meson.build
/qemu/tests/vm/netbsd
/qemu/util/coroutine-windows.c
/qemu/util/meson.build
2e73952903-Mar-2023 Paolo Bonzini <pbonzini@redhat.com>

tcg: round-robin: do not use mb_read for rr_current_cpu

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

856e23a009-May-2023 Gavin Shan <gshan@redhat.com>

kvm: Enable dirty ring for arm64

arm64 has different capability from x86 to enable the dirty ring, which
is KVM_CAP_DIRTY_LOG_RING_ACQ_REL. Besides, arm64 also needs the backup
bitmap extension (KVM

kvm: Enable dirty ring for arm64

arm64 has different capability from x86 to enable the dirty ring, which
is KVM_CAP_DIRTY_LOG_RING_ACQ_REL. Besides, arm64 also needs the backup
bitmap extension (KVM_CAP_DIRTY_LOG_RING_WITH_BITMAP) when 'kvm-arm-gicv3'
or 'arm-its-kvm' device is enabled. Here the extension is always enabled
and the unnecessary overhead to do the last stage of dirty log synchronization
when those two devices aren't used is introduced, but the overhead should
be very small and acceptable. The benefit is cover future cases where those
two devices are used without modifying the code.

Signed-off-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Tested-by: Zhenyu Zhang <zhenyzha@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Message-Id: <20230509022122.20888-5-gshan@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

3794cb9409-May-2023 Gavin Shan <gshan@redhat.com>

kvm: Add helper kvm_dirty_ring_init()

Due to multiple capabilities associated with the dirty ring for different
architectures: KVM_CAP_DIRTY_{LOG_RING, LOG_RING_ACQ_REL} for x86 and
arm64 separately

kvm: Add helper kvm_dirty_ring_init()

Due to multiple capabilities associated with the dirty ring for different
architectures: KVM_CAP_DIRTY_{LOG_RING, LOG_RING_ACQ_REL} for x86 and
arm64 separately. There will be more to be done in order to support the
dirty ring for arm64.

Lets add helper kvm_dirty_ring_init() to enable the dirty ring. With this,
the code looks a bit clean.

No functional change intended.

Signed-off-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Tested-by: Zhenyu Zhang <zhenyzha@redhat.com>
Message-Id: <20230509022122.20888-4-gshan@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

b20cc77609-May-2023 Gavin Shan <gshan@redhat.com>

kvm: Synchronize the backup bitmap in the last stage

In the last stage of live migration or memory slot removal, the
backup bitmap needs to be synchronized when it has been enabled.

Signed-off-by:

kvm: Synchronize the backup bitmap in the last stage

In the last stage of live migration or memory slot removal, the
backup bitmap needs to be synchronized when it has been enabled.

Signed-off-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Tested-by: Zhenyu Zhang <zhenyzha@redhat.com>
Message-Id: <20230509022122.20888-3-gshan@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

1e493be509-May-2023 Gavin Shan <gshan@redhat.com>

migration: Add last stage indicator to global dirty log

The global dirty log synchronization is used when KVM and dirty ring
are enabled. There is a particularity for ARM64 where the backup
bitmap i

migration: Add last stage indicator to global dirty log

The global dirty log synchronization is used when KVM and dirty ring
are enabled. There is a particularity for ARM64 where the backup
bitmap is used to track dirty pages in non-running-vcpu situations.
It means the dirty ring works with the combination of ring buffer
and backup bitmap. The dirty bits in the backup bitmap needs to
collected in the last stage of live migration.

In order to identify the last stage of live migration and pass it
down, an extra parameter is added to the relevant functions and
callbacks. This last stage indicator isn't used until the dirty
ring is enabled in the subsequent patches.

No functional change intended.

Signed-off-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Tested-by: Zhenyu Zhang <zhenyzha@redhat.com>
Message-Id: <20230509022122.20888-2-gshan@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

a66efde102-Apr-2023 Richard Henderson <richard.henderson@linaro.org>

tcg: Add tlb_dyn_max_bits to TCGContext

Disconnect guest tlb parameters from TCG compilation.

Reviewed-by: Anton Johansson <anjo@rev.ng>
Signed-off-by: Richard Henderson <richard.henderson@linaro.o

tcg: Add tlb_dyn_max_bits to TCGContext

Disconnect guest tlb parameters from TCG compilation.

Reviewed-by: Anton Johansson <anjo@rev.ng>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

aece72b724-Mar-2023 Richard Henderson <richard.henderson@linaro.org>

tcg: Add page_bits and page_mask to TCGContext

Disconnect guest page size from TCG compilation.
While this could be done via exec/target_page.h, we want to cache
the value across multiple memory acc

tcg: Add page_bits and page_mask to TCGContext

Disconnect guest page size from TCG compilation.
While this could be done via exec/target_page.h, we want to cache
the value across multiple memory access operations, so we might
as well initialize this early.

The changes within tcg/ are entirely mechanical:

sed -i s/TARGET_PAGE_BITS/s->page_bits/g
sed -i s/TARGET_PAGE_MASK/s->page_mask/g

Reviewed-by: Anton Johansson <anjo@rev.ng>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

4baf397810-Mar-2023 Richard Henderson <richard.henderson@linaro.org>

tcg: Add addr_type to TCGContext

This will enable replacement of TARGET_LONG_BITS within tcg/.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@

tcg: Add addr_type to TCGContext

This will enable replacement of TARGET_LONG_BITS within tcg/.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

fcdab38214-Mar-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Widen plugin_gen_empty_mem_callback to i64

Since we do this inside gen_empty_mem_cb anyway, let's
do this earlier inside tcg expansion.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

accel/tcg: Widen plugin_gen_empty_mem_callback to i64

Since we do this inside gen_empty_mem_cb anyway, let's
do this earlier inside tcg expansion.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

1...<<11121314151617181920>>...48