History log of /openbmc/qemu/target/arm/tcg/ (Results 251 – 275 of 357)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
a97d3c1819-Jun-2023 Peter Maydell <peter.maydell@linaro.org>

target/arm: Convert exception generation instructions to decodetree

Convert the exception generation instructions SVC, HVC, SMC, BRK and
HLT to decodetree.

The old decoder decoded the halting-debug

target/arm: Convert exception generation instructions to decodetree

Convert the exception generation instructions SVC, HVC, SMC, BRK and
HLT to decodetree.

The old decoder decoded the halting-debug insnns DCPS1, DCPS2 and
DCPS3 just in order to then make them UNDEF; as with DRPS, we don't
bother to decode them, but document the patterns in a64.decode.

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

show more ...

6e3c804919-Jun-2023 Peter Maydell <peter.maydell@linaro.org>

target/arm: Convert MSR (reg), MRS, SYS, SYSL to decodetree

Convert MSR (reg), MRS, SYS, SYSL to decodetree. For QEMU these are
all essentially the same instruction (system register access).

Signe

target/arm: Convert MSR (reg), MRS, SYS, SYSL to decodetree

Convert MSR (reg), MRS, SYS, SYSL to decodetree. For QEMU these are
all essentially the same instruction (system register access).

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20230602155223.2040685-7-peter.maydell@linaro.org
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...

45d063d119-Jun-2023 Peter Maydell <peter.maydell@linaro.org>

target/arm: Convert MSR (immediate) to decodetree

Convert the MSR (immediate) insn to decodetree. Our implementation
has basically no commonality between the different destinations,
so we decode the

target/arm: Convert MSR (immediate) to decodetree

Convert the MSR (immediate) insn to decodetree. Our implementation
has basically no commonality between the different destinations,
so we decode the destination register in a64.decode.

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

show more ...

d78b662f19-Jun-2023 Peter Maydell <peter.maydell@linaro.org>

target/arm: Convert CFINV, XAFLAG and AXFLAG to decodetree

Convert the CFINV, XAFLAG and AXFLAG insns to decodetree.
The old decoder handles these in handle_msr_i(), but
the architecture defines the

target/arm: Convert CFINV, XAFLAG and AXFLAG to decodetree

Convert the CFINV, XAFLAG and AXFLAG insns to decodetree.
The old decoder handles these in handle_msr_i(), but
the architecture defines them as separate instructions
from MSR (immediate).

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

show more ...

afcd5df519-Jun-2023 Peter Maydell <peter.maydell@linaro.org>

target/arm: Convert barrier insns to decodetree

Convert the insns in the "Barriers" instruction class to
decodetree: CLREX, DSB, DMB, ISB and SB.

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

target/arm: Convert barrier insns to decodetree

Convert the insns in the "Barriers" instruction class to
decodetree: CLREX, DSB, DMB, ISB and SB.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20230602155223.2040685-4-peter.maydell@linaro.org
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...

7fefc70619-Jun-2023 Peter Maydell <peter.maydell@linaro.org>

target/arm: Convert hint instruction space to decodetree

Convert the various instructions in the hint instruction space
to decodetree.

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

target/arm: Convert hint instruction space to decodetree

Convert the various instructions in the hint instruction space
to decodetree.

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

show more ...

68496d4119-Jun-2023 Peter Maydell <peter.maydell@linaro.org>

target/arm: Consistently use finalize_memop_asimd() for ASIMD loads/stores

In the recent refactoring we missed a few places which should be
calling finalize_memop_asimd() for ASIMD loads and stores

target/arm: Consistently use finalize_memop_asimd() for ASIMD loads/stores

In the recent refactoring we missed a few places which should be
calling finalize_memop_asimd() for ASIMD loads and stores but
instead are just calling finalize_memop(); fix these.

For the disas_ldst_single_struct() and disas_ldst_multiple_struct()
cases, this is not a behaviour change because there the size
is never MO_128 and the two finalize functions do the same thing.

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

