History log of /qemu/accel/ (Results 201 – 225 of 1203)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
f1ce0b8022-Jul-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Fix sense of read-only probes in ldst_atomicity

In the initial commit, cdfac37be0d, the sense of the test is incorrect,
as the -1/0 return was confusing. In bef6f008b981, we mechanically

accel/tcg: Fix sense of read-only probes in ldst_atomicity

In the initial commit, cdfac37be0d, the sense of the test is incorrect,
as the -1/0 return was confusing. In bef6f008b981, we mechanically
invert all callers while changing to false/true return, preserving the
incorrectness of the test.

Now that the return sense is sane, it's easy to see that if !write,
then the page is not modifiable (i.e. most likely read-only, with
PROT_NONE handled via SIGSEGV).

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

show more ...


/qemu/VERSION
tcg/ldst_atomicity.c.inc
/qemu/audio/pwaudio.c
/qemu/audio/trace-events
/qemu/block/nbd.c
/qemu/block/nvme.c
/qemu/bsd-user/mmap.c
/qemu/disas/riscv.c
/qemu/disas/riscv.h
/qemu/docs/devel/testing.rst
/qemu/docs/system/target-riscv.rst
/qemu/hw/display/virtio-gpu-udmabuf.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/intc/Kconfig
/qemu/hw/nvme/ctrl.c
/qemu/hw/nvram/xlnx-efuse.c
/qemu/hw/riscv/numa.c
/qemu/hw/s390x/Kconfig
/qemu/include/block/nbd.h
/qemu/include/elf.h
/qemu/include/exec/exec-all.h
/qemu/include/ui/console.h
/qemu/linux-user/elfload.c
/qemu/linux-user/mmap.c
/qemu/linux-user/strace.c
/qemu/linux-user/syscall.c
/qemu/meson.build
/qemu/meson_options.txt
/qemu/nbd/client.c
/qemu/nbd/common.c
/qemu/nbd/server.c
/qemu/nbd/trace-events
/qemu/qapi/audio.json
/qemu/qemu-nbd.c
/qemu/qemu-options.hx
/qemu/scripts/meson-buildoptions.sh
/qemu/target/riscv/cpu.c
/qemu/target/riscv/vector_helper.c
/qemu/tcg/ppc/tcg-target.c.inc
/qemu/tests/avocado/machine_aarch64_sbsaref.py
/qemu/tests/docker/dockerfiles/alpine.docker
/qemu/tests/docker/dockerfiles/centos8.docker
/qemu/tests/docker/dockerfiles/debian-amd64-cross.docker
/qemu/tests/docker/dockerfiles/debian-amd64.docker
/qemu/tests/docker/dockerfiles/debian-arm64-cross.docker
/qemu/tests/docker/dockerfiles/debian-armel-cross.docker
/qemu/tests/docker/dockerfiles/debian-armhf-cross.docker
/qemu/tests/docker/dockerfiles/debian-mips64el-cross.docker
/qemu/tests/docker/dockerfiles/debian-mipsel-cross.docker
/qemu/tests/docker/dockerfiles/debian-ppc64el-cross.docker
/qemu/tests/docker/dockerfiles/debian-s390x-cross.docker
/qemu/tests/docker/dockerfiles/fedora.docker
/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/qemu/tests/docker/dockerfiles/ubuntu2204.docker
/qemu/tests/lcitool/libvirt-ci
/qemu/tests/lcitool/projects/qemu.yml
/qemu/tests/lcitool/refresh
/qemu/tests/qtest/migration-test.c
/qemu/tests/vm/basevm.py
/qemu/tests/vm/freebsd
/qemu/tests/vm/generated/README
/qemu/tests/vm/generated/freebsd.json
/qemu/ui/console.c
/qemu/ui/dbus-listener.c
/qemu/ui/egl-helpers.c
/qemu/ui/gtk-egl.c
/qemu/ui/gtk-gl-area.c
/qemu/ui/vnc-clipboard.c
e60a7d0d17-Jul-2023 Peter Maydell <peter.maydell@linaro.org>

accel/tcg: Zero-pad PC in TCG CPU exec trace lines

In commit f0a08b0913befbd we changed the type of the PC from
target_ulong to vaddr. In doing so we inadvertently dropped the
zero-padding on the P

accel/tcg: Zero-pad PC in TCG CPU exec trace lines

In commit f0a08b0913befbd we changed the type of the PC from
target_ulong to vaddr. In doing so we inadvertently dropped the
zero-padding on the PC in trace lines (the second item inside the []
in these lines). They used to look like this on AArch64, for
instance:

Trace 0: 0x7f2260000100 [00000000/0000000040000000/00000061/ff200000]

and now they look like this:
Trace 0: 0x7f4f50000100 [00000000/40000000/00000061/ff200000]

and if the PC happens to be somewhere low like 0x5000
then the field is shown as /5000/.

This is because TARGET_FMT_lx is a "%08x" or "%016x" specifier,
depending on TARGET_LONG_SIZE, whereas VADDR_PRIx is just PRIx64
with no width specifier.

Restore the zero-padding by adding an 016 width specifier to
this tracing and a couple of others that were similarly recently
changed to use VADDR_PRIx without a width specifier.

We can't unfortunately restore the "32-bit guests are padded to
8 hex digits and 64-bit guests to 16 hex digits" behaviour so
easily.

Fixes: f0a08b0913befbd ("accel/tcg/cpu-exec.c: Widen pc to vaddr")
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Message-id: 20230711165434.4123674-1-peter.maydell@linaro.org

show more ...

76f9d6ad13-Jul-2023 Richard Henderson <richard.henderson@linaro.org>

tcg: Use HAVE_CMPXCHG128 instead of CONFIG_CMPXCHG128

We adjust CONFIG_ATOMIC128 and CONFIG_CMPXCHG128 with
CONFIG_ATOMIC128_OPT in atomic128.h. It is difficult
to tell when those changes have been

