History log of /openbmc/qemu/target/riscv/ (Results 801 – 825 of 1666)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
38581e5c06-Jun-2022 eopXD <yueh.ting.chen@gmail.com>

target/riscv: rvv: Add tail agnostic for vector integer comparison instructions

Compares write mask registers, and so always operate under a tail-
agnostic policy.

Signed-off-by: eop Chen <eop.chen

target/riscv: rvv: Add tail agnostic for vector integer comparison instructions

Compares write mask registers, and so always operate under a tail-
agnostic policy.

Signed-off-by: eop Chen <eop.chen@sifive.com>
Reviewed-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <165449614532.19704.7000832880482980398-9@git.sr.ht>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

7b1bff4106-Jun-2022 eopXD <yueh.ting.chen@gmail.com>

target/riscv: rvv: Add tail agnostic for vector integer shift instructions

Signed-off-by: eop Chen <eop.chen@sifive.com>
Reviewed-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Weiwei Li <liw

target/riscv: rvv: Add tail agnostic for vector integer shift instructions

Signed-off-by: eop Chen <eop.chen@sifive.com>
Reviewed-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <165449614532.19704.7000832880482980398-8@git.sr.ht>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

5c19fc1506-Jun-2022 eopXD <yueh.ting.chen@gmail.com>

target/riscv: rvv: Add tail agnostic for vx, vvm, vxm instructions

`vmadc` and `vmsbc` produces a mask value, they always operate with
a tail agnostic policy.

Signed-off-by: eop Chen <eop.chen@sifi

target/riscv: rvv: Add tail agnostic for vx, vvm, vxm instructions

`vmadc` and `vmsbc` produces a mask value, they always operate with
a tail agnostic policy.

Signed-off-by: eop Chen <eop.chen@sifive.com>
Reviewed-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <165449614532.19704.7000832880482980398-7@git.sr.ht>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

752614ca06-Jun-2022 eopXD <yueh.ting.chen@gmail.com>

target/riscv: rvv: Add tail agnostic for vector load / store instructions

Destination register of unit-stride mask load and store instructions are
always written with a tail-agnostic policy.

A vect

target/riscv: rvv: Add tail agnostic for vector load / store instructions

Destination register of unit-stride mask load and store instructions are
always written with a tail-agnostic policy.

A vector segment load / store instruction may contain fractional lmul
with nf * lmul > 1. The rest of the elements in the last register should
be treated as tail elements.

Signed-off-by: eop Chen <eop.chen@sifive.com>
Reviewed-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <165449614532.19704.7000832880482980398-6@git.sr.ht>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

f1eed92706-Jun-2022 eopXD <eop.chen@sifive.com>

target/riscv: rvv: Add tail agnostic for vv instructions

According to v-spec, tail agnostic behavior can be either kept as
undisturbed or set elements' bits to all 1s. To distinguish the
difference

target/riscv: rvv: Add tail agnostic for vv instructions

According to v-spec, tail agnostic behavior can be either kept as
undisturbed or set elements' bits to all 1s. To distinguish the
difference of tail policies, QEMU should be able to simulate the tail
agnostic behavior as "set tail elements' bits to all 1s".

There are multiple possibility for agnostic elements according to
v-spec. The main intent of this patch-set tries to add option that
can distinguish between tail policies. Setting agnostic elements to
all 1s allows QEMU to express this.

This is the first commit regarding the optional tail agnostic
behavior. Follow-up commits will add this optional behavior
for all rvv instructions.

Signed-off-by: eop Chen <eop.chen@sifive.com>
Reviewed-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <165449614532.19704.7000832880482980398-5@git.sr.ht>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

41d3d7f706-Jun-2022 eopXD <yueh.ting.chen@gmail.com>

target/riscv: rvv: Early exit when vstart >= vl

According to v-spec (section 5.4):
When vstart ≥ vl, there are no body elements, and no elements are
updated in any destination vector register group,

target/riscv: rvv: Early exit when vstart >= vl

According to v-spec (section 5.4):
When vstart ≥ vl, there are no body elements, and no elements are
updated in any destination vector register group, including that
no tail elements are updated with agnostic values.

vmsbf.m, vmsif.m, vmsof.m, viota.m, vcompress instructions themselves
require vstart to be zero. So they don't need the early exit.

Signed-off-by: eop Chen <eop.chen@sifive.com>
Reviewed-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <165449614532.19704.7000832880482980398-4@git.sr.ht>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