show more ...

99bb43c019-Jun-2023 Peter Maydell <peter.maydell@linaro.org>

target/arm: Pass memop to gen_mte_check1_mmuidx() in reg_imm9 decode

In disas_ldst_reg_imm9() we missed one place where a call to
a gen_mte_check* function should now be passed the memop we
have cre

target/arm: Pass memop to gen_mte_check1_mmuidx() in reg_imm9 decode

In disas_ldst_reg_imm9() we missed one place where a call to
a gen_mte_check* function should now be passed the memop we
have created rather than just being passed the size. Fix this.

Fixes: 0a9091424d ("target/arm: Pass memop to gen_mte_check1*")
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...

7e27884719-Jun-2023 Peter Maydell <peter.maydell@linaro.org>

target/arm: Return correct result for LDG when ATA=0

The LDG instruction loads the tag from a memory address (identified
by [Xn + offset]), and then merges that tag into the destination
register Xt.

target/arm: Return correct result for LDG when ATA=0

The LDG instruction loads the tag from a memory address (identified
by [Xn + offset]), and then merges that tag into the destination
register Xt. We implemented this correctly for the case when
allocation tags are enabled, but didn't get it right when ATA=0:
instead of merging the tag bits into Xt, we merged them into the
memory address [Xn + offset] and then set Xt to that.

Merge the tag bits into the old Xt value, as they should be.

Cc: qemu-stable@nongnu.org
Fixes: c15294c1e36a7dd9b25 ("target/arm: Implement LDG, STG, ST2G instructions")
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...

243705aa19-Jun-2023 Peter Maydell <peter.maydell@linaro.org>

target/arm: Fix return value from LDSMIN/LDSMAX 8/16 bit atomics

The atomic memory operations are supposed to return the old memory
data value in the destination register. This value is not
sign-ex

target/arm: Fix return value from LDSMIN/LDSMAX 8/16 bit atomics

The atomic memory operations are supposed to return the old memory
data value in the destination register. This value is not
sign-extended, even if the operation is the signed minimum or
maximum. (In the pseudocode for the instructions the returned data
value is passed to ZeroExtend() to create the value in the register.)

We got this wrong because we were doing a 32-to-64 zero extend on the
result for 8 and 16 bit data values, rather than the correct amount
of zero extension.

Fix the bug by using ext8u and ext16u for the MO_8 and MO_16 data
sizes rather than ext32u.

Cc: qemu-stable@nongnu.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20230602155223.2040685-2-peter.maydell@linaro.org

show more ...