tcg: Use HAVE_CMPXCHG128 instead of CONFIG_CMPXCHG128

We adjust CONFIG_ATOMIC128 and CONFIG_CMPXCHG128 with
CONFIG_ATOMIC128_OPT in atomic128.h. It is difficult
to tell when those changes have been applied with the
ifdef we must use with CONFIG_CMPXCHG128. So instead
use HAVE_CMPXCHG128, which triggers -Werror-undef when
the proper header has not been included.

Improves tcg_gen_atomic_cmpxchg_i128 for s390x host, which
requires CONFIG_ATOMIC128_OPT. Without this we fall back
to EXCP_ATOMIC to single-step 128-bit atomics, which is
slow enough to cause some tests to time out.

Reported-by: Thomas Huth <thuth@redhat.com>
Tested-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

deba787006-Jul-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Always lock pages before translation

We had done this for user-mode by invoking page_protect
within the translator loop. Extend this to handle system
mode as well. Move page locking out

accel/tcg: Always lock pages before translation

We had done this for user-mode by invoking page_protect
within the translator loop. Extend this to handle system
mode as well. Move page locking out of tb_link_page.

Reported-by: Liren Wei <lrwei@bupt.edu.cn>
Reported-by: Richard W.M. Jones <rjones@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Richard W.M. Jones <rjones@redhat.com>

show more ...

bef6f00807-Jul-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Return bool from page_check_range

Replace the 0/-1 result with true/false.
Invert the sense of the test of all callers.
Document the function.

Signed-off-by: Richard Henderson <richard.h

accel/tcg: Return bool from page_check_range

Replace the 0/-1 result with true/false.
Invert the sense of the test of all callers.
Document the function.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230707204054.8792-25-richard.henderson@linaro.org>

show more ...

91e9e11607-Jul-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Accept more page flags in page_check_range

Only PAGE_WRITE needs special attention, all others can be
handled as we do for PAGE_READ. Adjust the mask.

Signed-off-by: Richard Henderson <

accel/tcg: Accept more page flags in page_check_range

Only PAGE_WRITE needs special attention, all others can be
handled as we do for PAGE_READ. Adjust the mask.

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

show more ...

f2bb7cf207-Jul-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Introduce page_find_range_empty

Use the interval tree to locate an unused range in the VM.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230707204054.879

accel/tcg: Introduce page_find_range_empty

Use the interval tree to locate an unused range in the VM.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230707204054.8792-17-richard.henderson@linaro.org>

show more ...

c2281ddc07-Jul-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Introduce page_check_range_empty

Examine the interval tree to validate that a region
has no existing mappings.

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

accel/tcg: Introduce page_check_range_empty

Examine the interval tree to validate that a region
has no existing mappings.

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

show more ...

cb62bd1506-Jul-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Split out cpu_exec_longjmp_cleanup

Share the setjmp cleanup between cpu_exec_step_atomic
and cpu_exec_setjmp.

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

accel/tcg: Split out cpu_exec_longjmp_cleanup

Share the setjmp cleanup between cpu_exec_step_atomic
and cpu_exec_setjmp.

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

show more ...