c7b8a42106-Jun-2022 eopXD <yueh.ting.chen@gmail.com>

target/riscv: rvv: Rename ambiguous esz

No functional change intended in this commit.

Signed-off-by: eop Chen <eop.chen@sifive.com>
Reviewed-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: We

target/riscv: rvv: Rename ambiguous esz

No functional change intended in this commit.

Signed-off-by: eop Chen <eop.chen@sifive.com>
Reviewed-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <165449614532.19704.7000832880482980398-3@git.sr.ht>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

25eae04806-Jun-2022 eopXD <yueh.ting.chen@gmail.com>

target/riscv: rvv: Prune redundant access_type parameter passed

No functional change intended in this commit.

Signed-off-by: eop Chen <eop.chen@sifive.com>
Reviewed-by: Alistair Francis <alistair.f

target/riscv: rvv: Prune redundant access_type parameter passed

No functional change intended in this commit.

Signed-off-by: eop Chen <eop.chen@sifive.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <165449614532.19704.7000832880482980398-2@git.sr.ht>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

8a085fb206-Jun-2022 eopXD <yueh.ting.chen@gmail.com>

target/riscv: rvv: Prune redundant ESZ, DSZ parameter passed

No functional change intended in this commit.

Signed-off-by: eop Chen <eop.chen@sifive.com>
Reviewed-by: Frank Chang <frank.chang@sifive

target/riscv: rvv: Prune redundant ESZ, DSZ parameter passed

No functional change intended in this commit.

Signed-off-by: eop Chen <eop.chen@sifive.com>
Reviewed-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <165449614532.19704.7000832880482980398-1@git.sr.ht>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

d1d8541202-Jun-2022 Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>

target/riscv/debug.c: keep experimental rv128 support working

Add an MXL_RV128 case in two switches so that no error is triggered when
using the -cpu x-rv128 option.

Signed-off-by: Frédéric Pétrot

target/riscv/debug.c: keep experimental rv128 support working

Add an MXL_RV128 case in two switches so that no error is triggered when
using the -cpu x-rv128 option.

Signed-off-by: Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-Id: <20220602155246.38837-1-frederic.petrot@univ-grenoble-alpes.fr>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

8f42415f31-May-2022 Andrew Bresticker <abrestic@rivosinc.com>

target/riscv: Wake on VS-level external interrupts

Whether or not VSEIP is pending isn't reflected in env->mip and must
instead be determined from hstatus.vgein and hgeip. As a result a
CPU in WFI w

target/riscv: Wake on VS-level external interrupts

Whether or not VSEIP is pending isn't reflected in env->mip and must
instead be determined from hstatus.vgein and hgeip. As a result a
CPU in WFI won't wake on a VSEIP, which violates the WFI behavior as
specified in the privileged ISA. Just use riscv_cpu_all_pending()
instead, which already accounts for VSEIP.

Signed-off-by: Andrew Bresticker <abrestic@rivosinc.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20220531210544.181322-1-abrestic@rivosinc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

de799beb30-May-2022 Weiwei Li <liweiwei@iscas.ac.cn>

target/riscv: add support for zmmul extension v0.1

Add support for the zmmul extension v0.1. This extension includes all
multiplication operations from the M extension but not the divide ops.

Signe

target/riscv: add support for zmmul extension v0.1

Add support for the zmmul extension v0.1. This extension includes all
multiplication operations from the M extension but not the divide ops.

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Víctor Colombo <victor.colombo@eldorado.org.br>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20220531030732.3850-1-liweiwei@iscas.ac.cn>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...