/openbmc/qemu/.gitignore
/openbmc/qemu/.gitlab-ci.d/buildtest-template.yml
/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/container-template.yml
/openbmc/qemu/.gitlab-ci.d/crossbuilds.yml
/openbmc/qemu/.gitmodules
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/accel/hvf/hvf-all.c
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/ldst_atomicity.c.inc
/openbmc/qemu/accel/tcg/tcg-accel-ops-mttcg.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-rr.c
/openbmc/qemu/backends/hostmem-file.c
/openbmc/qemu/block.c
/openbmc/qemu/block/nbd.c
/openbmc/qemu/bsd-user/main.c
/openbmc/qemu/chardev/char-pty.c
/openbmc/qemu/configure
/openbmc/qemu/disas/riscv.c
/openbmc/qemu/docs/devel/acpi-bits.rst
/openbmc/qemu/docs/devel/atomics.rst
/openbmc/qemu/docs/devel/testing.rst
/openbmc/qemu/docs/system/arm/aspeed.rst
/openbmc/qemu/docs/system/arm/xenpvh.rst
/openbmc/qemu/docs/system/devices/vhost-user.rst
/openbmc/qemu/docs/system/multi-process.rst
/openbmc/qemu/docs/system/riscv/virt.rst
/openbmc/qemu/docs/system/target-arm.rst
/openbmc/qemu/fsdev/virtfs-proxy-helper.c
/openbmc/qemu/hw/9pfs/9p-util.h
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast2600.c
/openbmc/qemu/hw/arm/aspeed_eeprom.c
/openbmc/qemu/hw/arm/aspeed_eeprom.h
/openbmc/qemu/hw/arm/fby35.c
/openbmc/qemu/hw/arm/meson.build
/openbmc/qemu/hw/arm/musicpal.c
/openbmc/qemu/hw/arm/xen_arm.c
/openbmc/qemu/hw/arm/xlnx-versal.c
/openbmc/qemu/hw/char/parallel-isa.c
/openbmc/qemu/hw/char/parallel.c
/openbmc/qemu/hw/core/cpu-common.c
/openbmc/qemu/hw/display/vhost-user-gpu.c
/openbmc/qemu/hw/i2c/i2c_mux_pca954x.c
/openbmc/qemu/hw/i386/kvm/xen_evtchn.c
/openbmc/qemu/hw/i386/kvm/xen_evtchn.h
/openbmc/qemu/hw/i386/kvm/xen_xenstore.c
/openbmc/qemu/hw/i386/meson.build
/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/xen/meson.build
/openbmc/qemu/hw/i386/xen/trace-events
/openbmc/qemu/hw/i386/xen/xen-hvm.c
/openbmc/qemu/hw/ide/ahci.c
/openbmc/qemu/hw/intc/loongarch_extioi.c
/openbmc/qemu/hw/intc/loongarch_ipi.c
/openbmc/qemu/hw/intc/pnv_xive2.c
/openbmc/qemu/hw/intc/pnv_xive2_regs.h
/openbmc/qemu/hw/intc/riscv_aplic.c
/openbmc/qemu/hw/intc/xive.c
/openbmc/qemu/hw/isa/isa-superio.c
/openbmc/qemu/hw/isa/piix3.c
/openbmc/qemu/hw/loongarch/Kconfig
/openbmc/qemu/hw/loongarch/acpi-build.c
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/m68k/q800.c
/openbmc/qemu/hw/mips/malta.c
/openbmc/qemu/hw/misc/aspeed_hace.c
/openbmc/qemu/hw/pci-host/bonito.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/ppc/Kconfig
/openbmc/qemu/hw/ppc/pnv_lpc.c
/openbmc/qemu/hw/ppc/pnv_occ.c
/openbmc/qemu/hw/ppc/pnv_sbe.c
/openbmc/qemu/hw/ppc/ppc.c
/openbmc/qemu/hw/remote/trace-events
/openbmc/qemu/hw/remote/vfio-user-obj.c
/openbmc/qemu/hw/riscv/numa.c
/openbmc/qemu/hw/riscv/opentitan.c
/openbmc/qemu/hw/riscv/virt.c
/openbmc/qemu/hw/rx/rx62n.c
/openbmc/qemu/hw/scsi/esp-pci.c
/openbmc/qemu/hw/scsi/megasas.c
/openbmc/qemu/hw/sparc/sun4m.c
/openbmc/qemu/hw/sparc64/sun4u.c
/openbmc/qemu/hw/usb/hcd-ehci-pci.c
/openbmc/qemu/hw/vfio/common.c
/openbmc/qemu/hw/vfio/trace-events
/openbmc/qemu/hw/virtio/virtio-mem-pci.c
/openbmc/qemu/hw/virtio/virtio-pmem-pci.c
/openbmc/qemu/hw/virtio/virtio-qmp.c
/openbmc/qemu/hw/xen/meson.build
/openbmc/qemu/hw/xen/trace-events
/openbmc/qemu/hw/xen/xen-bus.c
/openbmc/qemu/hw/xen/xen-hvm-common.c
/openbmc/qemu/hw/xen/xen-mapcache.c
/openbmc/qemu/hw/xen/xen-operations.c
/openbmc/qemu/include/disas/dis-asm.h
/openbmc/qemu/include/exec/cpu-common.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/exec/ram_addr.h
/openbmc/qemu/include/hw/arm/xen_arch_hvm.h
/openbmc/qemu/include/hw/char/parallel-isa.h
/openbmc/qemu/include/hw/char/parallel.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/i386/xen_arch_hvm.h
/openbmc/qemu/include/hw/ppc/openpic.h
/openbmc/qemu/include/hw/ppc/xive_regs.h
/openbmc/qemu/include/hw/riscv/opentitan.h
/openbmc/qemu/include/hw/southbridge/piix.h
/openbmc/qemu/include/hw/xen/arch_hvm.h
/openbmc/qemu/include/hw/xen/xen-hvm-common.h
/openbmc/qemu/include/hw/xen/xen.h
/openbmc/qemu/include/hw/xen/xen_native.h
/openbmc/qemu/include/qemu/atomic.h
/openbmc/qemu/include/qemu/log.h
/openbmc/qemu/include/ui/clipboard.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/loader.h
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/s390x/cpu_loop.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/meson.build
/openbmc/qemu/migration/fd.c
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/yank_functions.c
/openbmc/qemu/monitor/qmp.c
/openbmc/qemu/nbd/client-connection.c
/openbmc/qemu/nbd/server.c
/openbmc/qemu/net/vmnet-bridged.m
/openbmc/qemu/pc-bios/keymaps/meson.build
/openbmc/qemu/pc-bios/s390-ccw/Makefile
/openbmc/qemu/python/scripts/mkvenv.py
/openbmc/qemu/qapi/cryptodev.json
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qga/qapi-schema.json
/openbmc/qemu/scripts/archive-source.sh
/openbmc/qemu/scripts/ci/org.centos/stream/8/x86_64/configure
/openbmc/qemu/scripts/ci/org.centos/stream/8/x86_64/test-avocado
/openbmc/qemu/scripts/device-crash-test
/openbmc/qemu/scripts/git-submodule.sh
/openbmc/qemu/scripts/make-release
/openbmc/qemu/scripts/qom-cast-macro-clean-cocci-gen.py
/openbmc/qemu/scripts/xen-detect.c
/openbmc/qemu/scsi/qemu-pr-helper.c
/openbmc/qemu/softmmu/cpus.c
/openbmc/qemu/softmmu/physmem.c
/openbmc/qemu/softmmu/qdev-monitor.c
/openbmc/qemu/stubs/xen-hw-stub.c
/openbmc/qemu/subprojects/.gitignore
/openbmc/qemu/subprojects/berkeley-softfloat-3.wrap
/openbmc/qemu/subprojects/berkeley-testfloat-3.wrap
/openbmc/qemu/subprojects/dtc.wrap
/openbmc/qemu/subprojects/keycodemapdb.wrap
/openbmc/qemu/subprojects/libvfio-user.wrap
/openbmc/qemu/subprojects/packagefiles/berkeley-softfloat-3/meson.build
/openbmc/qemu/subprojects/packagefiles/berkeley-softfloat-3/meson_options.txt
/openbmc/qemu/subprojects/packagefiles/berkeley-testfloat-3/meson.build
/openbmc/qemu/subprojects/packagefiles/berkeley-testfloat-3/meson_options.txt
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/debug_helper.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/hvf/hvf.c
/openbmc/qemu/target/arm/ptw.c
translate-a64.c
/openbmc/qemu/target/hppa/int_helper.c
/openbmc/qemu/target/hppa/meson.build
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/helper.c
/openbmc/qemu/target/i386/helper.h
/openbmc/qemu/target/i386/tcg/cc_helper.c
/openbmc/qemu/target/i386/tcg/cc_helper_template.h.inc
/openbmc/qemu/target/i386/tcg/int_helper.c
/openbmc/qemu/target/i386/tcg/ops_sse_header.h.inc
/openbmc/qemu/target/i386/tcg/shift_helper_template.h.inc
/openbmc/qemu/target/loongarch/cpu.h
/openbmc/qemu/target/loongarch/tlb_helper.c
/openbmc/qemu/target/m68k/fpu_helper.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/helper_regs.c
/openbmc/qemu/target/ppc/helper_regs.h
/openbmc/qemu/target/ppc/machine.c
/openbmc/qemu/target/ppc/mmu_common.c
/openbmc/qemu/target/ppc/mmu_helper.c
/openbmc/qemu/target/ppc/power8-pmu.c
/openbmc/qemu/target/ppc/power8-pmu.h
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/cpu_cfg.h
/openbmc/qemu/target/riscv/cpu_helper.c
/openbmc/qemu/target/riscv/csr.c
/openbmc/qemu/target/riscv/insn_trans/trans_privileged.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_rvv.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzawrs.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzce.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_xthead.c.inc
/openbmc/qemu/target/riscv/pmp.c
/openbmc/qemu/target/riscv/pmp.h
/openbmc/qemu/target/riscv/translate.c
/openbmc/qemu/target/riscv/vector_helper.c
/openbmc/qemu/target/s390x/cpu_models.c
/openbmc/qemu/target/s390x/cpu_models.h
/openbmc/qemu/target/s390x/helper.h
/openbmc/qemu/target/s390x/tcg/fpu_helper.c
/openbmc/qemu/target/s390x/tcg/insn-data.h.inc
/openbmc/qemu/target/s390x/tcg/translate.c
/openbmc/qemu/target/tricore/cpu.h
/openbmc/qemu/target/tricore/helper.c
/openbmc/qemu/target/tricore/op_helper.c
/openbmc/qemu/target/tricore/translate.c
/openbmc/qemu/tcg/tci.c
/openbmc/qemu/tcg/tci/tcg-target.c.inc
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/avocado/tuxrun_baselines.py
/openbmc/qemu/tests/fp/meson.build
/openbmc/qemu/tests/qemu-iotests/194
/openbmc/qemu/tests/qemu-iotests/194.out
/openbmc/qemu/tests/qtest/libqtest.c
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/requirements.txt
/openbmc/qemu/tests/tcg/aarch64/Makefile.target
/openbmc/qemu/tests/tcg/aarch64/dcpodp.c
/openbmc/qemu/tests/tcg/aarch64/dcpop.c
/openbmc/qemu/tests/tcg/s390x/Makefile.target
/openbmc/qemu/tests/tcg/s390x/gdbstub/test-svc.py
/openbmc/qemu/tests/tcg/s390x/hello-s390x-asm.S
/openbmc/qemu/tests/tcg/s390x/lcbb.c
/openbmc/qemu/tests/tcg/s390x/locfhr.c
/openbmc/qemu/tests/tcg/s390x/mxdb.c
/openbmc/qemu/tests/tcg/tricore/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/tricore/asm/macros.h
/openbmc/qemu/tests/tcg/tricore/asm/test_abs.S
/openbmc/qemu/tests/tcg/tricore/asm/test_bmerge.S
/openbmc/qemu/tests/tcg/tricore/asm/test_clz.S
/openbmc/qemu/tests/tcg/tricore/asm/test_dextr.S
/openbmc/qemu/tests/tcg/tricore/asm/test_dvstep.S
/openbmc/qemu/tests/tcg/tricore/asm/test_fadd.S
/openbmc/qemu/tests/tcg/tricore/asm/test_fmul.S
/openbmc/qemu/tests/tcg/tricore/asm/test_ftoi.S
/openbmc/qemu/tests/tcg/tricore/asm/test_imask.S
/openbmc/qemu/tests/tcg/tricore/asm/test_insert.S
/openbmc/qemu/tests/tcg/tricore/asm/test_ld_bu.S
/openbmc/qemu/tests/tcg/tricore/asm/test_ld_h.S
/openbmc/qemu/tests/tcg/tricore/asm/test_madd.S
/openbmc/qemu/tests/tcg/tricore/asm/test_msub.S
/openbmc/qemu/tests/tcg/tricore/asm/test_muls.S
/openbmc/qemu/tests/tcg/tricore/c/crt0-tc2x.S
/openbmc/qemu/tests/tcg/tricore/c/test_boot_to_main.c
/openbmc/qemu/tests/tcg/tricore/c/test_context_save_areas.c
/openbmc/qemu/tests/tcg/tricore/c/testdev_assert.h
/openbmc/qemu/tests/tcg/tricore/link.ld
/openbmc/qemu/tests/unit/test-aio-multithread.c
/openbmc/qemu/tests/vm/Makefile.include
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/ui/vnc-jobs.c
/openbmc/qemu/ui/vnc-ws.c
/openbmc/qemu/util/cacheflush.c
/openbmc/qemu/util/log.c
/openbmc/qemu/util/qemu-coroutine-lock.c
59b6b42c06-Jun-2023 Richard Henderson <richard.henderson@linaro.org>