/qemu/MAINTAINERS
tcg/cpu-exec.c
/qemu/block/blkio.c
/qemu/configs/devices/s390x-softmmu/default.mak
/qemu/configure
/qemu/contrib/plugins/cache.c
/qemu/contrib/plugins/drcov.c
/qemu/contrib/plugins/execlog.c
/qemu/contrib/plugins/hotblocks.c
/qemu/contrib/plugins/hotpages.c
/qemu/contrib/plugins/howvec.c
/qemu/contrib/plugins/hwprofile.c
/qemu/contrib/plugins/lockstep.c
/qemu/contrib/vhost-user-gpu/vhost-user-gpu.c
/qemu/contrib/vhost-user-gpu/virgl.c
/qemu/contrib/vhost-user-gpu/vugpu.h
/qemu/crypto/aes.c
/qemu/disas/meson.build
/qemu/disas/riscv-xthead.c
/qemu/disas/riscv-xthead.h
/qemu/disas/riscv-xventana.c
/qemu/disas/riscv-xventana.h
/qemu/disas/riscv.c
/qemu/disas/riscv.h
/qemu/docs/about/deprecated.rst
/qemu/docs/devel/index-api.rst
/qemu/docs/devel/index-process.rst
/qemu/docs/devel/index-tcg.rst
/qemu/docs/devel/index.rst
/qemu/docs/devel/qdev-api.rst
/qemu/docs/devel/qom-api.rst
/qemu/docs/devel/qom.rst
/qemu/docs/devel/style.rst
/qemu/docs/devel/tcg.rst
/qemu/docs/interop/qemu-ga.rst
/qemu/docs/interop/vhost-user-gpu.rst
/qemu/docs/pcie_sriov.txt
/qemu/docs/system/arm/sbsa.rst
/qemu/docs/system/arm/virt.rst
/qemu/docs/system/gdb.rst
/qemu/docs/system/ppc/powernv.rst
/qemu/docs/system/riscv/virt.rst
/qemu/docs/tools/virtfs-proxy-helper.rst
/qemu/fsdev/qemu-fsdev.c
/qemu/fsdev/virtfs-proxy-helper.c
/qemu/gdbstub/gdbstub.c
/qemu/gdbstub/internals.h
/qemu/gdbstub/softmmu.c
/qemu/gdbstub/user-target.c
/qemu/host/include/aarch64/host/cpuinfo.h
/qemu/host/include/aarch64/host/crypto/aes-round.h
/qemu/host/include/generic/host/crypto/aes-round.h
/qemu/host/include/i386/host/cpuinfo.h
/qemu/host/include/i386/host/crypto/aes-round.h
/qemu/host/include/ppc/host/cpuinfo.h
/qemu/host/include/ppc/host/crypto/aes-round.h
/qemu/host/include/ppc64/host/cpuinfo.h
/qemu/host/include/ppc64/host/crypto/aes-round.h
/qemu/host/include/x86_64/host/crypto/aes-round.h
/qemu/hw/9pfs/9p-proxy.c
/qemu/hw/9pfs/9p-proxy.h
/qemu/hw/arm/Kconfig
/qemu/hw/arm/sbsa-ref.c
/qemu/hw/arm/virt-acpi-build.c
/qemu/hw/arm/virt.c
/qemu/hw/block/dataplane/virtio-blk.c
/qemu/hw/core/machine-smp.c
/qemu/hw/core/machine.c
/qemu/hw/display/vhost-user-gpu.c
/qemu/hw/display/virtio-gpu-base.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/ide/cmd646.c
/qemu/hw/ide/pci.c
/qemu/hw/ide/piix.c
/qemu/hw/ide/sii3112.c
/qemu/hw/ide/via.c
/qemu/hw/intc/pnv_xive2.c
/qemu/hw/intc/trace-events
/qemu/hw/intc/xive.c
/qemu/hw/intc/xive2.c
/qemu/hw/isa/vt82c686.c
/qemu/hw/loongarch/virt.c
/qemu/hw/mem/memory-device.c
/qemu/hw/mips/boston.c
/qemu/hw/mips/fuloong2e.c
/qemu/hw/mips/loongson3_virt.c
/qemu/hw/mips/malta.c
/qemu/hw/misc/Kconfig
/qemu/hw/misc/allwinner-sramc.c
/qemu/hw/misc/meson.build
/qemu/hw/misc/sifive_e_aon.c
/qemu/hw/net/Kconfig
/qemu/hw/net/e1000.c
/qemu/hw/net/e1000e_core.c
/qemu/hw/net/ftgmac100.c
/qemu/hw/net/i82596.c
/qemu/hw/net/igb.c
/qemu/hw/net/igb_core.c
/qemu/hw/net/igbvf.c
/qemu/hw/net/ne2000.c
/qemu/hw/net/pcnet.c
/qemu/hw/net/rtl8139.c
/qemu/hw/net/sungem.c
/qemu/hw/net/sunhme.c
/qemu/hw/net/trace-events
/qemu/hw/net/virtio-net.c
/qemu/hw/net/vmxnet3.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/pci-host/i440fx.c
/qemu/hw/pci-host/mv64361.c
/qemu/hw/pci-host/mv643xx.h
/qemu/hw/pci-host/q35.c
/qemu/hw/pci-host/sabre.c
/qemu/hw/pci/Kconfig
/qemu/hw/pci/pci.c
/qemu/hw/pci/pci_host.c
/qemu/hw/pci/pcie.c
/qemu/hw/pci/pcie_sriov.c
/qemu/hw/ppc/pegasos2.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_core.c
/qemu/hw/ppc/pnv_psi.c
/qemu/hw/ppc/ppc.c
/qemu/hw/ppc/ppc440.h
/qemu/hw/ppc/ppc440_bamboo.c
/qemu/hw/ppc/ppc440_pcix.c
/qemu/hw/ppc/ppc440_uc.c
/qemu/hw/ppc/ppc4xx_pci.c
/qemu/hw/ppc/sam460ex.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_cpu_core.c
/qemu/hw/ppc/spapr_hcall.c
/qemu/hw/riscv/Kconfig
/qemu/hw/riscv/sifive_e.c
/qemu/hw/riscv/virt.c
/qemu/hw/s390x/Kconfig
/qemu/hw/s390x/ipl.c
/qemu/hw/s390x/meson.build
/qemu/hw/s390x/s390-pci-kvm.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/s390x/tod-kvm.c
/qemu/hw/scsi/scsi-bus.c
/qemu/hw/smbios/smbios.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/usb/Kconfig
/qemu/hw/vfio/ap.c
/qemu/hw/vfio/common.c
/qemu/hw/vfio/migration.c
/qemu/hw/vfio/pci-quirks.c
/qemu/hw/vfio/pci.c
/qemu/hw/vfio/pci.h
/qemu/hw/virtio/Kconfig
/qemu/hw/virtio/meson.build
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vhost-shadow-virtqueue.c
/qemu/hw/virtio/vhost-stub.c
/qemu/hw/virtio/vhost-user-fs.c
/qemu/hw/virtio/vhost-user-gpio.c
/qemu/hw/virtio/vhost-user-scmi-pci.c
/qemu/hw/virtio/vhost-user-scmi.c
/qemu/hw/virtio/vhost-user.c
/qemu/hw/virtio/vhost-vdpa.c
/qemu/hw/virtio/vhost-vsock-common.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-crypto.c
/qemu/hw/virtio/virtio-iommu.c
/qemu/hw/virtio/virtio-md-pci.c
/qemu/hw/virtio/virtio-mem-pci.c
/qemu/hw/virtio/virtio-mem-pci.h
/qemu/hw/virtio/virtio-mem.c
/qemu/hw/virtio/virtio-pmem-pci.c
/qemu/hw/virtio/virtio-pmem-pci.h
/qemu/hw/xtensa/virt.c
/qemu/include/crypto/aes-round.h
/qemu/include/crypto/aes.h
/qemu/include/exec/user/abitypes.h
/qemu/include/hw/boards.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/ide/pci.h
/qemu/include/hw/isa/vt82c686.h
/qemu/include/hw/misc/sifive_e_aon.h
/qemu/include/hw/pci-host/i440fx.h
/qemu/include/hw/pci-host/q35.h
/qemu/include/hw/pci/pci.h
/qemu/include/hw/pci/pci_host.h
/qemu/include/hw/pci/pcie.h
/qemu/include/hw/ppc/pnv_core.h
/qemu/include/hw/ppc/pnv_xscom.h
/qemu/include/hw/ppc/ppc4xx.h
/qemu/include/hw/ppc/xive.h
/qemu/include/hw/qdev-core.h
/qemu/include/hw/riscv/sifive_e.h
/qemu/include/hw/scsi/scsi.h
/qemu/include/hw/vfio/vfio-common.h
/qemu/include/hw/virtio/vhost-user-scmi.h
/qemu/include/hw/virtio/vhost.h
/qemu/include/hw/virtio/virtio-gpu.h
/qemu/include/hw/virtio/virtio-iommu.h
/qemu/include/hw/virtio/virtio-md-pci.h
/qemu/include/hw/virtio/virtio-mem.h
/qemu/include/hw/virtio/virtio.h
/qemu/include/migration/misc.h
/qemu/include/migration/vmstate.h
/qemu/include/standard-headers/drm/drm_fourcc.h
/qemu/include/standard-headers/linux/const.h
/qemu/include/standard-headers/linux/pci_regs.h
/qemu/include/standard-headers/linux/vhost_types.h
/qemu/include/standard-headers/linux/virtio_blk.h
/qemu/include/standard-headers/linux/virtio_config.h
/qemu/include/standard-headers/linux/virtio_net.h
/qemu/linux-headers/asm-arm64/bitsperlong.h
/qemu/linux-headers/asm-arm64/kvm.h
/qemu/linux-headers/asm-generic/bitsperlong.h
/qemu/linux-headers/asm-generic/unistd.h
/qemu/linux-headers/asm-mips/unistd_n32.h
/qemu/linux-headers/asm-mips/unistd_n64.h
/qemu/linux-headers/asm-mips/unistd_o32.h
/qemu/linux-headers/asm-powerpc/unistd_32.h
/qemu/linux-headers/asm-powerpc/unistd_64.h
/qemu/linux-headers/asm-riscv/bitsperlong.h
/qemu/linux-headers/asm-riscv/kvm.h
/qemu/linux-headers/asm-riscv/unistd.h
/qemu/linux-headers/asm-s390/unistd_32.h
/qemu/linux-headers/asm-s390/unistd_64.h
/qemu/linux-headers/asm-x86/kvm.h
/qemu/linux-headers/asm-x86/unistd_32.h
/qemu/linux-headers/asm-x86/unistd_64.h
/qemu/linux-headers/asm-x86/unistd_x32.h
/qemu/linux-headers/linux/const.h
/qemu/linux-headers/linux/kvm.h
/qemu/linux-headers/linux/mman.h
/qemu/linux-headers/linux/psp-sev.h
/qemu/linux-headers/linux/userfaultfd.h
/qemu/linux-headers/linux/vfio.h
/qemu/linux-headers/linux/vhost.h
/qemu/linux-user/elfload.c
/qemu/linux-user/qemu.h
/qemu/linux-user/riscv/syscall32_nr.h
/qemu/linux-user/riscv/syscall64_nr.h
/qemu/linux-user/strace.c
/qemu/linux-user/strace.list
/qemu/linux-user/syscall.c
/qemu/linux-user/syscall_defs.h
/qemu/meson.build
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/postcopy-ram.c
/qemu/migration/ram.c
/qemu/migration/ram.h
/qemu/net/socket.c
/qemu/net/vhost-vdpa.c
/qemu/os-posix.c
/qemu/pc-bios/opensbi-riscv32-generic-fw_dynamic.bin
/qemu/pc-bios/opensbi-riscv64-generic-fw_dynamic.bin
/qemu/python/qemu/qmp/qmp_tui.py
/qemu/python/setup.cfg
/qemu/python/tests/minreqs.txt
/qemu/qemu-options.hx
/qemu/qga/main.c
/qemu/qga/meson.build
/qemu/qga/vss-win32/install.cpp
/qemu/qga/vss-win32/meson.build
/qemu/qga/vss-win32/provider.cpp
/qemu/qga/vss-win32/requester.cpp
/qemu/qga/vss-win32/vss-debug.cpp
/qemu/qga/vss-win32/vss-debug.h
/qemu/roms/opensbi
/qemu/softmmu/physmem.c
/qemu/softmmu/runstate.c
/qemu/stubs/meson.build
/qemu/stubs/virtio-md-pci.c
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu64.c
/qemu/target/arm/gdbstub.c
/qemu/target/arm/helper.c
/qemu/target/arm/helper.h
/qemu/target/arm/tcg/cpu64.c
/qemu/target/arm/tcg/crypto_helper.c
/qemu/target/arm/tcg/sve.decode
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/arm/tcg/translate-neon.c
/qemu/target/arm/tcg/translate-sme.c
/qemu/target/arm/tcg/translate-sve.c
/qemu/target/avr/helper.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/kvm/kvm.c
/qemu/target/i386/ops_sse.h
/qemu/target/mips/cpu-defs.c.inc
/qemu/target/mips/cpu.c
/qemu/target/mips/cpu.h
/qemu/target/mips/helper.h
/qemu/target/mips/internal.h
/qemu/target/mips/sysemu/cp0_timer.c
/qemu/target/mips/tcg/lcsr.decode
/qemu/target/mips/tcg/lcsr_translate.c
/qemu/target/mips/tcg/meson.build
/qemu/target/mips/tcg/mxu_translate.c
/qemu/target/mips/tcg/op_helper.c
/qemu/target/mips/tcg/sysemu/lcsr_helper.c
/qemu/target/mips/tcg/sysemu/meson.build
/qemu/target/mips/tcg/sysemu_helper.h.inc
/qemu/target/mips/tcg/translate.c
/qemu/target/mips/tcg/translate.h
/qemu/target/ppc/arch_dump.c
/qemu/target/ppc/cpu-qom.h
/qemu/target/ppc/cpu.h
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/helper.h
/qemu/target/ppc/int_helper.c
/qemu/target/ppc/internal.h
/qemu/target/ppc/kvm_ppc.h
/qemu/target/ppc/meson.build
/qemu/target/ppc/misc_helper.c
/qemu/target/ppc/spr_common.h
/qemu/target/ppc/timebase_helper.c
/qemu/target/ppc/translate.c
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/cpu_cfg.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/crypto_helper.c
/qemu/target/riscv/csr.c
/qemu/target/riscv/fpu_helper.c
/qemu/target/riscv/helper.h
/qemu/target/riscv/insn32.decode
/qemu/target/riscv/insn_trans/trans_rvbf16.c.inc
/qemu/target/riscv/insn_trans/trans_rvzfa.c.inc
/qemu/target/riscv/insn_trans/trans_rvzfh.c.inc
/qemu/target/riscv/kvm.c
/qemu/target/riscv/kvm_riscv.h
/qemu/target/riscv/op_helper.c
/qemu/target/riscv/translate.c
/qemu/target/riscv/vector_helper.c
/qemu/target/s390x/arch_dump.c
/qemu/target/s390x/cpu-sysemu.c
/qemu/target/s390x/cpu_features.c
/qemu/target/s390x/cpu_models.c
/qemu/target/s390x/diag.c
/qemu/target/s390x/helper.c
/qemu/target/s390x/helper.h
/qemu/target/s390x/ioinst.c
/qemu/target/s390x/kvm/kvm.c
/qemu/target/s390x/kvm/meson.build
/qemu/target/s390x/kvm/pv.c
/qemu/target/s390x/kvm/pv.h
/qemu/target/s390x/mmu_helper.c
/qemu/target/s390x/tcg/fpu_helper.c
/qemu/target/s390x/tcg/insn-data.h.inc
/qemu/target/s390x/tcg/mem_helper.c
/qemu/target/s390x/tcg/translate.c
/qemu/target/xtensa/exc_helper.c
/qemu/tcg/ppc/tcg-target.c.inc
/qemu/tcg/ppc/tcg-target.h
/qemu/tests/avocado/ppc_powernv.py
/qemu/tests/avocado/replay_kernel.py
/qemu/tests/avocado/riscv_opensbi.py
/qemu/tests/data/acpi/q35/DSDT.noacpihp
/qemu/tests/plugin/bb.c
/qemu/tests/plugin/insn.c
/qemu/tests/plugin/mem.c
/qemu/tests/plugin/syscall.c
/qemu/tests/qtest/bios-tables-test.c
/qemu/tests/qtest/hd-geo-test.c
/qemu/tests/qtest/libqos/libqos.c
/qemu/tests/qtest/libqos/libqos.h
/qemu/tests/qtest/libqos/meson.build
/qemu/tests/qtest/libqos/virtio-scmi.c
/qemu/tests/qtest/libqos/virtio-scmi.h
/qemu/tests/qtest/libqtest.c
/qemu/tests/qtest/libqtest.h
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/pnv-xscom-test.c
/qemu/tests/qtest/readconfig-test.c
/qemu/tests/qtest/sifive-e-aon-watchdog-test.c
/qemu/tests/qtest/vhost-user-test.c
/qemu/tests/qtest/xlnx-canfd-test.c
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/sme-outprod1.c
/qemu/tests/tcg/aarch64/sysregs.c
/qemu/tests/tcg/aarch64/test-aes.c
/qemu/tests/tcg/i386/Makefile.target
/qemu/tests/tcg/i386/test-aes.c
/qemu/tests/tcg/multiarch/Makefile.target
/qemu/tests/tcg/multiarch/gdbstub/test-proc-mappings.py
/qemu/tests/tcg/multiarch/test-aes-main.c.inc
/qemu/tests/tcg/ppc64/Makefile.target
/qemu/tests/tcg/ppc64/test-aes.c
/qemu/tests/tcg/riscv64/Makefile.target
/qemu/tests/tcg/riscv64/test-aes.c
/qemu/tests/tcg/riscv64/test-fcvtmod.c
/qemu/tests/tcg/s390x/Makefile.softmmu-target
/qemu/tests/tcg/s390x/Makefile.target
/qemu/tests/tcg/s390x/epsw.c
/qemu/tests/tcg/s390x/gdbstub/test-svc.py
/qemu/tests/tcg/s390x/hello-s390x-asm.S
/qemu/tests/tcg/s390x/larl.c
/qemu/tests/tcg/s390x/lra.S
/qemu/tests/tcg/s390x/mdeb.c
/qemu/tests/tcg/s390x/mie3-mvcrl.c
/qemu/tests/unit/test-qga.c
/qemu/util/async-teardown.c
/qemu/util/cpuinfo-aarch64.c
/qemu/util/cpuinfo-i386.c
/qemu/util/cpuinfo-ppc.c
/qemu/util/meson.build
6d03226b30-Jun-2023 Alex Bennée <alex.bennee@linaro.org>