/openbmc/qemu/.gitlab-ci.d/base.yml
/openbmc/qemu/.gitlab-ci.d/buildtest-template.yml
/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/cirrus.yml
/openbmc/qemu/.gitlab-ci.d/container-cross.yml
/openbmc/qemu/.gitlab-ci.d/container-template.yml
/openbmc/qemu/.gitlab-ci.d/containers.yml
/openbmc/qemu/.gitlab-ci.d/crossbuild-template.yml
/openbmc/qemu/.gitlab-ci.d/crossbuilds.yml
/openbmc/qemu/.gitlab-ci.d/qemu-project.yml
/openbmc/qemu/.gitlab-ci.d/static_checks.yml
/openbmc/qemu/.gitlab-ci.d/windows.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/accel/hvf/hvf-accel-ops.c
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-icount.c
/openbmc/qemu/accel/tcg/user-exec.c
/openbmc/qemu/backends/hostmem.c
/openbmc/qemu/configs/devices/loongarch64-softmmu/default.mak
/openbmc/qemu/configs/targets/loongarch64-softmmu.mak
/openbmc/qemu/configure
/openbmc/qemu/contrib/elf2dmp/qemu_elf.c
/openbmc/qemu/crypto/akcipher-gcrypt.c.inc
/openbmc/qemu/crypto/akcipher-nettle.c.inc
/openbmc/qemu/crypto/akcipher.c
/openbmc/qemu/crypto/akcipherpriv.h
/openbmc/qemu/crypto/der.c
/openbmc/qemu/crypto/der.h
/openbmc/qemu/crypto/meson.build
/openbmc/qemu/crypto/rsakey-builtin.c.inc
/openbmc/qemu/crypto/rsakey-nettle.c.inc
/openbmc/qemu/crypto/rsakey.c
/openbmc/qemu/crypto/rsakey.h
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/about/removed-features.rst
/openbmc/qemu/docs/devel/ci-jobs.rst.inc
/openbmc/qemu/docs/devel/ci.rst
/openbmc/qemu/docs/devel/index-tcg.rst
/openbmc/qemu/docs/devel/replay.rst
/openbmc/qemu/docs/devel/submitting-a-patch.rst
/openbmc/qemu/docs/devel/testing.rst
/openbmc/qemu/docs/interop/vhost-user.rst
/openbmc/qemu/docs/specs/vmgenid.txt
/openbmc/qemu/docs/system/arm/aspeed.rst
/openbmc/qemu/docs/system/arm/emulation.rst
/openbmc/qemu/docs/system/i386/hyperv.rst
/openbmc/qemu/docs/system/index.rst
/openbmc/qemu/docs/system/loongarch/loongson3.rst
/openbmc/qemu/docs/system/ppc/pseries.rst
/openbmc/qemu/docs/system/replay.rst
/openbmc/qemu/docs/system/target-i386.rst
/openbmc/qemu/docs/tools/virtiofsd.rst
/openbmc/qemu/gdb-xml/loongarch-base64.xml
/openbmc/qemu/gdb-xml/loongarch-fpu64.xml
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hw/Kconfig
/openbmc/qemu/hw/acpi/ghes.c
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast10x0.c
/openbmc/qemu/hw/arm/aspeed_ast2600.c
/openbmc/qemu/hw/arm/aspeed_soc.c
/openbmc/qemu/hw/arm/xlnx-zynqmp.c
/openbmc/qemu/hw/audio/ac97.c
/openbmc/qemu/hw/block/m25p80.c
/openbmc/qemu/hw/core/loader.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/core/uboot_image.h
/openbmc/qemu/hw/display/qxl.c
/openbmc/qemu/hw/display/vhost-user-gpu-pci.c
/openbmc/qemu/hw/display/vhost-user-gpu.c
/openbmc/qemu/hw/display/vhost-user-vga.c
/openbmc/qemu/hw/display/virtio-gpu-base.c
/openbmc/qemu/hw/display/virtio-gpu-gl.c
/openbmc/qemu/hw/display/virtio-gpu-pci-gl.c
/openbmc/qemu/hw/display/virtio-gpu-pci.c
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/display/virtio-vga-gl.c
/openbmc/qemu/hw/display/virtio-vga.c
/openbmc/qemu/hw/display/xlnx_dp.c
/openbmc/qemu/hw/gpio/aspeed_gpio.c
/openbmc/qemu/hw/gpio/trace-events
/openbmc/qemu/hw/hppa/hppa_hardware.h
/openbmc/qemu/hw/hppa/machine.c
/openbmc/qemu/hw/hyperv/vmbus.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/xen/xen_platform.c
/openbmc/qemu/hw/ide/core.c
/openbmc/qemu/hw/ide/macio.c
/openbmc/qemu/hw/ide/piix.c
/openbmc/qemu/hw/intc/Kconfig
/openbmc/qemu/hw/intc/arm_gicv3_cpuif.c
/openbmc/qemu/hw/intc/arm_gicv3_dist.c
/openbmc/qemu/hw/intc/arm_gicv3_redist.c
/openbmc/qemu/hw/intc/loongarch_extioi.c
/openbmc/qemu/hw/intc/loongarch_ipi.c
/openbmc/qemu/hw/intc/loongarch_pch_msi.c
/openbmc/qemu/hw/intc/loongarch_pch_pic.c
/openbmc/qemu/hw/intc/meson.build
/openbmc/qemu/hw/intc/pnv_xive2.c
/openbmc/qemu/hw/intc/riscv_aclint.c
/openbmc/qemu/hw/intc/riscv_aplic.c
/openbmc/qemu/hw/intc/trace-events
/openbmc/qemu/hw/loongarch/Kconfig
/openbmc/qemu/hw/loongarch/loongson3.c
/openbmc/qemu/hw/loongarch/meson.build
/openbmc/qemu/hw/meson.build
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/nvme/dif.c
/openbmc/qemu/hw/nvme/ns.c
/openbmc/qemu/hw/nvme/nvme.h
/openbmc/qemu/hw/nvme/subsys.c
/openbmc/qemu/hw/pci/shpc.c
/openbmc/qemu/hw/ppc/e500.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/rtc/Kconfig
/openbmc/qemu/hw/rtc/ls7a_rtc.c
/openbmc/qemu/hw/rtc/meson.build
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/s390x/virtio-ccw-gpu.c
/openbmc/qemu/hw/scsi/mfi.h
/openbmc/qemu/hw/sd/allwinner-sdhost.c
/openbmc/qemu/hw/sparc64/sun4u_iommu.c
/openbmc/qemu/hw/timer/sse-timer.c
/openbmc/qemu/hw/tpm/tpm_crb.c
/openbmc/qemu/hw/tpm/tpm_tis_common.c
/openbmc/qemu/hw/usb/ccid-card-emulated.c
/openbmc/qemu/hw/usb/ccid-card-passthru.c
/openbmc/qemu/hw/usb/host-libusb.c
/openbmc/qemu/hw/usb/redirect.c
/openbmc/qemu/hw/vfio/common.c
/openbmc/qemu/hw/vfio/trace-events
/openbmc/qemu/include/crypto/akcipher.h
/openbmc/qemu/include/disas/dis-asm.h
/openbmc/qemu/include/exec/poison.h
/openbmc/qemu/include/hw/arm/aspeed_soc.h
/openbmc/qemu/include/hw/display/xlnx_dp.h
/openbmc/qemu/include/hw/gpio/aspeed_gpio.h
/openbmc/qemu/include/hw/hyperv/vmbus.h
/openbmc/qemu/include/hw/ide.h
/openbmc/qemu/include/hw/intc/loongarch_extioi.h
/openbmc/qemu/include/hw/intc/loongarch_ipi.h
/openbmc/qemu/include/hw/intc/loongarch_pch_msi.h
/openbmc/qemu/include/hw/intc/loongarch_pch_pic.h
/openbmc/qemu/include/hw/loongarch/virt.h
/openbmc/qemu/include/hw/pci-host/ls7a.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/qemu/cutils.h
/openbmc/qemu/include/qemu/module.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/include/sysemu/arch_init.h
/openbmc/qemu/include/sysemu/cpu-timers.h
/openbmc/qemu/include/sysemu/replay.h
/openbmc/qemu/include/sysemu/sysemu.h
/openbmc/qemu/include/tcg/tcg-op.h
/openbmc/qemu/linux-user/aarch64/signal.c
/openbmc/qemu/linux-user/aarch64/target_prctl.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/include/host/s390/host-signal.h
/openbmc/qemu/linux-user/linuxload.c
/openbmc/qemu/linux-user/m68k/cpu_loop.c
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/qemu.h
/openbmc/qemu/linux-user/s390x/signal.c
/openbmc/qemu/linux-user/strace.c
/openbmc/qemu/linux-user/strace.h
/openbmc/qemu/linux-user/strace.list
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/linux-user/uname.c
/openbmc/qemu/linux-user/uname.h
/openbmc/qemu/linux-user/user-internals.h
/openbmc/qemu/meson.build
/openbmc/qemu/monitor/misc.c
/openbmc/qemu/pc-bios/hppa-firmware.img
/openbmc/qemu/pc-bios/meson.build
/openbmc/qemu/pc-bios/optionrom/Makefile
/openbmc/qemu/pc-bios/s390-ccw/Makefile
/openbmc/qemu/pc-bios/s390-ccw/netboot.mak
/openbmc/qemu/pc-bios/vof/Makefile
/openbmc/qemu/python/qemu/machine/machine.py
/openbmc/qemu/python/qemu/qmp/util.py
/openbmc/qemu/python/setup.cfg
/openbmc/qemu/qapi/crypto.json
/openbmc/qemu/qapi/machine-target.json
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/ui.json
/openbmc/qemu/qemu-io.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qga/channel-posix.c
/openbmc/qemu/qga/commands-posix.c
/openbmc/qemu/qga/commands-win32.c
/openbmc/qemu/qga/cutils.c
/openbmc/qemu/qga/cutils.h
/openbmc/qemu/qga/installer/qemu-ga.wxs
/openbmc/qemu/qga/main.c
/openbmc/qemu/qga/meson.build
/openbmc/qemu/qga/qapi-schema.json
/openbmc/qemu/replay/replay-events.c
/openbmc/qemu/replay/replay-internal.h
/openbmc/qemu/replay/replay-snapshot.c
/openbmc/qemu/replay/replay.c
/openbmc/qemu/roms/seabios-hppa
/openbmc/qemu/scripts/device-crash-test
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/scripts/modinfo-generate.py
/openbmc/qemu/scripts/mtest2make.py
/openbmc/qemu/semihosting/arm-compat-semi.c
/openbmc/qemu/softmmu/globals.c
/openbmc/qemu/softmmu/icount.c
/openbmc/qemu/softmmu/qdev-monitor.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/storage-daemon/qemu-storage-daemon.c
/openbmc/qemu/stubs/icount.c
/openbmc/qemu/target/Kconfig
/openbmc/qemu/target/arm/arch_dump.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/gdbstub.c
/openbmc/qemu/target/arm/gdbstub64.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/hvf/hvf.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/kvm64.c
/openbmc/qemu/target/arm/kvm_arm.h
/openbmc/qemu/target/arm/meson.build
/openbmc/qemu/target/arm/mve_helper.c
/openbmc/qemu/target/arm/ptw.c
/openbmc/qemu/target/arm/sve.decode
/openbmc/qemu/target/arm/sve_helper.c
/openbmc/qemu/target/arm/sve_ldst_internal.h
/openbmc/qemu/target/arm/tlb_helper.c
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/arm/translate-a64.h
/openbmc/qemu/target/arm/translate-sve.c
/openbmc/qemu/target/arm/translate.h
/openbmc/qemu/target/arm/vec_helper.c
/openbmc/qemu/target/arm/vec_internal.h
/openbmc/qemu/target/i386/cpu-sysemu.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/hvf/vmcs.h
/openbmc/qemu/target/i386/hvf/vmx.h
/openbmc/qemu/target/i386/kvm/hyperv-proto.h
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/tcg/sysemu/excp_helper.c
/openbmc/qemu/target/loongarch/Kconfig
/openbmc/qemu/target/loongarch/README
/openbmc/qemu/target/loongarch/constant_timer.c
/openbmc/qemu/target/loongarch/cpu-csr.h
/openbmc/qemu/target/loongarch/cpu-param.h
/openbmc/qemu/target/loongarch/cpu.c
/openbmc/qemu/target/loongarch/cpu.h
/openbmc/qemu/target/loongarch/csr_helper.c
/openbmc/qemu/target/loongarch/disas.c
/openbmc/qemu/target/loongarch/fpu_helper.c
/openbmc/qemu/target/loongarch/gdbstub.c
/openbmc/qemu/target/loongarch/helper.h
/openbmc/qemu/target/loongarch/insn_trans/trans_arith.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_atomic.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_bit.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_branch.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_extra.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_farith.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_fcmp.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_fcnv.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_fmemory.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_fmov.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_memory.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_privileged.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_shift.c.inc
/openbmc/qemu/target/loongarch/insns.decode
/openbmc/qemu/target/loongarch/internals.h
/openbmc/qemu/target/loongarch/iocsr_helper.c
/openbmc/qemu/target/loongarch/machine.c
/openbmc/qemu/target/loongarch/meson.build
/openbmc/qemu/target/loongarch/op_helper.c
/openbmc/qemu/target/loongarch/tlb_helper.c
/openbmc/qemu/target/loongarch/translate.c
/openbmc/qemu/target/loongarch/translate.h
/openbmc/qemu/target/m68k/cpu.c
/openbmc/qemu/target/m68k/cpu.h
/openbmc/qemu/target/m68k/helper.h
/openbmc/qemu/target/m68k/op_helper.c
/openbmc/qemu/target/m68k/translate.c
/openbmc/qemu/target/meson.build
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/cpu_init.c
/openbmc/qemu/target/ppc/fpu_helper.c
/openbmc/qemu/target/ppc/helper.h
/openbmc/qemu/target/ppc/helper_regs.c
/openbmc/qemu/target/ppc/insn32.decode
/openbmc/qemu/target/ppc/insn64.decode
/openbmc/qemu/target/ppc/int_helper.c
/openbmc/qemu/target/ppc/internal.h
/openbmc/qemu/target/ppc/machine.c
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/ppc/translate/fp-impl.c.inc
/openbmc/qemu/target/ppc/translate/fp-ops.c.inc
/openbmc/qemu/target/ppc/translate/vmx-impl.c.inc
/openbmc/qemu/target/ppc/translate/vmx-ops.c.inc
/openbmc/qemu/target/ppc/translate/vsx-impl.c.inc
/openbmc/qemu/target/ppc/translate/vsx-ops.c.inc
cpu.c
cpu.h
insn_trans/trans_rvm.c.inc
/openbmc/qemu/target/s390x/cpu_features_def.h.inc
/openbmc/qemu/target/s390x/gen-features.c
/openbmc/qemu/target/s390x/ioinst.c
/openbmc/qemu/target/s390x/kvm/kvm.c
/openbmc/qemu/target/s390x/tcg/translate.c
/openbmc/qemu/tcg/aarch64/tcg-target.c.inc
/openbmc/qemu/tcg/i386/tcg-target.c.inc
/openbmc/qemu/tcg/ppc/tcg-target.c.inc
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/avocado/avocado_qemu/__init__.py
/openbmc/qemu/tests/avocado/replay_linux.py
/openbmc/qemu/tests/avocado/virtio_check_params.py
/openbmc/qemu/tests/avocado/virtio_version.py
/openbmc/qemu/tests/bench/benchmark-crypto-akcipher.c
/openbmc/qemu/tests/bench/meson.build
/openbmc/qemu/tests/bench/test_akcipher_keys.inc
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/dockerfiles/debian-amd64.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armel-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armhf-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mips64el-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mipsel-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-ppc64el-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian10.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win32-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/qtest/aspeed_gpio-test.c
/openbmc/qemu/tests/qtest/aspeed_smc-test.c
/openbmc/qemu/tests/qtest/fuzz/fuzz.c
/openbmc/qemu/tests/qtest/libqmp.c
/openbmc/qemu/tests/qtest/libqmp.h
/openbmc/qemu/tests/qtest/libqtest.c
/openbmc/qemu/tests/qtest/libqtest.h
/openbmc/qemu/tests/qtest/npcm7xx_pwm-test.c
/openbmc/qemu/tests/qtest/vhost-user-test.c
/openbmc/qemu/tests/requirements.txt
/openbmc/qemu/tests/tcg/loongarch64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/loongarch64/system/boot.S
/openbmc/qemu/tests/tcg/loongarch64/system/kernel.ld
/openbmc/qemu/tests/tcg/loongarch64/system/regdef.h
/openbmc/qemu/tests/tcg/m68k/Makefile.target
/openbmc/qemu/tests/tcg/m68k/trap.c
/openbmc/qemu/tests/tcg/multiarch/overflow.c
/openbmc/qemu/tests/tcg/s390x/signals-s390x.c
/openbmc/qemu/tests/tcg/x86_64/system/boot.S
/openbmc/qemu/tests/unit/meson.build
/openbmc/qemu/tests/unit/test-crypto-akcipher.c
/openbmc/qemu/tests/unit/test-crypto-der.c
/openbmc/qemu/tests/unit/test-qga.c
/openbmc/qemu/tests/vm/Makefile.include
/openbmc/qemu/tests/vm/basevm.py
/openbmc/qemu/ui/sdl2.c
/openbmc/qemu/util/async.c
/openbmc/qemu/util/cutils.c
/openbmc/qemu/util/oslib-posix.c
/openbmc/qemu/util/oslib-win32.c
/openbmc/qemu/util/thread-pool.c
5160bacc18-May-2022 Hongren (Zenithal) Zheng <i@zenithal.me>

