History log of /openbmc/qemu/target/riscv/ (Results 776 – 800 of 1666)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
be2265c729-Jun-2022 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Ibex: Support priv version 1.11

The Ibex CPU supports version 1.11 of the priv spec [1], so let's
correct that in QEMU as well.

1: https://ibex-core.readthedocs.io/en/latest/01_overvi

target/riscv: Ibex: Support priv version 1.11

The Ibex CPU supports version 1.11 of the priv spec [1], so let's
correct that in QEMU as well.

1: https://ibex-core.readthedocs.io/en/latest/01_overview/compliance.html

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-Id: <20220629233102.275181-3-alistair.francis@opensource.wdc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

b509cace29-Jun-2022 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Fixup MSECCFG minimum priv check

There is nothing in the RISC-V spec that mandates version 1.12 is
required for ePMP and there is currently hardware [1] that implements
ePMP (a draft v

target/riscv: Fixup MSECCFG minimum priv check

There is nothing in the RISC-V spec that mandates version 1.12 is
required for ePMP and there is currently hardware [1] that implements
ePMP (a draft version though) with the 1.11 priv spec.

1: https://ibex-core.readthedocs.io/en/latest/01_overview/compliance.html

Fixes: a4b2fa433125 ("target/riscv: Introduce privilege version field in the CSR ops.")
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-Id: <20220629233102.275181-2-alistair.francis@opensource.wdc.com>

show more ...

3780e33720-Jun-2022 Atish Patra <atish.patra@wdc.com>

target/riscv: Support mcycle/minstret write operation

mcycle/minstret are actually WARL registers and can be written with any
given value. With SBI PMU extension, it will be used to store a initial

target/riscv: Support mcycle/minstret write operation

mcycle/minstret are actually WARL registers and can be written with any
given value. With SBI PMU extension, it will be used to store a initial
value provided from supervisor OS. The Qemu also need prohibit the counter
increment if mcountinhibit is set.

Support mcycle/minstret through generic counter infrastructure.

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
Message-Id: <20220620231603.2547260-8-atishp@rivosinc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

621f35bb20-Jun-2022 Atish Patra <atish.patra@wdc.com>

target/riscv: Add support for hpmcounters/hpmevents

With SBI PMU extension, user can use any of the available hpmcounters to
track any perf events based on the value written to mhpmevent csr.
Add re

target/riscv: Add support for hpmcounters/hpmevents

With SBI PMU extension, user can use any of the available hpmcounters to
track any perf events based on the value written to mhpmevent csr.
Add read/write functionality for these csrs.

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
Message-Id: <20220620231603.2547260-7-atishp@rivosinc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

b1675eeb20-Jun-2022 Atish Patra <atish.patra@wdc.com>

target/riscv: Implement mcountinhibit CSR

As per the privilege specification v1.11, mcountinhibit allows to start/stop
a pmu counter selectively.

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed

target/riscv: Implement mcountinhibit CSR

As per the privilege specification v1.11, mcountinhibit allows to start/stop
a pmu counter selectively.

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
Message-Id: <20220620231603.2547260-6-atishp@rivosinc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

18d6d89e20-Jun-2022 Atish Patra <atishp@rivosinc.com>

target/riscv: pmu: Make number of counters configurable

The RISC-V privilege specification provides flexibility to implement
any number of counters from 29 programmable counters. However, the QEMU
i

target/riscv: pmu: Make number of counters configurable

The RISC-V privilege specification provides flexibility to implement
any number of counters from 29 programmable counters. However, the QEMU
implements all the counters.

Make it configurable through pmu config parameter which now will indicate
how many programmable counters should be implemented by the cpu.

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
Message-Id: <20220620231603.2547260-5-atishp@rivosinc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

d3be129920-Jun-2022 Atish Patra <atish.patra@wdc.com>

target/riscv: pmu: Rename the counters extension to pmu

The PMU counters are supported via cpu config "Counters" which doesn't
indicate the correct purpose of those counters.

Rename the config prop

target/riscv: pmu: Rename the counters extension to pmu

The PMU counters are supported via cpu config "Counters" which doesn't
indicate the correct purpose of those counters.

Rename the config property to pmu to indicate that these counters
are performance monitoring counters. This aligns with cpu options for
ARM architecture as well.

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
Message-Id: <20220620231603.2547260-4-atishp@rivosinc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

a5a92fd620-Jun-2022 Atish Patra <atish.patra@wdc.com>

target/riscv: Implement PMU CSR predicate function for S-mode

Currently, the predicate function for PMU related CSRs only works if
virtualization is enabled. It also does not check mcounteren bits b

target/riscv: Implement PMU CSR predicate function for S-mode

Currently, the predicate function for PMU related CSRs only works if
virtualization is enabled. It also does not check mcounteren bits before
before cycle/minstret/hpmcounterx access.

Support supervisor mode access in the predicate function as well.

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
Message-Id: <20220620231603.2547260-3-atishp@rivosinc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

562009e420-Jun-2022 Atish Patra <atish.patra@wdc.com>

target/riscv: Fix PMU CSR predicate function

The predicate function calculates the counter index incorrectly for
hpmcounterx. Fix the counter index to reflect correct CSR number.

Fixes: e39a8320b08

target/riscv: Fix PMU CSR predicate function

The predicate function calculates the counter index incorrectly for
hpmcounterx. Fix the counter index to reflect correct CSR number.

Fixes: e39a8320b088 ("target/riscv: Support the Virtual Instruction fault")
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
Message-Id: <20220620231603.2547260-2-atishp@rivosinc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

2e98339915-Jun-2022 Nicolas Pitre <nico@fluxnic.net>

target/riscv/pmp: guard against PMP ranges with a negative size

For a TOR entry to match, the stard address must be lower than the end
address. Normally this is always the case, but correct code mig

target/riscv/pmp: guard against PMP ranges with a negative size

For a TOR entry to match, the stard address must be lower than the end
address. Normally this is always the case, but correct code might still
run into the following scenario:

Initial state:

pmpaddr3 = 0x2000 pmp3cfg = OFF
pmpaddr4 = 0x3000 pmp4cfg = TOR

Execution:

1. write 0x40ff to pmpaddr3
2. write 0x32ff to pmpaddr4
3. set pmp3cfg to NAPOT with a read-modify-write on pmpcfg0
4. set pmp4cfg to NAPOT with a read-modify-write on pmpcfg1

When (2) is emulated, a call to pmp_update_rule() creates a negative
range for pmp4 as pmp4cfg is still set to TOR. And when (3) is emulated,
a call to tlb_flush() is performed, causing pmp_get_tlb_size() to return
a very creatively large TLB size for pmp4. This, in turn, may result in
accesses to non-existent/unitialized memory regions and a fault, so that
(4) ends up never being executed.

This is in m-mode with MPRV unset, meaning that unlocked PMP entries
should have no effect. Therefore such a behavior based on PMP content
is very unexpected.

Make sure no negative PMP range can be created, whether explicitly by
the emulated code or implicitly like the above.

Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <3oq0sqs1-67o0-145-5n1s-453o118804q@syhkavp.arg>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

a9814e3e04-Jun-2022 Richard Henderson <richard.henderson@linaro.org>

target/riscv: Minimize the calls to decode_save_opc

The set of instructions that require decode_save_opc for
unwinding is really fairly small -- only insns that can
raise ILLEGAL_INSN at runtime. T

target/riscv: Minimize the calls to decode_save_opc

The set of instructions that require decode_save_opc for
unwinding is really fairly small -- only insns that can
raise ILLEGAL_INSN at runtime. This includes CSR, anything
that uses a *new* fp rounding mode, and many privileged insns.

Since unwind info is stored as the difference from the
previous insn, storing a 0 for most insns minimizes the
size of the unwind info.

Booting a debian kernel image to the missing rootfs panic yields

- gen code size 22226819/1026886656
+ gen code size 21601907/1026886656

on 41k TranslationBlocks, a savings of 610kB or a bit less than 3%.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20220604231004.49990-4-richard.henderson@linaro.org>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

5dacdbae04-Jun-2022 Richard Henderson <richard.henderson@linaro.org>

target/riscv: Remove generate_exception_mtval

The function doesn't set mtval, it sets badaddr. Move the set
of badaddr directly into gen_exception_inst_addr_mis and use
generate_exception.

Signed-o

target/riscv: Remove generate_exception_mtval

The function doesn't set mtval, it sets badaddr. Move the set
of badaddr directly into gen_exception_inst_addr_mis and use
generate_exception.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20220604231004.49990-3-richard.henderson@linaro.org>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

b97028b804-Jun-2022 Richard Henderson <richard.henderson@linaro.org>

target/riscv: Set env->bins in gen_exception_illegal

While we set env->bins when unwinding for ILLEGAL_INST,
from e.g. csrrw, we weren't setting it for immediately
illegal instructions.

Add a testc

target/riscv: Set env->bins in gen_exception_illegal

While we set env->bins when unwinding for ILLEGAL_INST,
from e.g. csrrw, we weren't setting it for immediately
illegal instructions.

Add a testcase for mtval via both exception paths.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1060
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20220604231004.49990-2-richard.henderson@linaro.org>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

4e245a9e10-Jun-2022 Víctor Colombo <victor.colombo@eldorado.org.br>

target/riscv: Remove condition guarding register zero for auipc and lui

Commit 57c108b8646 introduced gen_set_gpri(), which already contains
a check for if the destination register is 'zero'. The ch

target/riscv: Remove condition guarding register zero for auipc and lui

Commit 57c108b8646 introduced gen_set_gpri(), which already contains
a check for if the destination register is 'zero'. The check in auipc
and lui are then redundant. This patch removes those checks.

Signed-off-by: Víctor Colombo <victor.colombo@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20220610165517.47517-1-victor.colombo@eldorado.org.br>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/block/block-copy.c
/openbmc/qemu/block/copy-before-write.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/nbd.c
/openbmc/qemu/block/trace-events
/openbmc/qemu/common-user/meson.build
/openbmc/qemu/contrib/vhost-user-blk/meson.build
/openbmc/qemu/contrib/vhost-user-blk/vhost-user-blk.c
/openbmc/qemu/docs/interop/vhost-user.rst
/openbmc/qemu/gdbstub.c
/openbmc/qemu/hw/9pfs/9p-xattr-user.c
/openbmc/qemu/hw/acpi/nvdimm.c
/openbmc/qemu/hw/arm/Kconfig
/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/pxa2xx.c
/openbmc/qemu/hw/block/m25p80.c
/openbmc/qemu/hw/display/sii9022.c
/openbmc/qemu/hw/display/ssd0303.c
/openbmc/qemu/hw/i2c/aspeed_i2c.c
/openbmc/qemu/hw/i2c/core.c
/openbmc/qemu/hw/i2c/pmbus_device.c
/openbmc/qemu/hw/i2c/smbus_slave.c
/openbmc/qemu/hw/i2c/trace-events
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/xen/xen-hvm.c
/openbmc/qemu/hw/ide/atapi.c
/openbmc/qemu/hw/intc/openpic.c
/openbmc/qemu/hw/isa/piix3.c
/openbmc/qemu/hw/misc/aspeed_hace.c
/openbmc/qemu/hw/misc/aspeed_peci.c
/openbmc/qemu/hw/misc/aspeed_scu.c
/openbmc/qemu/hw/misc/meson.build
/openbmc/qemu/hw/misc/trace-events
/openbmc/qemu/hw/net/imx_fec.c
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/nvram/eeprom_at24c.c
/openbmc/qemu/hw/pci-host/i440fx.c
/openbmc/qemu/hw/pci/msi.c
/openbmc/qemu/hw/pci/pcie_aer.c
/openbmc/qemu/hw/pci/shpc.c
/openbmc/qemu/hw/ppc/spapr_caps.c
/openbmc/qemu/hw/scsi/spapr_vscsi.c
/openbmc/qemu/hw/sensor/Kconfig
/openbmc/qemu/hw/sensor/lsm303dlhc_mag.c
/openbmc/qemu/hw/sensor/max31785.c
/openbmc/qemu/hw/sensor/meson.build
/openbmc/qemu/hw/ssi/aspeed_smc.c
/openbmc/qemu/hw/virtio/vhost-backend.c
/openbmc/qemu/hw/virtio/vhost-user.c
/openbmc/qemu/hw/virtio/vhost.c
/openbmc/qemu/hw/virtio/virtio-iommu.c
/openbmc/qemu/include/block/block-copy.h
/openbmc/qemu/include/exec/gdbstub.h
/openbmc/qemu/include/hw/arm/aspeed_soc.h
/openbmc/qemu/include/hw/i2c/aspeed_i2c.h
/openbmc/qemu/include/hw/i2c/i2c.h
/openbmc/qemu/include/hw/misc/aspeed_peci.h
/openbmc/qemu/include/hw/pci-host/i440fx.h
/openbmc/qemu/include/hw/virtio/vhost-backend.h
/openbmc/qemu/include/hw/virtio/vhost.h
/openbmc/qemu/include/hw/xen/xen.h
/openbmc/qemu/include/hw/xen/xen_common.h
/openbmc/qemu/include/qemu/coroutine.h
/openbmc/qemu/include/qemu/iova-tree.h
/openbmc/qemu/include/qom/object.h
/openbmc/qemu/include/semihosting/console.h
/openbmc/qemu/include/semihosting/guestfd.h
/openbmc/qemu/include/semihosting/semihost.h
/openbmc/qemu/include/semihosting/syscalls.h
/openbmc/qemu/linux-user/m68k/cpu_loop.c
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/semihost.c
/openbmc/qemu/meson.build
/openbmc/qemu/nbd/client-connection.c
/openbmc/qemu/nbd/trace-events
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/net.json
/openbmc/qemu/semihosting/arm-compat-semi.c
/openbmc/qemu/semihosting/config.c
/openbmc/qemu/semihosting/console.c
/openbmc/qemu/semihosting/guestfd.c
/openbmc/qemu/semihosting/meson.build
/openbmc/qemu/semihosting/syscalls.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/stubs/semihost.c
/openbmc/qemu/stubs/xen-hw-stub.c
/openbmc/qemu/subprojects/libvhost-user/libvhost-user.c
/openbmc/qemu/target/m68k/m68k-semi.c
/openbmc/qemu/target/m68k/meson.build
/openbmc/qemu/target/mips/cpu.h
/openbmc/qemu/target/mips/tcg/exception.c
/openbmc/qemu/target/mips/tcg/micromips_translate.c.inc
/openbmc/qemu/target/mips/tcg/mips16e_translate.c.inc
/openbmc/qemu/target/mips/tcg/nanomips_translate.c.inc
/openbmc/qemu/target/mips/tcg/sysemu/mips-semi.c
/openbmc/qemu/target/mips/tcg/sysemu/tlb_helper.c
/openbmc/qemu/target/mips/tcg/sysemu_helper.h.inc
/openbmc/qemu/target/mips/tcg/tcg-internal.h
/openbmc/qemu/target/mips/tcg/translate.c
/openbmc/qemu/target/nios2/meson.build
/openbmc/qemu/target/nios2/nios2-semi.c
insn_trans/trans_rvi.c.inc
/openbmc/qemu/tests/qemu-iotests/pylintrc
/openbmc/qemu/tests/qemu-iotests/tests/copy-before-write
/openbmc/qemu/tests/qemu-iotests/tests/copy-before-write.out
/openbmc/qemu/tests/qtest/aspeed_smc-test.c
/openbmc/qemu/tools/virtiofsd/passthrough_ll.c
/openbmc/qemu/ui/input.c
/openbmc/qemu/util/iova-tree.c
/openbmc/qemu/util/meson.build
/openbmc/qemu/util/qemu-co-timeout.c
1b3b769307-Jun-2022 Richard Henderson <richard.henderson@linaro.org>

semihosting: Split out common-semi-target.h

Move the ARM and RISCV specific helpers into
their own header file.

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

semihosting: Split out common-semi-target.h

Move the ARM and RISCV specific helpers into
their own header file.

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

show more ...

ed3a06b128-Apr-2022 Richard Henderson <richard.henderson@linaro.org>

semihosting: Return void from do_common_semihosting

Perform the cleanup in the FIXME comment in common_semi_gdb_syscall.
Do not modify guest registers until the syscall is complete,
which in the gdb

semihosting: Return void from do_common_semihosting

Perform the cleanup in the FIXME comment in common_semi_gdb_syscall.
Do not modify guest registers until the syscall is complete,
which in the gdbstub case is asynchronous.

In the synchronous non-gdbstub case, use common_semi_set_ret
to set the result. Merge set_swi_errno into common_semi_cb.
Rely on the latter for combined return value / errno setting.

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

show more ...


/openbmc/qemu/.gitlab-ci.d/base.yml
/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch32.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch64.yml
/openbmc/qemu/.gitmodules
/openbmc/qemu/Kconfig.host
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/accel/accel-common.c
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/stubs/tcg-stub.c
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-mttcg.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-rr.c
/openbmc/qemu/accel/tcg/tcg-accel-ops.c
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/backends/cryptodev-builtin.c
/openbmc/qemu/backends/cryptodev-vhost-user.c
/openbmc/qemu/backends/cryptodev.c
/openbmc/qemu/block/backup.c
/openbmc/qemu/block/block-backend.c
/openbmc/qemu/block/dirty-bitmap.c
/openbmc/qemu/block/export/export.c
/openbmc/qemu/block/export/meson.build
/openbmc/qemu/block/export/vduse-blk.c
/openbmc/qemu/block/export/vduse-blk.h
/openbmc/qemu/block/export/vhost-user-blk-server.c
/openbmc/qemu/block/export/virtio-blk-handler.c
/openbmc/qemu/block/export/virtio-blk-handler.h
/openbmc/qemu/block/gluster.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/io_uring.c
/openbmc/qemu/block/linux-aio.c
/openbmc/qemu/block/monitor/bitmap-qmp-cmds.c
/openbmc/qemu/block/nbd.c
/openbmc/qemu/block/rbd.c
/openbmc/qemu/bsd-user/bsd-file.h
/openbmc/qemu/bsd-user/bsd-proc.h
/openbmc/qemu/bsd-user/freebsd/os-syscall.c
/openbmc/qemu/bsd-user/syscall_defs.h
/openbmc/qemu/configs/targets/aarch64-linux-user.mak
/openbmc/qemu/configs/targets/aarch64_be-linux-user.mak
/openbmc/qemu/configs/targets/arm-linux-user.mak
/openbmc/qemu/configs/targets/armeb-linux-user.mak
/openbmc/qemu/configs/targets/riscv32-linux-user.mak
/openbmc/qemu/configs/targets/riscv64-linux-user.mak
/openbmc/qemu/configure
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/conf.py
/openbmc/qemu/docs/devel/submitting-a-patch.rst
/openbmc/qemu/docs/system/arm/cpu-features.rst
/openbmc/qemu/docs/system/device-emulation.rst
/openbmc/qemu/docs/system/devices/canokey.rst
/openbmc/qemu/docs/system/devices/cxl.rst
/openbmc/qemu/docs/system/devices/nvme.rst
/openbmc/qemu/docs/system/devices/usb.rst
/openbmc/qemu/docs/tools/qemu-storage-daemon.rst
/openbmc/qemu/gdbstub.c
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hmp-commands.hx
/openbmc/qemu/hw/9pfs/9p.c
/openbmc/qemu/hw/acpi/acpi_interface.c
/openbmc/qemu/hw/acpi/cxl.c
/openbmc/qemu/hw/acpi/erst.c
/openbmc/qemu/hw/acpi/ipmi-stub.c
/openbmc/qemu/hw/acpi/ipmi.c
/openbmc/qemu/hw/acpi/meson.build
/openbmc/qemu/hw/acpi/pcihp.c
/openbmc/qemu/hw/acpi/piix4.c
/openbmc/qemu/hw/acpi/viot.c
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast10x0.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/audio/cs4231a.c
/openbmc/qemu/hw/block/fdc-isa.c
/openbmc/qemu/hw/block/fdc-sysbus.c
/openbmc/qemu/hw/block/vhost-user-blk.c
/openbmc/qemu/hw/block/virtio-blk.c
/openbmc/qemu/hw/block/xen-block.c
/openbmc/qemu/hw/char/parallel.c
/openbmc/qemu/hw/char/serial-isa.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/core/qdev.c
/openbmc/qemu/hw/cxl/cxl-component-utils.c
/openbmc/qemu/hw/cxl/cxl-host-stubs.c
/openbmc/qemu/hw/cxl/cxl-host.c
/openbmc/qemu/hw/display/artist.c
/openbmc/qemu/hw/display/virtio-gpu-base.c
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/display/virtio-vga.c
/openbmc/qemu/hw/display/xenfb.c
/openbmc/qemu/hw/hppa/machine.c
/openbmc/qemu/hw/i2c/aspeed_i2c.c
/openbmc/qemu/hw/i2c/smbus_ich9.c
/openbmc/qemu/hw/i2c/trace-events
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/microvm-dt.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/pc_q35.c
/openbmc/qemu/hw/ide/core.c
/openbmc/qemu/hw/input/lasips2.c
/openbmc/qemu/hw/input/pckbd.c
/openbmc/qemu/hw/input/pl050.c
/openbmc/qemu/hw/input/ps2.c
/openbmc/qemu/hw/intc/pnv_xive2.c
/openbmc/qemu/hw/ipmi/isa_ipmi_bt.c
/openbmc/qemu/hw/ipmi/isa_ipmi_kcs.c
/openbmc/qemu/hw/ipmi/smbus_ipmi.c
/openbmc/qemu/hw/isa/isa-bus.c
/openbmc/qemu/hw/isa/lpc_ich9.c
/openbmc/qemu/hw/isa/piix3.c
/openbmc/qemu/hw/isa/piix4.c
/openbmc/qemu/hw/mips/boston.c
/openbmc/qemu/hw/mips/jazz.c
/openbmc/qemu/hw/mips/malta.c
/openbmc/qemu/hw/misc/applesmc.c
/openbmc/qemu/hw/misc/aspeed_hace.c
/openbmc/qemu/hw/misc/pvpanic-isa.c
/openbmc/qemu/hw/net/fsl_etsec/etsec.c
/openbmc/qemu/hw/net/fsl_etsec/etsec.h
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/nvme/ns.c
/openbmc/qemu/hw/nvme/nvme.h
/openbmc/qemu/hw/nvme/subsys.c
/openbmc/qemu/hw/nvme/trace-events
/openbmc/qemu/hw/pci-bridge/cxl_downstream.c
/openbmc/qemu/hw/pci-bridge/cxl_upstream.c
/openbmc/qemu/hw/pci-bridge/meson.build
/openbmc/qemu/hw/pci-bridge/pci_expander_bridge.c
/openbmc/qemu/hw/pci-bridge/pci_expander_bridge_stubs.c
/openbmc/qemu/hw/pci-host/pnv_phb3.c
/openbmc/qemu/hw/pci-host/pnv_phb4.c
/openbmc/qemu/hw/pci-host/pnv_phb4_pec.c
/openbmc/qemu/hw/pci-host/q35.c
/openbmc/qemu/hw/pci/msi.c
/openbmc/qemu/hw/pci/msix.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/ppc/ppc440_uc.c
/openbmc/qemu/hw/remote/Kconfig
/openbmc/qemu/hw/remote/iommu.c
/openbmc/qemu/hw/remote/machine.c
/openbmc/qemu/hw/remote/meson.build
/openbmc/qemu/hw/remote/trace-events
/openbmc/qemu/hw/remote/vfio-user-obj.c
/openbmc/qemu/hw/rtc/mc146818rtc.c
/openbmc/qemu/hw/s390x/virtio-ccw.c
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/scsi/scsi-generic.c
/openbmc/qemu/hw/scsi/vhost-user-scsi.c
/openbmc/qemu/hw/sparc64/sun4u.c
/openbmc/qemu/hw/tpm/tpm_tis_isa.c
/openbmc/qemu/hw/usb/Kconfig
/openbmc/qemu/hw/usb/canokey.c
/openbmc/qemu/hw/usb/canokey.h
/openbmc/qemu/hw/usb/hcd-ehci.c
/openbmc/qemu/hw/usb/meson.build
/openbmc/qemu/hw/usb/redirect.c
/openbmc/qemu/hw/usb/trace-events
/openbmc/qemu/hw/vfio/display.c
/openbmc/qemu/hw/virtio/trace-events
/openbmc/qemu/hw/virtio/vhost-user.c
/openbmc/qemu/hw/virtio/vhost.c
/openbmc/qemu/hw/virtio/virtio-bus.c
/openbmc/qemu/hw/virtio/virtio-crypto.c
/openbmc/qemu/hw/virtio/virtio-iommu.c
/openbmc/qemu/hw/virtio/virtio-mmio.c
/openbmc/qemu/hw/virtio/virtio-pci.c
/openbmc/qemu/include/block/aio-wait.h
/openbmc/qemu/include/block/block-io.h
/openbmc/qemu/include/block/block_int-io.h
/openbmc/qemu/include/block/nvme.h
/openbmc/qemu/include/exec/cpu-all.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/hw/acpi/acpi_aml_interface.h
/openbmc/qemu/include/hw/acpi/cxl.h
/openbmc/qemu/include/hw/acpi/ipmi.h
/openbmc/qemu/include/hw/acpi/piix4.h
/openbmc/qemu/include/hw/block/fdc.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/cxl/cxl.h
/openbmc/qemu/include/hw/cxl/cxl_host.h
/openbmc/qemu/include/hw/i2c/aspeed_i2c.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/input/i8042.h
/openbmc/qemu/include/hw/input/lasips2.h
/openbmc/qemu/include/hw/input/ps2.h
/openbmc/qemu/include/hw/isa/isa.h
/openbmc/qemu/include/hw/misc/pvpanic.h
/openbmc/qemu/include/hw/pci-bridge/pci_expander_bridge.h
/openbmc/qemu/include/hw/pci/msi.h
/openbmc/qemu/include/hw/pci/msix.h
/openbmc/qemu/include/hw/pci/pci.h
/openbmc/qemu/include/hw/pci/pci_ids.h
/openbmc/qemu/include/hw/qdev-core.h
/openbmc/qemu/include/hw/registerfields.h
/openbmc/qemu/include/hw/remote/iommu.h
/openbmc/qemu/include/hw/remote/machine.h
/openbmc/qemu/include/hw/remote/vfio-user-obj.h
/openbmc/qemu/include/hw/rtc/mc146818rtc.h
/openbmc/qemu/include/hw/southbridge/piix.h
/openbmc/qemu/include/hw/virtio/virtio-crypto.h
/openbmc/qemu/include/hw/virtio/virtio-gpu.h
/openbmc/qemu/include/hw/virtio/virtio-iommu.h
/openbmc/qemu/include/io/channel-null.h
/openbmc/qemu/include/monitor/hmp.h
/openbmc/qemu/include/monitor/stats.h
/openbmc/qemu/include/qemu/accel.h
/openbmc/qemu/include/qemu/cutils.h
/openbmc/qemu/include/qemu/hbitmap.h
/openbmc/qemu/include/qemu/host-utils.h
/openbmc/qemu/include/qemu/int128.h
/openbmc/qemu/include/semihosting/guestfd.h
/openbmc/qemu/include/semihosting/softmmu-uaccess.h
/openbmc/qemu/include/sysemu/block-backend-io.h
/openbmc/qemu/include/sysemu/cryptodev.h
/openbmc/qemu/include/ui/console.h
/openbmc/qemu/include/ui/gtk.h
/openbmc/qemu/io/channel-null.c
/openbmc/qemu/io/channel-socket.c
/openbmc/qemu/io/meson.build
/openbmc/qemu/io/trace-events
/openbmc/qemu/linux-headers/linux/vduse.h
/openbmc/qemu/linux-user/aarch64/cpu_loop.c
/openbmc/qemu/linux-user/arm/cpu_loop.c
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/mmap.c
/openbmc/qemu/linux-user/riscv/cpu_loop.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/linux-user/user-internals.h
/openbmc/qemu/linux-user/user-mmap.h
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
/openbmc/qemu/migration/block.c
/openbmc/qemu/migration/channel-block.c
/openbmc/qemu/migration/channel-block.h
/openbmc/qemu/migration/channel.c
/openbmc/qemu/migration/colo.c
/openbmc/qemu/migration/meson.build
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/qemu-file.c
/openbmc/qemu/migration/qemu-file.h
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/rdma.c
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/vmstate.c
/openbmc/qemu/monitor/hmp-cmds.c
/openbmc/qemu/monitor/qmp-cmds.c
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/block-export.json
/openbmc/qemu/qapi/block.json
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/meson.build
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/misc.json
/openbmc/qemu/qapi/qapi-schema.json
/openbmc/qemu/qapi/qom.json
/openbmc/qemu/qapi/stats.json
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/scripts/update-linux-headers.sh
/openbmc/qemu/semihosting/arm-compat-semi.c
/openbmc/qemu/semihosting/common-semi.h
/openbmc/qemu/semihosting/config.c
/openbmc/qemu/semihosting/guestfd.c
/openbmc/qemu/semihosting/meson.build
/openbmc/qemu/semihosting/uaccess.c
/openbmc/qemu/softmmu/physmem.c
/openbmc/qemu/softmmu/qdev-monitor.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/storage-daemon/qemu-storage-daemon.c
/openbmc/qemu/stubs/meson.build
/openbmc/qemu/stubs/vfio-user-obj.c
/openbmc/qemu/subprojects/libvduse/include/atomic.h
/openbmc/qemu/subprojects/libvduse/include/compiler.h
/openbmc/qemu/subprojects/libvduse/libvduse.c
/openbmc/qemu/subprojects/libvduse/libvduse.h
/openbmc/qemu/subprojects/libvduse/linux-headers/linux
/openbmc/qemu/subprojects/libvduse/meson.build
/openbmc/qemu/subprojects/libvduse/standard-headers/linux
/openbmc/qemu/subprojects/libvfio-user
/openbmc/qemu/target/arm/cpregs.h
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/debug_helper.c
/openbmc/qemu/target/arm/helper-sme.h
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/helper.h
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/kvm64.c
/openbmc/qemu/target/arm/m_helper.c
/openbmc/qemu/target/arm/machine.c
/openbmc/qemu/target/arm/meson.build
/openbmc/qemu/target/arm/op_helper.c
/openbmc/qemu/target/arm/ptw.c
/openbmc/qemu/target/arm/sme_helper.c
/openbmc/qemu/target/arm/syndrome.h
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/arm/translate-a64.h
/openbmc/qemu/target/arm/translate-m-nocp.c
/openbmc/qemu/target/arm/translate-mve.c
/openbmc/qemu/target/arm/translate-sve.c
/openbmc/qemu/target/arm/translate-vfp.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/arm/translate.h
/openbmc/qemu/target/avr/cpu.c
/openbmc/qemu/target/avr/cpu.h
/openbmc/qemu/target/avr/helper.c
/openbmc/qemu/target/m68k/m68k-semi.c
/openbmc/qemu/target/mips/cpu.c
/openbmc/qemu/target/mips/cpu.h
/openbmc/qemu/target/mips/tcg/msa_helper.c
/openbmc/qemu/target/mips/tcg/msa_translate.c
/openbmc/qemu/target/mips/tcg/nanomips_translate.c.inc
/openbmc/qemu/target/mips/tcg/sysemu/cp0_helper.c
/openbmc/qemu/target/mips/tcg/sysemu/mips-semi.c
/openbmc/qemu/target/mips/tcg/translate.c
/openbmc/qemu/target/nios2/nios2-semi.c
/openbmc/qemu/target/ppc/cpu_init.c
/openbmc/qemu/target/ppc/fpu_helper.c
/openbmc/qemu/target/ppc/helper.h
/openbmc/qemu/target/ppc/insn32.decode
/openbmc/qemu/target/ppc/int_helper.c
/openbmc/qemu/target/ppc/translate/vmx-impl.c.inc
cpu_helper.c
/openbmc/qemu/tcg/ppc/tcg-target.c.inc
/openbmc/qemu/tcg/ppc/tcg-target.h
/openbmc/qemu/tests/avocado/boot_linux_console.py
/openbmc/qemu/tests/avocado/machine_aspeed.py
/openbmc/qemu/tests/data/acpi/pc/DSDT
/openbmc/qemu/tests/data/acpi/pc/DSDT.acpierst
/openbmc/qemu/tests/data/acpi/pc/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/pc/DSDT.bridge
/openbmc/qemu/tests/data/acpi/pc/DSDT.cphp
/openbmc/qemu/tests/data/acpi/pc/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/pc/DSDT.hpbridge
/openbmc/qemu/tests/data/acpi/pc/DSDT.hpbrroot
/openbmc/qemu/tests/data/acpi/pc/DSDT.ipmikcs
/openbmc/qemu/tests/data/acpi/pc/DSDT.memhp
/openbmc/qemu/tests/data/acpi/pc/DSDT.nohpet
/openbmc/qemu/tests/data/acpi/pc/DSDT.numamem
/openbmc/qemu/tests/data/acpi/pc/DSDT.roothp
/openbmc/qemu/tests/data/acpi/q35/CEDT.cxl
/openbmc/qemu/tests/data/acpi/q35/DSDT
/openbmc/qemu/tests/data/acpi/q35/DSDT.acpierst
/openbmc/qemu/tests/data/acpi/q35/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/q35/DSDT.applesmc
/openbmc/qemu/tests/data/acpi/q35/DSDT.bridge
/openbmc/qemu/tests/data/acpi/q35/DSDT.cphp
/openbmc/qemu/tests/data/acpi/q35/DSDT.cxl
/openbmc/qemu/tests/data/acpi/q35/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/q35/DSDT.ipmibt
/openbmc/qemu/tests/data/acpi/q35/DSDT.ipmismbus
/openbmc/qemu/tests/data/acpi/q35/DSDT.ivrs
/openbmc/qemu/tests/data/acpi/q35/DSDT.memhp
/openbmc/qemu/tests/data/acpi/q35/DSDT.mmio64
/openbmc/qemu/tests/data/acpi/q35/DSDT.multi-bridge
/openbmc/qemu/tests/data/acpi/q35/DSDT.nohpet
/openbmc/qemu/tests/data/acpi/q35/DSDT.numamem
/openbmc/qemu/tests/data/acpi/q35/DSDT.pvpanic-isa
/openbmc/qemu/tests/data/acpi/q35/DSDT.tis.tpm12
/openbmc/qemu/tests/data/acpi/q35/DSDT.tis.tpm2
/openbmc/qemu/tests/data/acpi/q35/DSDT.viot
/openbmc/qemu/tests/data/acpi/q35/DSDT.xapic
/openbmc/qemu/tests/data/acpi/q35/VIOT.viot
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/dockerfiles/centos8.docker
/openbmc/qemu/tests/qtest/aspeed_smc-test.c
/openbmc/qemu/tests/qtest/bios-tables-test.c
/openbmc/qemu/tests/qtest/cxl-test.c
/openbmc/qemu/tests/qtest/fuzz/generic_fuzz.c
/openbmc/qemu/tests/qtest/npcm7xx_sdhci-test.c
/openbmc/qemu/tests/qtest/virtio-9p-test.c
/openbmc/qemu/tests/tcg/arm/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/i386/test-i386-fp-exceptions.c
/openbmc/qemu/tests/tcg/i386/test-i386.c
/openbmc/qemu/tests/unit/meson.build
/openbmc/qemu/tests/unit/test-cutils.c
/openbmc/qemu/tests/unit/test-io-channel-null.c
/openbmc/qemu/tests/unit/test-vmstate.c
/openbmc/qemu/tests/vm/Makefile.include
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/ui/console.c
/openbmc/qemu/ui/gtk-egl.c
/openbmc/qemu/ui/gtk-gl-area.c
/openbmc/qemu/ui/gtk.c
/openbmc/qemu/ui/trace-events
/openbmc/qemu/util/aio-wait.c
/openbmc/qemu/util/cacheflush.c
/openbmc/qemu/util/cutils.c
/openbmc/qemu/util/hbitmap.c
/openbmc/qemu/util/host-utils.c
/openbmc/qemu/util/meson.build
/openbmc/qemu/util/qemu-timer.c
0731415808-Jun-2022 Alistair Francis <alistair.francis@wdc.com>

target/riscv: trans_rvv: Avoid assert for RV32 and e64

When running a 32-bit guest, with a e64 vmv.v.x and vl_eq_vlmax set to
true the `tcg_debug_assert(vece <= MO_32)` will be triggered inside
tcg_

target/riscv: trans_rvv: Avoid assert for RV32 and e64

When running a 32-bit guest, with a e64 vmv.v.x and vl_eq_vlmax set to
true the `tcg_debug_assert(vece <= MO_32)` will be triggered inside
tcg_gen_gvec_dup_i32().

This patch checks that condition and instead uses tcg_gen_gvec_dup_i64()
is required.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1028
Suggested-by: Robert Bu <robert.bu@gmail.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220608234701.369536-1-alistair.francis@opensource.wdc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

26b2bc5808-Jun-2022 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Don't expose the CPU properties on names CPUs

There are currently two types of RISC-V CPUs:
- Generic CPUs (base or any) that allow complete custimisation
- "Named" CPUs that match e

target/riscv: Don't expose the CPU properties on names CPUs

There are currently two types of RISC-V CPUs:
- Generic CPUs (base or any) that allow complete custimisation
- "Named" CPUs that match existing hardware

Users can use the base CPUs to custimise the extensions that they want, for
example -cpu rv64,v=true.

We originally exposed these as part of the named CPUs as well, but that was
by accident.

Exposing the CPU properties to named CPUs means that we accidently
enable extensions that don't exist on the CPUs by default. For example
the SiFive E CPU currently support the zba extension, which is a bug.

This patch instead only exposes the CPU extensions to the generic CPUs.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-Id: <20220608061437.314434-1-alistair.francis@opensource.wdc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

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

target/riscv: rvv: Add option 'rvv_ta_all_1s' to enable optional tail agnostic behavior

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

target/riscv: rvv: Add option 'rvv_ta_all_1s' to enable optional tail agnostic behavior

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 commit adds option 'rvv_ta_all_1s' is added to enable the
behavior, it is default as disabled.

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-16@git.sr.ht>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

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

target/riscv: rvv: Add tail agnostic for vector permutation instructions

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

target/riscv: rvv: Add tail agnostic for vector permutation 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-15@git.sr.ht>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

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

target/riscv: rvv: Add tail agnostic for vector mask instructions

The tail elements in the destination mask register are updated under
a tail-agnostic policy.

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

target/riscv: rvv: Add tail agnostic for vector mask instructions

The tail elements in the destination mask register are updated 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-14@git.sr.ht>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

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

target/riscv: rvv: Add tail agnostic for vector reduction instructions

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

target/riscv: rvv: Add tail agnostic for vector reduction 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-13@git.sr.ht>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

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

target/riscv: rvv: Add tail agnostic for vector floating-point instructions

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

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

target/riscv: rvv: Add tail agnostic for vector floating-point 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-12@git.sr.ht>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

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

target/riscv: rvv: Add tail agnostic for vector fix-point arithmetic instructions

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

target/riscv: rvv: Add tail agnostic for vector fix-point arithmetic 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-11@git.sr.ht>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

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

target/riscv: rvv: Add tail agnostic for vector integer merge and move instructions

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

target/riscv: rvv: Add tail agnostic for vector integer merge and move 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-10@git.sr.ht>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

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