target/arm: Enable FEAT_LSE2 for -cpu max

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

target/arm: Enable FEAT_LSE2 for -cpu max

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

show more ...

5096ec5b06-Jun-2023 Richard Henderson <richard.henderson@linaro.org>

target/arm: Move mte check for store-exclusive

Push the mte check behind the exclusive_addr check.
Document the several ways that we are still out of spec
with this implementation.

Reviewed-by: Pet

target/arm: Move mte check for store-exclusive

Push the mte check behind the exclusive_addr check.
Document the several ways that we are still out of spec
with this implementation.

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

show more ...

c1a1f80506-Jun-2023 Richard Henderson <richard.henderson@linaro.org>

target/arm: Relax ordered/atomic alignment checks for LSE2

FEAT_LSE2 only requires that atomic operations not cross a
16-byte boundary. Ordered operations may be completely
unaligned if SCTLR.nAA i

target/arm: Relax ordered/atomic alignment checks for LSE2

FEAT_LSE2 only requires that atomic operations not cross a
16-byte boundary. Ordered operations may be completely
unaligned if SCTLR.nAA is set.

Because this alignment check is so special, do it by hand.
Make sure not to keep TCG temps live across the branch.

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

show more ...

83f624d906-Jun-2023 Richard Henderson <richard.henderson@linaro.org>