target/riscv: add zicsr/zifencei to isa_string

Zicsr/Zifencei is not in 'I' since ISA version 20190608,
thus to fully express the capability of the CPU,
they should be exposed in isa_string.

Signed

target/riscv: add zicsr/zifencei to isa_string

Zicsr/Zifencei is not in 'I' since ISA version 20190608,
thus to fully express the capability of the CPU,
they should be exposed in isa_string.

Signed-off-by: Hongren (Zenithal) Zheng <i@zenithal.me>
Tested-by: Jiatai He <jiatai2021@iscas.ac.cn>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <YoTqwpfrodveJ7CR@Sun>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

62cf024511-May-2022 Anup Patel <apatel@ventanamicro.com>

target/riscv: Set [m|s]tval for both illegal and virtual instruction traps

Currently, the [m|s]tval CSRs are set with trapping instruction encoding
only for illegal instruction traps taken at the ti

target/riscv: Set [m|s]tval for both illegal and virtual instruction traps

Currently, the [m|s]tval CSRs are set with trapping instruction encoding
only for illegal instruction traps taken at the time of instruction
decoding.

In RISC-V world, a valid instructions might also trap as illegal or
virtual instruction based to trapping bits in various CSRs (such as
mstatus.TVM or hstatus.VTVM).

We improve setting of [m|s]tval CSRs for all types of illegal and
virtual instruction traps.

Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Reviewed-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20220511144528.393530-4-apatel@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