plugins: force slow path when plugins instrument memory ops

The lack of SVE memory instrumentation has been an omission in plugin
handling since it was introduced. Fortunately we can utilise the
pro

plugins: force slow path when plugins instrument memory ops

The lack of SVE memory instrumentation has been an omission in plugin
handling since it was introduced. Fortunately we can utilise the
probe_* functions to force all all memory access to follow the slow
path. We do this by checking the access type and presence of plugin
memory callbacks and if set return the TLB_MMIO flag.

We have to jump through a few hoops in user mode to re-use the flag
but it was the desired effect:

./qemu-system-aarch64 -display none -serial mon:stdio \
-M virt -cpu max -semihosting-config enable=on \
-kernel ./tests/tcg/aarch64-softmmu/memory-sve \
-plugin ./contrib/plugins/libexeclog.so,ifilter=st1w,afilter=0x40001808 -d plugin

gives (disas doesn't currently understand st1w):

0, 0x40001808, 0xe54342a0, ".byte 0xa0, 0x42, 0x43, 0xe5", store, 0x40213010, RAM, store, 0x40213014, RAM, store, 0x40213018, RAM

And for user-mode:

./qemu-aarch64 \
-plugin contrib/plugins/libexeclog.so,afilter=0x4007c0 \
-d plugin \
./tests/tcg/aarch64-linux-user/sha512-sve

gives:

1..10
ok 1 - do_test(&tests[i])
0, 0x4007c0, 0xa4004b80, ".byte 0x80, 0x4b, 0x00, 0xa4", load, 0x5500800370, load, 0x5500800371, load, 0x5500800372, load, 0x5500800373, load, 0x5500800374, load, 0x5500800375, load, 0x5500800376, load, 0x5500800377, load, 0x5500800378, load, 0x5500800379, load, 0x550080037a, load, 0x550080037b, load, 0x550080037c, load, 0x550080037d, load, 0x550080037e, load, 0x550080037f, load, 0x5500800380, load, 0x5500800381, load, 0x5500800382, load, 0x5500800383, load, 0x5500800384, load, 0x5500800385, load, 0x5500800386, lo
ad, 0x5500800387, load, 0x5500800388, load, 0x5500800389, load, 0x550080038a, load, 0x550080038b, load, 0x550080038c, load, 0x550080038d, load, 0x550080038e, load, 0x550080038f, load, 0x5500800390, load, 0x5500800391, load, 0x5500800392, load, 0x5500800393, load, 0x5500800394, load, 0x5500800395, load, 0x5500800396, load, 0x5500800397, load, 0x5500800398, load, 0x5500800399, load, 0x550080039a, load, 0x550080039b, load, 0x550080039c, load, 0x550080039d, load, 0x550080039e, load, 0x550080039f, load, 0x55008003a0, load, 0x55008003a1, load, 0x55008003a2, load, 0x55008003a3, load, 0x55008003a4, load, 0x55008003a5, load, 0x55008003a6, load, 0x55008003a7, load, 0x55008003a8, load, 0x55008003a9, load, 0x55008003aa, load, 0x55008003ab, load, 0x55008003ac, load, 0x55008003ad, load, 0x55008003ae, load, 0x55008003af

(4007c0 is the ld1b in the sha512-sve)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Cc: Robert Henry <robhenry@microsoft.com>
Cc: Aaron Lindsay <aaron@os.amperecomputing.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20230630180423.558337-20-alex.bennee@linaro.org>

show more ...


/qemu/.gitlab-ci.d/buildtest-template.yml
/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/crossbuild-template.yml
/qemu/.gitlab-ci.d/crossbuilds.yml
/qemu/.gitlab-ci.d/opensbi.yml
/qemu/MAINTAINERS
/qemu/Makefile
tcg/cputlb.c
tcg/user-exec.c
/qemu/docs/devel/testing.rst
/qemu/fpu/softfloat-parts.c.inc
/qemu/fpu/softfloat.c
/qemu/include/exec/cpu-all.h
/qemu/include/exec/exec-all.h
/qemu/include/fpu/softfloat.h
/qemu/include/hw/core/cpu.h
/qemu/include/tcg/tcg.h
/qemu/linux-user/mmap.c
/qemu/qemu-keymap.c
/qemu/scripts/oss-fuzz/lsan_suppressions.txt
/qemu/target/alpha/fpu_helper.c
/qemu/target/arm/ptw.c
/qemu/target/arm/tcg/sve_helper.c
/qemu/target/arm/vfp_helper.c
/qemu/target/nios2/translate.c
/qemu/tcg/tcg-op-vec.c
/qemu/tests/avocado/boot_linux_console.py
/qemu/tests/avocado/machine_aarch64_sbsaref.py
/qemu/tests/docker/dockerfiles/alpine.docker
/qemu/tests/docker/dockerfiles/debian-amd64-cross.docker
/qemu/tests/docker/dockerfiles/debian-arm64-cross.docker
/qemu/tests/docker/dockerfiles/debian-armel-cross.docker
/qemu/tests/docker/dockerfiles/debian-armhf-cross.docker
/qemu/tests/docker/dockerfiles/debian-mips64el-cross.docker
/qemu/tests/docker/dockerfiles/debian-mipsel-cross.docker
/qemu/tests/docker/dockerfiles/debian-ppc64el-cross.docker
/qemu/tests/docker/dockerfiles/debian-riscv64-cross.docker
/qemu/tests/docker/dockerfiles/debian-s390x-cross.docker
/qemu/tests/docker/dockerfiles/fedora-win32-cross.docker
/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/qemu/tests/docker/dockerfiles/fedora.docker
/qemu/tests/docker/test-fuzz
/qemu/tests/lcitool/libvirt-ci
/qemu/tests/lcitool/projects/qemu-minimal.yml
/qemu/tests/lcitool/projects/qemu.yml
/qemu/tests/lcitool/refresh
/qemu/tests/qtest/fuzz/generic_fuzz.c
/qemu/tests/tcg/Makefile.target
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/alpha/Makefile.target
/qemu/tests/tcg/alpha/test-cvttq.c
e665cf7229-Jun-2023 Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>

accel/tcg: Assert one page in tb_invalidate_phys_page_range__locked

Ensure that that both the start and last addresses are within
the same guest page.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayl

accel/tcg: Assert one page in tb_invalidate_phys_page_range__locked

Ensure that that both the start and last addresses are within
the same guest page.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230629082522.606219-3-mark.cave-ayland@ilande.co.uk>
[rth: Use tcg_debug_assert, simplify the expression]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

3307e08c29-Jun-2023 Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>

accel/tcg: Fix start page passed to tb_invalidate_phys_page_range__locked

Due to a copy-paste error in tb_invalidate_phys_range, the wrong
start address was passed to tb_invalidate_phys_page_range__

accel/tcg: Fix start page passed to tb_invalidate_phys_page_range__locked

Due to a copy-paste error in tb_invalidate_phys_range, the wrong
start address was passed to tb_invalidate_phys_page_range__locked.
Correct is to use the start of each page in turn.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Fixes: e506ad6a05 ("accel/tcg: Pass last not end to tb_invalidate_phys_range")
Message-Id: <20230629082522.606219-2-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...


/qemu/.gitlab-ci.d/crossbuilds.yml
/qemu/MAINTAINERS
tcg/tb-maint.c
/qemu/audio/meson.build
/qemu/block.c
/qemu/block/bochs.c
/qemu/block/cloop.c
/qemu/block/dmg.c
/qemu/block/file-posix.c
/qemu/block/graph-lock.c
/qemu/block/io.c
/qemu/block/parallels.c
/qemu/block/qcow.c
/qemu/block/qcow2-bitmap.c
/qemu/block/qcow2-cluster.c
/qemu/block/qcow2-refcount.c
/qemu/block/qcow2.c
/qemu/block/qcow2.h
/qemu/block/qed-check.c
/qemu/block/qed-table.c
/qemu/block/qed.c
/qemu/block/raw-format.c
/qemu/block/vhdx-log.c
/qemu/block/vhdx.c
/qemu/block/vhdx.h
/qemu/block/vmdk.c
/qemu/block/vpc.c
/qemu/blockjob.c
/qemu/docs/devel/vfio-migration.rst
/qemu/docs/system/device-emulation.rst
/qemu/docs/system/devices/keyboard.rst
/qemu/docs/system/devices/nvme.rst
/qemu/docs/system/target-sparc.rst
/qemu/hw/char/escc.c
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/net/vhost_net.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/nvme/ns.c
/qemu/hw/nvme/subsys.c
/qemu/hw/s390x/s390-pci-vfio.c
/qemu/hw/sparc64/niagara.c
/qemu/hw/vfio/common.c
/qemu/hw/vfio/migration.c
/qemu/hw/vfio/pci-quirks.c
/qemu/hw/vfio/pci.c
/qemu/hw/vfio/trace-events
/qemu/include/block/block-io.h
/qemu/include/block/graph-lock.h
/qemu/include/hw/char/escc.h
/qemu/include/hw/vfio/vfio-common.h
/qemu/include/migration/register.h
/qemu/linux-user/i386/cpu_loop.c
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/options.c
/qemu/migration/options.h
/qemu/migration/savevm.c
/qemu/migration/savevm.h
/qemu/migration/target.c
/qemu/migration/trace-events
/qemu/pc-bios/s390-ccw.img
/qemu/pc-bios/s390-ccw/Makefile
/qemu/pc-bios/s390-ccw/cio.h
/qemu/pc-bios/s390-ccw/helper.h
/qemu/pc-bios/s390-ccw/main.c
/qemu/pc-bios/s390-ccw/netmain.c
/qemu/pc-bios/s390-ccw/s390-ccw.h
/qemu/pc-bios/s390-ccw/start.S
/qemu/pc-bios/s390-ccw/virtio-blkdev.c
/qemu/pc-bios/s390-ccw/virtio-scsi.c
/qemu/pc-bios/s390-ccw/virtio-scsi.h
/qemu/pc-bios/s390-ccw/virtio.c
/qemu/pc-bios/s390-ccw/virtio.h
/qemu/pc-bios/s390-netboot.img
/qemu/qapi/migration.json
/qemu/softmmu/icount.c
/qemu/target/i386/cpu.c
/qemu/target/i386/tcg/translate.c
/qemu/target/sparc/translate.c
/qemu/tests/qemu-iotests/tests/iothreads-commit-active
/qemu/tests/qemu-iotests/tests/iothreads-commit-active.out
/qemu/tests/qtest/migration-test.c
/qemu/tests/tcg/s390x/head64.S
/qemu/tests/unit/test-block-iothread.c
/qemu/ui/dbus-listener.c
14a868c620-Jun-2023 Isaku Yamahata <isaku.yamahata@intel.com>

exec/memory: Add symbol for the min value of memory listener priority

Add MEMORY_LISTNER_PRIORITY_MIN for the symbolic value for the min value of
the memory listener instead of the hard-coded magic

exec/memory: Add symbol for the min value of memory listener priority

Add MEMORY_LISTNER_PRIORITY_MIN for the symbolic value for the min value of
the memory listener instead of the hard-coded magic value 0. Add explicit
initialization.

No functional change intended.

Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <29f88477fe82eb774bcfcae7f65ea21995f865f2.1687279702.git.isaku.yamahata@intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...

8be0461d20-Jun-2023 Isaku Yamahata <isaku.yamahata@intel.com>

exec/memory: Add symbol for memory listener priority for device backend

Add MEMORY_LISTENER_PRIORITY_DEV_BACKEND for the symbolic value
for memory listener to replace the hard-coded value 10 for the

exec/memory: Add symbol for memory listener priority for device backend

Add MEMORY_LISTENER_PRIORITY_DEV_BACKEND for the symbolic value
for memory listener to replace the hard-coded value 10 for the
device backend.

No functional change intended.

Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <8314d91688030d7004e96958f12e2c83fb889245.1687279702.git.isaku.yamahata@intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...

5369a36c20-Jun-2023 Isaku Yamahata <isaku.yamahata@intel.com>

exec/memory: Add symbolic value for memory listener priority for accel

Add MEMORY_LISTNER_PRIORITY_ACCEL for the symbolic value for the memory
listener to replace the hard-coded value 10 for accel.

exec/memory: Add symbolic value for memory listener priority for accel

Add MEMORY_LISTNER_PRIORITY_ACCEL for the symbolic value for the memory
listener to replace the hard-coded value 10 for accel.

No functional change intended.

Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <feebe423becc6e2aa375f59f6abce9a85bc15abb.1687279702.git.isaku.yamahata@intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...

dec68f7005-Apr-2023 Philippe Mathieu-Daudé <philmd@linaro.org>

accel/kvm: Declare kvm_direct_msi_allowed in stubs

Avoid when calling kvm_direct_msi_enabled() from
arm_gicv3_its_common.c the next commit:

Undefined symbols for architecture arm64:
"_kvm_dir

accel/kvm: Declare kvm_direct_msi_allowed in stubs

Avoid when calling kvm_direct_msi_enabled() from
arm_gicv3_its_common.c the next commit:

Undefined symbols for architecture arm64:
"_kvm_direct_msi_allowed", referenced from:
_its_class_name in hw_intc_arm_gicv3_its_common.c.o
ld: symbol(s) not found for architecture arm64

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

show more ...

3b295bcb21-Jun-2023 Philippe Mathieu-Daudé <philmd@linaro.org>

accel: Rename HVF 'struct hvf_vcpu_state' -> AccelCPUState

We want all accelerators to share the same opaque pointer in
CPUState.

Rename the 'hvf_vcpu_state' structure as 'AccelCPUState'.

Use the

accel: Rename HVF 'struct hvf_vcpu_state' -> AccelCPUState

We want all accelerators to share the same opaque pointer in
CPUState.

Rename the 'hvf_vcpu_state' structure as 'AccelCPUState'.

Use the generic 'accel' field of CPUState instead of 'hvf'.

Replace g_malloc0() by g_new0() for readability.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20230624174121.11508-17-philmd@linaro.org>

show more ...

af03d22a29-Mar-2023 Philippe Mathieu-Daudé <philmd@linaro.org>

accel: Remove unused hThread variable on TCG/WHPX

On Windows hosts, cpu->hThread is assigned but never accessed:
remove it.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Ri

accel: Remove unused hThread variable on TCG/WHPX

On Windows hosts, cpu->hThread is assigned but never accessed:
remove it.

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

show more ...

187ba69423-Feb-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Move TLB_WATCHPOINT to TLB_SLOW_FLAGS_MASK

This frees up one bit of the primary tlb flags without
impacting the TLB_NOTDIRTY logic.

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

accel/tcg: Move TLB_WATCHPOINT to TLB_SLOW_FLAGS_MASK

This frees up one bit of the primary tlb flags without
impacting the TLB_NOTDIRTY logic.

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

show more ...

58e8f1f623-Feb-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Store some tlb flags in CPUTLBEntryFull

We have run out of bits we can use within the CPUTLBEntry comparators,
as TLB_FLAGS_MASK cannot overlap alignment.

Store slow_flags[] in CPUTLBEnt

accel/tcg: Store some tlb flags in CPUTLBEntryFull

We have run out of bits we can use within the CPUTLBEntry comparators,
as TLB_FLAGS_MASK cannot overlap alignment.

Store slow_flags[] in CPUTLBEntryFull, and merge with the flags from
the comparator. A new TLB_FORCE_SLOW bit is set within the comparator
as an indication that the slow path must be used.

Move TLB_BSWAP to TLB_SLOW_FLAGS_MASK. Since we are out of bits,
we cannot create a new bit without moving an old one.

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

show more ...

97e1576903-Mar-2022 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Remove check_tcg_memory_orders_compatible

We now issue host memory barriers to match the guest memory order.
Continue to disable MTTCG only if the guest has not been ported.

Reviewed-by:

accel/tcg: Remove check_tcg_memory_orders_compatible

We now issue host memory barriers to match the guest memory order.
Continue to disable MTTCG only if the guest has not been ported.

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

show more ...

f86e8f3d03-Mar-2022 Richard Henderson <richard.henderson@linaro.org>

tcg: Add host memory barriers to cpu_ldst.h interfaces

Bring the helpers into line with the rest of tcg in respecting
guest memory ordering.

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

tcg: Add host memory barriers to cpu_ldst.h interfaces

Bring the helpers into line with the rest of tcg in respecting
guest memory ordering.

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

show more ...

1b65b4f507-Jun-2023 Fei Wu <fei2.wu@intel.com>

accel/tcg: remove CONFIG_PROFILER

TBStats will be introduced to replace CONFIG_PROFILER totally, here
remove all CONFIG_PROFILER related stuffs first.

Signed-off-by: Vanderson M. do Rosario <vander

accel/tcg: remove CONFIG_PROFILER

TBStats will be introduced to replace CONFIG_PROFILER totally, here
remove all CONFIG_PROFILER related stuffs first.

Signed-off-by: Vanderson M. do Rosario <vandersonmr2@gmail.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Fei Wu <fei2.wu@intel.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230607122411.3394702-2-fei2.wu@intel.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

b1c0922021-Jun-2023 Anton Johansson <anjo@rev.ng>

accel/tcg: Replace target_ulong with vaddr in translator_*()

Use vaddr for guest virtual address in translator_use_goto_tb() and
translator_loop().

Signed-off-by: Anton Johansson <anjo@rev.ng>
Revi

accel/tcg: Replace target_ulong with vaddr in translator_*()

Use vaddr for guest virtual address in translator_use_goto_tb() and
translator_loop().

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

show more ...

b0326eb921-Jun-2023 Anton Johansson <anjo@rev.ng>

accel/tcg: Replace target_ulong with vaddr in *_mmu_lookup()

Update atomic_mmu_lookup() and cpu_mmu_lookup() to take the guest
virtual address as a vaddr instead of a target_ulong.

Signed-off-by: A

accel/tcg: Replace target_ulong with vaddr in *_mmu_lookup()

Update atomic_mmu_lookup() and cpu_mmu_lookup() to take the guest
virtual address as a vaddr instead of a target_ulong.

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

show more ...

12345678910>>...49