target/arm: Add SCTLR.nAA to TBFLAG_A64

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

target/arm: Add SCTLR.nAA to TBFLAG_A64

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

show more ...

523da6b906-Jun-2023 Richard Henderson <richard.henderson@linaro.org>

target/arm: Check alignment in helper_mte_check

Fixes a bug in that with SCTLR.A set, we should raise any
alignment fault before raising any MTE check fault.

Reviewed-by: Peter Maydell <peter.mayde

target/arm: Check alignment in helper_mte_check

Fixes a bug in that with SCTLR.A set, we should raise any
alignment fault before raising any MTE check fault.

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

show more ...

3b97520c06-Jun-2023 Richard Henderson <richard.henderson@linaro.org>

target/arm: Pass single_memop to gen_mte_checkN

Pass the individual memop to gen_mte_checkN.
For the moment, do nothing with it.

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

target/arm: Pass single_memop to gen_mte_checkN

Pass the individual memop to gen_mte_checkN.
For the moment, do nothing with it.

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

show more ...

0a90914206-Jun-2023 Richard Henderson <richard.henderson@linaro.org>

target/arm: Pass memop to gen_mte_check1*

Pass the completed memop to gen_mte_check1_mmuidx.
For the moment, do nothing more than extract the size.

Reviewed-by: Peter Maydell <peter.maydell@linaro.