24826da011-May-2022 Anup Patel <apatel@ventanamicro.com>

target/riscv: Fix hstatus.GVA bit setting for traps taken from HS-mode

Currently, QEMU does not set hstatus.GVA bit for traps taken from
HS-mode into HS-mode which breaks the Xvisor nested MMU test

target/riscv: Fix hstatus.GVA bit setting for traps taken from HS-mode

Currently, QEMU does not set hstatus.GVA bit for traps taken from
HS-mode into HS-mode which breaks the Xvisor nested MMU test suite
on QEMU. This was working previously.

This patch updates riscv_cpu_do_interrupt() to fix the above issue.

Fixes: 86d0c457396b ("target/riscv: Fixup setting GVA")
Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20220511144528.393530-3-apatel@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

c1fbcecb11-May-2022 Anup Patel <apatel@ventanamicro.com>

target/riscv: Fix csr number based privilege checking

When hypervisor and VS CSRs are accessed from VS-mode or VU-mode,
the riscv_csrrw_check() function should generate virtual instruction
trap inst

target/riscv: Fix csr number based privilege checking

When hypervisor and VS CSRs are accessed from VS-mode or VU-mode,
the riscv_csrrw_check() function should generate virtual instruction
trap instead illegal instruction trap.

Fixes: 0a42f4c44088 (" target/riscv: Fix CSR perm checking for HS mode")
Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Frank Chang <frank.chang@sifive.com>
Message-Id: <20220511144528.393530-2-apatel@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

075eeda923-May-2022 Frank Chang <frank.chang@sifive.com>

target/riscv: Fix typo of mimpid cpu option

"mimpid" cpu option was mistyped to "mipid".

Fixes: 9951ba94 ("target/riscv: Support configuarable marchid, mvendorid, mipid CSR values")
Signed-off-by:

target/riscv: Fix typo of mimpid cpu option

"mimpid" cpu option was mistyped to "mipid".

Fixes: 9951ba94 ("target/riscv: Support configuarable marchid, mvendorid, mipid CSR values")
Signed-off-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20220523153147.15371-1-frank.chang@sifive.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

bb06941f17-May-2022 Weiwei Li <liweiwei@iscas.ac.cn>

target/riscv: check 'I' and 'E' after checking 'G' in riscv_cpu_realize

- setting ext_g will implicitly set ext_i

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wang

target/riscv: check 'I' and 'E' after checking 'G' in riscv_cpu_realize

- setting ext_g will implicitly set ext_i

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20220518012611.6772-1-liweiwei@iscas.ac.cn>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

bc57381614-May-2022 Tsukasa OI <research_trasio@irq.a4lg.com>

target/riscv: Move/refactor ISA extension checks

We should separate "check" and "configure" steps as possible.
This commit separates both steps except vector/Zfinx-related checks.