target/arm: Pass memop to gen_mte_check1*

Pass the completed memop to gen_mte_check1_mmuidx.
For the moment, do nothing more than extract the size.

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

show more ...

03176bcd06-Jun-2023 Richard Henderson <richard.henderson@linaro.org>

target/arm: Hoist finalize_memop out of do_fp_{ld, st}

We are going to need the complete memop beforehand,
so let's not compute it twice.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Revie

target/arm: Hoist finalize_memop out of do_fp_{ld, st}

We are going to need the complete memop beforehand,
so let's not compute it twice.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20230530191438.411344-12-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...

a75b66f606-Jun-2023 Richard Henderson <richard.henderson@linaro.org>

target/arm: Hoist finalize_memop out of do_gpr_{ld, st}

We are going to need the complete memop beforehand,
so let's not compute it twice.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Sign

target/arm: Hoist finalize_memop out of do_gpr_{ld, st}

We are going to need the complete memop beforehand,
so let's not compute it twice.

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

show more ...

6f47e7c106-Jun-2023 Richard Henderson <richard.henderson@linaro.org>

target/arm: Load/store integer pair with one tcg operation

This is required for LSE2, where the pair must be treated atomically if
it does not cross a 16-byte boundary. But it simplifies the code t

target/arm: Load/store integer pair with one tcg operation