Signed-off-by: Ts

target/riscv: Move/refactor ISA extension checks

We should separate "check" and "configure" steps as possible.
This commit separates both steps except vector/Zfinx-related checks.

Signed-off-by: Tsukasa OI <research_trasio@irq.a4lg.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <c3145fa37a529484cf3047c8cb9841e9effad4b0.1652583332.git.research_trasio@irq.a4lg.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

1086504c14-May-2022 Tsukasa OI <research_trasio@irq.a4lg.com>

target/riscv: FP extension requirements

QEMU allowed inconsistent configurations that made floating point
arithmetic effectively unusable.

This commit adds certain checks for consistent FP arithmet

target/riscv: FP extension requirements

QEMU allowed inconsistent configurations that made floating point
arithmetic effectively unusable.

This commit adds certain checks for consistent FP arithmetic:

- F requires Zicsr
- Zfinx requires Zicsr
- Zfh/Zfhmin require F
- D requires F
- V requires D

Because F/D/Zicsr are enabled by default (and an error will not occur unless
we manually disable one or more of prerequisites), this commit just enforces
the user to give consistent combinations.

Signed-off-by: Tsukasa OI <research_trasio@irq.a4lg.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <00e7b1c6060dab32ac7d49813b1ca84d3eb63298.1652583332.git.research_trasio@irq.a4lg.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

9f6b7da514-May-2022 Tsukasa OI <research_trasio@irq.a4lg.com>

target/riscv: Change "G" expansion

On ISA version 20190608 or later, "G" expands to "IMAFD_Zicsr_Zifencei".
Both "Zicsr" and "Zifencei" are enabled by default and "G" is supposed to
be (virtually) e

target/riscv: Change "G" expansion

On ISA version 20190608 or later, "G" expands to "IMAFD_Zicsr_Zifencei".
Both "Zicsr" and "Zifencei" are enabled by default and "G" is supposed to
be (virtually) enabled as well, it should be safe to change its expansion.

Signed-off-by: Tsukasa OI <research_trasio@irq.a4lg.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <d1b5be550a2893a0fd32c928f832d2ff7bfafe35.1652583332.git.research_trasio@irq.a4lg.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

1d398ab914-May-2022 Tsukasa OI <research_trasio@irq.a4lg.com>

target/riscv: Disable "G" by default

Because "G" virtual extension expands to "IMAFD", we cannot separately
disable extensions like "F" or "D" without disabling "G". Because all
"IMAFD" are enabled

target/riscv: Disable "G" by default

Because "G" virtual extension expands to "IMAFD", we cannot separately
disable extensions like "F" or "D" without disabling "G". Because all
"IMAFD" are enabled by default, it's harmless to disable "G" by default.

Signed-off-by: Tsukasa OI <research_trasio@irq.a4lg.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <cab7205f1d7668f642fa242386543334af6bc1bd.1652583332.git.research_trasio@irq.a4lg.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

61cdf45914-May-2022 Tsukasa OI <research_trasio@irq.a4lg.com>

target/riscv: Fix coding style on "G" expansion

Because ext_? members are boolean variables, operator `&&' should be
used instead of `&'.

Signed-off-by: Tsukasa OI <research_trasio@irq.a4lg.com>
Re

target/riscv: Fix coding style on "G" expansion

Because ext_? members are boolean variables, operator `&&' should be
used instead of `&'.

Signed-off-by: Tsukasa OI <research_trasio@irq.a4lg.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Víctor Colombo <victor.colombo@eldorado.org.br>
Message-Id: <91633f8349253656dd08bc8dc36498a9c7538b10.1652583332.git.research_trasio@irq.a4lg.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

a4a9a44310-May-2022 Tsukasa OI <research_trasio@irq.a4lg.com>

target/riscv: Add short-isa-string option

Because some operating systems don't correctly parse long ISA extension
string, this commit adds short-isa-string boolean option to disable
generating long

target/riscv: Add short-isa-string option

Because some operating systems don't correctly parse long ISA extension
string, this commit adds short-isa-string boolean option to disable
generating long ISA extension strings on Device Tree.

For instance, enabling Zfinx and Zdinx extensions and booting Linux (5.17 or
earlier) with FPU support caused a kernel panic.

Operating Systems which short-isa-string might be helpful:

1. Linux (5.17 or earlier)
2. FreeBSD (at least 14.0-CURRENT)
3. OpenBSD (at least current development version)

Signed-off-by: Tsukasa OI <research_trasio@irq.a4lg.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <7c1fe5f06b0a7646a47e9bcdddb1042bb60c69c8.1652181972.git.research_trasio@irq.a4lg.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

6047dcc210-May-2022 Tsukasa OI <research_trasio@irq.a4lg.com>

target/riscv: Move Zhinx* extensions on ISA string

This commit moves ISA string conversion for Zhinx and Zhinxmin extensions.
Because extension category ordering of "H" is going to be after "V",
the

target/riscv: Move Zhinx* extensions on ISA string

This commit moves ISA string conversion for Zhinx and Zhinxmin extensions.
Because extension category ordering of "H" is going to be after "V",
their ordering is going to be valid (on canonical order).

Signed-off-by: Tsukasa OI <research_trasio@irq.a4lg.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <7a988aedb249b6709f9ce5464ff359b60958ca54.1652181972.git.research_trasio@irq.a4lg.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

1...<<31323334353637383940>>...67