This is required for LSE2, where the pair must be treated atomically if
it does not cross a 16-byte boundary. But it simplifies the code to do
this always.

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

show more ...

5c13983e06-Jun-2023 Richard Henderson <richard.henderson@linaro.org>

target/arm: Sink gen_mte_check1 into load/store_exclusive

No need to duplicate this check across multiple call sites.

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

target/arm: Sink gen_mte_check1 into load/store_exclusive

No need to duplicate this check across multiple call sites.

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

show more ...

e6dd5e7806-Jun-2023 Richard Henderson <richard.henderson@linaro.org>

target/arm: Use tcg_gen_qemu_{ld, st}_i128 in gen_sve_{ld, st}r

Round len_align to 16 instead of 8, handling an odd 8-byte as part
of the tail. Use MO_ATOM_NONE to indicate that all of these memory

target/arm: Use tcg_gen_qemu_{ld, st}_i128 in gen_sve_{ld, st}r

Round len_align to 16 instead of 8, handling an odd 8-byte as part
of the tail. Use MO_ATOM_NONE to indicate that all of these memory
ops have only byte atomicity.

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

show more ...

e6073d8806-Jun-2023 Richard Henderson <richard.henderson@linaro.org>

target/arm: Use tcg_gen_qemu_st_i128 for STZG, STZ2G

This fixes a bug in that these two insns should have been using atomic
16-byte stores, since MTE is ARMv8.5 and LSE2 is mandatory from ARMv8.4.

target/arm: Use tcg_gen_qemu_st_i128 for STZG, STZ2G

This fixes a bug in that these two insns should have been using atomic
16-byte stores, since MTE is ARMv8.5 and LSE2 is mandatory from ARMv8.4.

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

show more ...

d450bd0106-Jun-2023 Richard Henderson <richard.henderson@linaro.org>

target/arm: Use tcg_gen_qemu_{st, ld}_i128 for do_fp_{st, ld}

While we don't require 16-byte atomicity here, using a single larger
operation simplifies the code. Introduce finalize_memop_asimd for

target/arm: Use tcg_gen_qemu_{st, ld}_i128 for do_fp_{st, ld}

While we don't require 16-byte atomicity here, using a single larger
operation simplifies the code. Introduce finalize_memop_asimd for this.

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

show more ...

c74cc08206-Jun-2023 Richard Henderson <richard.henderson@linaro.org>

target/arm: Use tcg_gen_qemu_ld_i128 for LDXP

While we don't require 16-byte atomicity here, using a single larger
load simplifies the code, and makes it a closer match to STXP.

Reviewed-by: Peter

target/arm: Use tcg_gen_qemu_ld_i128 for LDXP

While we don't require 16-byte atomicity here, using a single larger
load simplifies the code, and makes it a closer match to STXP.

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

show more ...

1...<<1112131415