History log of /openbmc/qemu/target/riscv/ (Results 626 – 650 of 1666)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
0bc71ee028-Feb-2023 Bin Meng <bmeng@tinylab.org>

target/riscv: gdbstub: Check priv spec version before reporting CSR

The gdbstub CSR XML is dynamically generated according to the result
of the CSR predicate() result. This has been working fine unt

target/riscv: gdbstub: Check priv spec version before reporting CSR

The gdbstub CSR XML is dynamically generated according to the result
of the CSR predicate() result. This has been working fine until
commit 7100fe6c2441 ("target/riscv: Enable privileged spec version 1.12")
introduced the privilege spec version check in riscv_csrrw_check().

When debugging the 'sifive_u' machine whose priv spec is at 1.10,
gdbstub reports priv spec 1.12 CSRs like menvcfg in the XML, hence
we see "remote failure reply 'E14'" message when examining all CSRs
via "info register system" from gdb.

Add the priv spec version check in the CSR XML generation logic to
fix this issue.

Fixes: 7100fe6c2441 ("target/riscv: Enable privileged spec version 1.12")
Signed-off-by: Bin Meng <bmeng@tinylab.org>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Reviewed-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Message-ID: <20230228104035.1879882-2-bmeng@tinylab.org>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

058d9d3014-Feb-2023 Weiwei Li <liweiwei@iscas.ac.cn>

target/riscv: Expose properties for Zv* extensions

Expose Zve64d,Zvfh,Zvfhmin properties.

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

target/riscv: Expose properties for Zv* extensions

Expose Zve64d,Zvfh,Zvfhmin properties.

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20230215020539.4788-15-liweiwei@iscas.ac.cn>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

c102746014-Feb-2023 Weiwei Li <liweiwei@iscas.ac.cn>

target/riscv: Simplify check for EEW = 64 in trans_rvv.c.inc

Only V extension supports EEW = 64 in these cases: Zve64* extensions don't
support EEW = 64 in these cases as commented before the check.

target/riscv: Simplify check for EEW = 64 in trans_rvv.c.inc

Only V extension supports EEW = 64 in these cases: Zve64* extensions don't
support EEW = 64 in these cases as commented before the check.

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20230215020539.4788-14-liweiwei@iscas.ac.cn>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

6ad831eb14-Feb-2023 Weiwei Li <liweiwei@iscas.ac.cn>

target/riscv: Fix check for vector load/store instructions when EEW=64

The V extension supports all vector load and store instructions except
the V extension does not support EEW=64 for index values

target/riscv: Fix check for vector load/store instructions when EEW=64

The V extension supports all vector load and store instructions except
the V extension does not support EEW=64 for index values when XLEN=32.
(Section 18.3)

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20230215020539.4788-13-liweiwei@iscas.ac.cn>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

e80865e514-Feb-2023 Weiwei Li <liweiwei@iscas.ac.cn>

target/riscv: Add support for Zvfh/zvfhmin extensions

Zvfh supports vector float point instructions with SEW = 16
and supports conversions between 8-bit integers and binary16 values.

Zvfhmin suppor

target/riscv: Add support for Zvfh/zvfhmin extensions

Zvfh supports vector float point instructions with SEW = 16
and supports conversions between 8-bit integers and binary16 values.

Zvfhmin supports vfwcvt.f.f.v and vfncvt.f.f.w instructions.

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20230215020539.4788-12-liweiwei@iscas.ac.cn>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

2bc2853f14-Feb-2023 Weiwei Li <liweiwei@iscas.ac.cn>

target/riscv: Remove redundunt check for zve32f and zve64f

Require_zve32/64f have been overlapped by require_rvf/require_scale_rvf.

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Ju

target/riscv: Remove redundunt check for zve32f and zve64f

Require_zve32/64f have been overlapped by require_rvf/require_scale_rvf.

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20230215020539.4788-11-liweiwei@iscas.ac.cn>
[Palmer: commit text]
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

732b902d14-Feb-2023 Weiwei Li <liweiwei@iscas.ac.cn>

target/riscv: Replace check for F/D to Zve32f/Zve64d in trans_rvv.c.inc

Check for Zve32f/Zve64d can overlap check for F/D.

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

target/riscv: Replace check for F/D to Zve32f/Zve64d in trans_rvv.c.inc

Check for Zve32f/Zve64d can overlap check for F/D.

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20230215020539.4788-10-liweiwei@iscas.ac.cn>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

3f4a5a5314-Feb-2023 Weiwei Li <liweiwei@iscas.ac.cn>

target/riscv: Simplify check for Zve32f and Zve64f

V/Zve64f depend on Zve32f, so we can only check Zve32f in these cases.

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

target/riscv: Simplify check for Zve32f and Zve64f

V/Zve64f depend on Zve32f, so we can only check Zve32f in these cases.

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20230215020539.4788-9-liweiwei@iscas.ac.cn>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

51f3308114-Feb-2023 Weiwei Li <liweiwei@iscas.ac.cn>

target/riscv: Indent fixes in cpu.c

Fix indent problems in vector related check.

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

target/riscv: Indent fixes in cpu.c

Fix indent problems in vector related check.

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20230215020539.4788-8-liweiwei@iscas.ac.cn>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

2e60f9ec14-Feb-2023 Weiwei Li <liweiwei@iscas.ac.cn>

target/riscv: Add property check for Zvfh{min} extensions

Add check for Zvfh and Zvfhmin.

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

target/riscv: Add property check for Zvfh{min} extensions

Add check for Zvfh and Zvfhmin.

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20230215020539.4788-7-liweiwei@iscas.ac.cn>
[Palmer: commit text]
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

e7f0a80314-Feb-2023 Weiwei Li <liweiwei@iscas.ac.cn>

target/riscv: Fix relationship between V, Zve*, F and D

Add dependence chain:
* V => Zve64d => Zve64f => Zve32f => F
* V => Zve64d => D

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

target/riscv: Fix relationship between V, Zve*, F and D

Add dependence chain:
* V => Zve64d => Zve64f => Zve32f => F
* V => Zve64d => D

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20230215020539.4788-6-liweiwei@iscas.ac.cn>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

a733616114-Feb-2023 Weiwei Li <liweiwei@iscas.ac.cn>

target/riscv: Add cfg properties for Zv* extensions

Add properties for Zve64d,Zvfh,Zvfhmin extensions.

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

target/riscv: Add cfg properties for Zv* extensions

Add properties for Zve64d,Zvfh,Zvfhmin extensions.

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20230215020539.4788-5-liweiwei@iscas.ac.cn>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

94bdf6ee14-Feb-2023 Weiwei Li <liweiwei@iscas.ac.cn>

target/riscv: Simplify the check for Zfhmin and Zhinxmin

We needn't check Zfh and Zhinx in these instructions.

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

target/riscv: Simplify the check for Zfhmin and Zhinxmin

We needn't check Zfh and Zhinx in these instructions.

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20230215020539.4788-4-liweiwei@iscas.ac.cn>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

a0d805f014-Feb-2023 Weiwei Li <liweiwei@iscas.ac.cn>

target/riscv: Fix the relationship between Zhinxmin and Zhinx

Just like zfh and zfhmin, Zhinxmin is part of Zhinx so Zhinxmin
will be enabled when Zhinx is enabled.

Signed-off-by: Weiwei Li <liweiw

target/riscv: Fix the relationship between Zhinxmin and Zhinx

Just like zfh and zfhmin, Zhinxmin is part of Zhinx so Zhinxmin
will be enabled when Zhinx is enabled.

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20230215020539.4788-3-liweiwei@iscas.ac.cn>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

1d2cb5a814-Feb-2023 Weiwei Li <liweiwei@iscas.ac.cn>

target/riscv: Fix the relationship between Zfhmin and Zfh

Zfhmin is part of Zfh, so Zfhmin will be enabled when Zfh is enabled.

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqia

target/riscv: Fix the relationship between Zfhmin and Zfh

Zfhmin is part of Zfh, so Zfhmin will be enabled when Zfh is enabled.

Signed-off-by: Weiwei Li <liweiwei@iscas.ac.cn>
Signed-off-by: Junqiang Wang <wangjunqiang@iscas.ac.cn>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20230215020539.4788-2-liweiwei@iscas.ac.cn>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/internal.h
/openbmc/qemu/accel/tcg/meson.build
/openbmc/qemu/accel/tcg/monitor.c
/openbmc/qemu/accel/tcg/tcg-accel-ops.c
/openbmc/qemu/accel/tcg/tcg-all.c
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/accel/tcg/translator.c
/openbmc/qemu/accel/tcg/user-exec-stub.c
/openbmc/qemu/accel/xen/xen-all.c
/openbmc/qemu/block/vvfat.c
/openbmc/qemu/configure
/openbmc/qemu/cpu.c
/openbmc/qemu/docs/devel/testing.rst
/openbmc/qemu/docs/meson.build
/openbmc/qemu/dump/dump-hmp-cmds.c
/openbmc/qemu/dump/dump.c
/openbmc/qemu/dump/meson.build
/openbmc/qemu/dump/win_dump.c
/openbmc/qemu/dump/win_dump.h
/openbmc/qemu/gdbstub/gdbstub.c
/openbmc/qemu/hw/acpi/ich9.c
/openbmc/qemu/hw/acpi/ich9_tco.c
/openbmc/qemu/hw/arm/sbsa-ref.c
/openbmc/qemu/hw/audio/ac97.c
/openbmc/qemu/hw/audio/ac97.h
/openbmc/qemu/hw/audio/cs4231a.c
/openbmc/qemu/hw/audio/es1370.c
/openbmc/qemu/hw/audio/gus.c
/openbmc/qemu/hw/audio/hda-codec.c
/openbmc/qemu/hw/audio/sb16.c
/openbmc/qemu/hw/block/fdc-isa.c
/openbmc/qemu/hw/core/ptimer.c
/openbmc/qemu/hw/core/qdev.c
/openbmc/qemu/hw/display/sm501.c
/openbmc/qemu/hw/dma/i82374.c
/openbmc/qemu/hw/hppa/machine.c
/openbmc/qemu/hw/i2c/smbus_ich9.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/kvm/ioapic.c
/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/x86.c
/openbmc/qemu/hw/i386/xen/xen_platform.c
/openbmc/qemu/hw/ide/ahci.c
/openbmc/qemu/hw/ide/atapi.c
/openbmc/qemu/hw/ide/cmd646.c
/openbmc/qemu/hw/ide/core.c
/openbmc/qemu/hw/ide/ich.c
/openbmc/qemu/hw/ide/ioport.c
/openbmc/qemu/hw/ide/isa.c
/openbmc/qemu/hw/ide/macio.c
/openbmc/qemu/hw/ide/microdrive.c
/openbmc/qemu/hw/ide/mmio.c
/openbmc/qemu/hw/ide/pci.c
/openbmc/qemu/hw/ide/piix.c
/openbmc/qemu/hw/ide/qdev.c
/openbmc/qemu/hw/ide/sii3112.c
/openbmc/qemu/hw/ide/trace-events
/openbmc/qemu/hw/ide/via.c
/openbmc/qemu/hw/intc/apic.c
/openbmc/qemu/hw/intc/i8259.c
/openbmc/qemu/hw/intc/ioapic.c
/openbmc/qemu/hw/intc/ioapic_common.c
/openbmc/qemu/hw/intc/ioapic_internal.h
/openbmc/qemu/hw/isa/i82378.c
/openbmc/qemu/hw/isa/isa-bus.c
/openbmc/qemu/hw/isa/lpc_ich9.c
/openbmc/qemu/hw/isa/piix4.c
/openbmc/qemu/hw/isa/vt82c686.c
/openbmc/qemu/hw/mips/jazz.c
/openbmc/qemu/hw/misc/macio/gpio.c
/openbmc/qemu/hw/nubus/nubus-device.c
/openbmc/qemu/hw/pci-bridge/i82801b11.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/ppc/pnv_lpc.c
/openbmc/qemu/hw/ppc/prep.c
/openbmc/qemu/hw/ppc/sam460ex.c
/openbmc/qemu/hw/rtc/m48t59-isa.c
/openbmc/qemu/hw/rtc/mc146818rtc.c
/openbmc/qemu/hw/sh4/r2d.c
/openbmc/qemu/hw/sparc64/sun4u.c
/openbmc/qemu/hw/timer/hpet.c
/openbmc/qemu/hw/usb/dev-smartcard-reader.c
/openbmc/qemu/hw/usb/hcd-ohci.c
/openbmc/qemu/hw/usb/hcd-ohci.h
/openbmc/qemu/hw/usb/hcd-uhci.c
/openbmc/qemu/hw/usb/hcd-uhci.h
/openbmc/qemu/hw/usb/hcd-xhci-nec.c
/openbmc/qemu/hw/usb/trace-events
/openbmc/qemu/hw/usb/u2f.h
/openbmc/qemu/include/exec/gen-icount.h
/openbmc/qemu/include/exec/replay-core.h
/openbmc/qemu/include/hw/acpi/ich9.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/i386/x86.h
/openbmc/qemu/include/hw/ide.h
/openbmc/qemu/include/hw/ide/internal.h
/openbmc/qemu/include/hw/ide/isa.h
/openbmc/qemu/include/hw/ide/mmio.h
/openbmc/qemu/include/hw/ide/pci.h
/openbmc/qemu/include/hw/intc/i8259.h
/openbmc/qemu/include/hw/intc/ioapic.h
/openbmc/qemu/include/hw/isa/i8259_internal.h
/openbmc/qemu/include/hw/isa/isa.h
/openbmc/qemu/include/hw/isa/superio.h
/openbmc/qemu/include/hw/qdev-core.h
/openbmc/qemu/include/hw/rtc/mc146818rtc.h
/openbmc/qemu/include/hw/southbridge/ich9.h
/openbmc/qemu/include/hw/timer/i8254.h
/openbmc/qemu/include/hw/timer/i8254_internal.h
/openbmc/qemu/include/qemu/typedefs.h
/openbmc/qemu/include/sysemu/cpus.h
/openbmc/qemu/include/sysemu/kvm.h
/openbmc/qemu/include/sysemu/replay.h
/openbmc/qemu/meson_options.txt
/openbmc/qemu/qom/object_interfaces.c
/openbmc/qemu/scripts/checkpatch.pl
/openbmc/qemu/scripts/make-config-poison.sh
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/softmmu/meson.build
/openbmc/qemu/softmmu/physmem.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/softmmu/watchpoint.c
/openbmc/qemu/stubs/replay.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/tcg/emit.c.inc
/openbmc/qemu/target/i386/whpx/whpx-all.c
cpu.c
/openbmc/qemu/target/sparc/mmu_helper.c
/openbmc/qemu/target/tricore/cpu.h
/openbmc/qemu/target/xtensa/cpu.c
/openbmc/qemu/tcg/tcg-common.c
/openbmc/qemu/tcg/tcg-op-gvec.c
/openbmc/qemu/tcg/tcg.c
/openbmc/qemu/tests/docker/dockerfiles/alpine.docker
/openbmc/qemu/tests/docker/dockerfiles/centos8.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win32-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu2004.docker
/openbmc/qemu/tests/lcitool/libvirt-ci
/openbmc/qemu/tests/lcitool/mappings.yml
/openbmc/qemu/tests/lcitool/targets/centos-stream-8.yml
/openbmc/qemu/tests/lcitool/targets/opensuse-leap-153.yml
/openbmc/qemu/tests/qtest/tco-test.c
/openbmc/qemu/tests/tcg/i386/test-i386-bmi2.c
/openbmc/qemu/tests/unit/meson.build
/openbmc/qemu/tests/unit/ptimer-test-stubs.c
/openbmc/qemu/trace/meson.build
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/util/guest-random.c
1e2de2b822-Feb-2023 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

target/riscv/cpu: remove CPUArchState::features and friends

The attribute is no longer used since we can retrieve all the enabled
features in the hart by using cpu->cfg instead.

Remove env->feature

target/riscv/cpu: remove CPUArchState::features and friends

The attribute is no longer used since we can retrieve all the enabled
features in the hart by using cpu->cfg instead.

Remove env->feature, riscv_feature() and riscv_set_feature(). We also
need to bump vmstate_riscv_cpu version_id and minimal_version_id since
'features' is no longer being migrated.

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Reviewed-by: Bin Meng <bmeng@tinylab.org>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Message-ID: <20230222185205.355361-11-dbarboza@ventanamicro.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

dcf654a322-Feb-2023 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

target/riscv: remove RISCV_FEATURE_MMU

RISCV_FEATURE_MMU is set whether cpu->cfg.mmu is set, so let's just use
the flag directly instead.

With this change the enum is also removed. It is worth noti

target/riscv: remove RISCV_FEATURE_MMU

RISCV_FEATURE_MMU is set whether cpu->cfg.mmu is set, so let's just use
the flag directly instead.

With this change the enum is also removed. It is worth noticing that
this enum, and all the RISCV_FEATURES_* that were contained in it,
predates the existence of the cpu->cfg object. Today, using cpu->cfg is
an easier way to retrieve all the features and extensions enabled in the
hart.

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Reviewed-by: Bin Meng <bmeng@tinylab.org>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Message-ID: <20230222185205.355361-10-dbarboza@ventanamicro.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

3fe40ef522-Feb-2023 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

target/riscv: remove RISCV_FEATURE_PMP

RISCV_FEATURE_PMP is being set via riscv_set_feature() by mirroring the
cpu->cfg.pmp flag. Use the flag instead.

Signed-off-by: Daniel Henrique Barboza <dbarb

target/riscv: remove RISCV_FEATURE_PMP

RISCV_FEATURE_PMP is being set via riscv_set_feature() by mirroring the
cpu->cfg.pmp flag. Use the flag instead.

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Reviewed-by: Bin Meng <bmeng@tinylab.org>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Message-ID: <20230222185205.355361-8-dbarboza@ventanamicro.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

6a3ffda222-Feb-2023 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

target/riscv: remove RISCV_FEATURE_EPMP

RISCV_FEATURE_EPMP is always set to the same value as the cpu->cfg.epmp
flag. Use the flag directly.

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventana

target/riscv: remove RISCV_FEATURE_EPMP

RISCV_FEATURE_EPMP is always set to the same value as the cpu->cfg.epmp
flag. Use the flag directly.

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Reviewed-by: Bin Meng <bmeng@tinylab.org>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Message-ID: <20230222185205.355361-7-dbarboza@ventanamicro.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

0963144122-Feb-2023 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

target/riscv/cpu.c: error out if EPMP is enabled without PMP

Instead of silently ignoring the EPMP setting if there is no PMP
available, error out informing the user that EPMP depends on PMP
support

target/riscv/cpu.c: error out if EPMP is enabled without PMP

Instead of silently ignoring the EPMP setting if there is no PMP
available, error out informing the user that EPMP depends on PMP
support:

$ ./qemu-system-riscv64 -cpu rv64,pmp=false,x-epmp=true
qemu-system-riscv64: Invalid configuration: EPMP requires PMP support

This will force users to pick saner options in the QEMU command line.

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Reviewed-by: Bin Meng <bmeng@tinylab.org>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Message-ID: <20230222185205.355361-6-dbarboza@ventanamicro.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

cdfb290522-Feb-2023 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

target/riscv: remove RISCV_FEATURE_DEBUG

RISCV_FEATURE_DEBUG will always follow the value defined by
cpu->cfg.debug flag. Read the flag instead.

Signed-off-by: Daniel Henrique Barboza <dbarboza@ven

target/riscv: remove RISCV_FEATURE_DEBUG

RISCV_FEATURE_DEBUG will always follow the value defined by
cpu->cfg.debug flag. Read the flag instead.

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Reviewed-by: Bin Meng <bmeng@tinylab.org>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Message-ID: <20230222185205.355361-5-dbarboza@ventanamicro.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

54bd9b6e22-Feb-2023 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

target/riscv: allow MISA writes as experimental

At this moment, and apparently since ever, we have no way of enabling
RISCV_FEATURE_MISA. This means that all the code from write_misa(), all
the nuts

target/riscv: allow MISA writes as experimental

At this moment, and apparently since ever, we have no way of enabling
RISCV_FEATURE_MISA. This means that all the code from write_misa(), all
the nuts and bolts that handles how to properly write this CSR, has
always been a no-op as well because write_misa() will always exit
earlier.

This seems to be benign in the majority of cases. Booting an Ubuntu
'virt' guest and logging all the calls to 'write_misa' shows that no
writes to MISA CSR was attempted. Writing MISA, i.e. enabling/disabling
RISC-V extensions after the machine is powered on, seems to be a niche
use.

After discussions in the mailing list, most notably in [1], we reached
the consensus that this code is not suited to be exposed to users
because it's not well tested, but at the same time removing it is a bit
extreme because we would like to fix it, and it's easier to do so with
the code available to use instead of fetching it from git log.

The approach taken here is to get rid of RISCV_FEATURE_MISA altogether
and use a new experimental flag called x-misa-w. The default value is
false, meaning that we're keeping the existing behavior of doing nothing
if a write_misa() is attempted. As with any existing experimental flag,
x-misa-w is also a temporary flag that we need to remove once we fix
write_misa().

[1] https://lists.gnu.org/archive/html/qemu-devel/2023-02/msg05092.html

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: Bin Meng <bmeng@tinylab.org>
Reviewed-by: Weiwei Li<liweiwei@iscas.ac.cn>
Reviewed-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Message-ID: <20230222185205.355361-4-dbarboza@ventanamicro.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

5b17fefb22-Feb-2023 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

target/riscv: do not mask unsupported QEMU extensions in write_misa()

The masking done using env->misa_ext_mask already filters any extension
that QEMU doesn't support. If the hart supports the exte

target/riscv: do not mask unsupported QEMU extensions in write_misa()

The masking done using env->misa_ext_mask already filters any extension
that QEMU doesn't support. If the hart supports the extension then QEMU
supports it as well.

If the masking done by env->misa_ext_mask is somehow letting unsupported
QEMU extensions pass by, misa_ext_mask itself needs to be fixed instead.

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Reviewed-by: Bin Meng <bmeng@tinylab.org>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Message-ID: <20230222185205.355361-3-dbarboza@ventanamicro.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...

d4ea711722-Feb-2023 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

target/riscv: introduce riscv_cpu_cfg()

We're going to do changes that requires accessing the RISCVCPUConfig
struct from the RISCVCPU, having access only to a CPURISCVState 'env'
pointer. Add a help

target/riscv: introduce riscv_cpu_cfg()

We're going to do changes that requires accessing the RISCVCPUConfig
struct from the RISCVCPU, having access only to a CPURISCVState 'env'
pointer. Add a helper to make the code easier to read.

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Bin Meng <bmeng@tinylab.org>
Reviewed-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20230222185205.355361-2-dbarboza@ventanamicro.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>

show more ...


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/internal.h
/openbmc/qemu/accel/tcg/meson.build
/openbmc/qemu/accel/tcg/monitor.c
/openbmc/qemu/accel/tcg/tcg-accel-ops.c
/openbmc/qemu/accel/tcg/tcg-all.c
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/accel/tcg/translator.c
/openbmc/qemu/accel/tcg/user-exec-stub.c
/openbmc/qemu/accel/xen/xen-all.c
/openbmc/qemu/block/vvfat.c
/openbmc/qemu/configure
/openbmc/qemu/cpu.c
/openbmc/qemu/docs/devel/testing.rst
/openbmc/qemu/docs/meson.build
/openbmc/qemu/dump/dump-hmp-cmds.c
/openbmc/qemu/dump/dump.c
/openbmc/qemu/dump/meson.build
/openbmc/qemu/dump/win_dump.c
/openbmc/qemu/dump/win_dump.h
/openbmc/qemu/gdbstub/gdbstub.c
/openbmc/qemu/hw/acpi/ich9.c
/openbmc/qemu/hw/acpi/ich9_tco.c
/openbmc/qemu/hw/arm/sbsa-ref.c
/openbmc/qemu/hw/audio/ac97.c
/openbmc/qemu/hw/audio/ac97.h
/openbmc/qemu/hw/audio/cs4231a.c
/openbmc/qemu/hw/audio/es1370.c
/openbmc/qemu/hw/audio/gus.c
/openbmc/qemu/hw/audio/hda-codec.c
/openbmc/qemu/hw/audio/sb16.c
/openbmc/qemu/hw/block/fdc-isa.c
/openbmc/qemu/hw/core/ptimer.c
/openbmc/qemu/hw/core/qdev.c
/openbmc/qemu/hw/display/sm501.c
/openbmc/qemu/hw/dma/i82374.c
/openbmc/qemu/hw/hppa/machine.c
/openbmc/qemu/hw/i2c/smbus_ich9.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/kvm/ioapic.c
/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/x86.c
/openbmc/qemu/hw/i386/xen/xen_platform.c
/openbmc/qemu/hw/ide/ahci.c
/openbmc/qemu/hw/ide/atapi.c
/openbmc/qemu/hw/ide/cmd646.c
/openbmc/qemu/hw/ide/core.c
/openbmc/qemu/hw/ide/ich.c
/openbmc/qemu/hw/ide/ioport.c
/openbmc/qemu/hw/ide/isa.c
/openbmc/qemu/hw/ide/macio.c
/openbmc/qemu/hw/ide/microdrive.c
/openbmc/qemu/hw/ide/mmio.c
/openbmc/qemu/hw/ide/pci.c
/openbmc/qemu/hw/ide/piix.c
/openbmc/qemu/hw/ide/qdev.c
/openbmc/qemu/hw/ide/sii3112.c
/openbmc/qemu/hw/ide/trace-events
/openbmc/qemu/hw/ide/via.c
/openbmc/qemu/hw/intc/apic.c
/openbmc/qemu/hw/intc/i8259.c
/openbmc/qemu/hw/intc/ioapic.c
/openbmc/qemu/hw/intc/ioapic_common.c
/openbmc/qemu/hw/intc/ioapic_internal.h
/openbmc/qemu/hw/isa/i82378.c
/openbmc/qemu/hw/isa/isa-bus.c
/openbmc/qemu/hw/isa/lpc_ich9.c
/openbmc/qemu/hw/isa/piix4.c
/openbmc/qemu/hw/isa/vt82c686.c
/openbmc/qemu/hw/mips/jazz.c
/openbmc/qemu/hw/misc/macio/gpio.c
/openbmc/qemu/hw/nubus/nubus-device.c
/openbmc/qemu/hw/pci-bridge/i82801b11.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/ppc/pnv_lpc.c
/openbmc/qemu/hw/ppc/prep.c
/openbmc/qemu/hw/ppc/sam460ex.c
/openbmc/qemu/hw/rtc/m48t59-isa.c
/openbmc/qemu/hw/rtc/mc146818rtc.c
/openbmc/qemu/hw/sh4/r2d.c
/openbmc/qemu/hw/sparc64/sun4u.c
/openbmc/qemu/hw/timer/hpet.c
/openbmc/qemu/hw/usb/dev-smartcard-reader.c
/openbmc/qemu/hw/usb/hcd-ohci.c
/openbmc/qemu/hw/usb/hcd-ohci.h
/openbmc/qemu/hw/usb/hcd-uhci.c
/openbmc/qemu/hw/usb/hcd-uhci.h
/openbmc/qemu/hw/usb/hcd-xhci-nec.c
/openbmc/qemu/hw/usb/trace-events
/openbmc/qemu/hw/usb/u2f.h
/openbmc/qemu/include/exec/gen-icount.h
/openbmc/qemu/include/exec/replay-core.h
/openbmc/qemu/include/hw/acpi/ich9.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/i386/x86.h
/openbmc/qemu/include/hw/ide.h
/openbmc/qemu/include/hw/ide/internal.h
/openbmc/qemu/include/hw/ide/isa.h
/openbmc/qemu/include/hw/ide/mmio.h
/openbmc/qemu/include/hw/ide/pci.h
/openbmc/qemu/include/hw/intc/i8259.h
/openbmc/qemu/include/hw/intc/ioapic.h
/openbmc/qemu/include/hw/isa/i8259_internal.h
/openbmc/qemu/include/hw/isa/isa.h
/openbmc/qemu/include/hw/isa/superio.h
/openbmc/qemu/include/hw/qdev-core.h
/openbmc/qemu/include/hw/rtc/mc146818rtc.h
/openbmc/qemu/include/hw/southbridge/ich9.h
/openbmc/qemu/include/hw/timer/i8254.h
/openbmc/qemu/include/hw/timer/i8254_internal.h
/openbmc/qemu/include/qemu/typedefs.h
/openbmc/qemu/include/sysemu/cpus.h
/openbmc/qemu/include/sysemu/kvm.h
/openbmc/qemu/include/sysemu/replay.h
/openbmc/qemu/meson_options.txt
/openbmc/qemu/qom/object_interfaces.c
/openbmc/qemu/scripts/checkpatch.pl
/openbmc/qemu/scripts/make-config-poison.sh
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/softmmu/meson.build
/openbmc/qemu/softmmu/physmem.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/softmmu/watchpoint.c
/openbmc/qemu/stubs/replay.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/tcg/emit.c.inc
/openbmc/qemu/target/i386/whpx/whpx-all.c
cpu.h
/openbmc/qemu/target/sparc/mmu_helper.c
/openbmc/qemu/target/tricore/cpu.h
/openbmc/qemu/target/xtensa/cpu.c
/openbmc/qemu/tcg/tcg-common.c
/openbmc/qemu/tcg/tcg-op-gvec.c
/openbmc/qemu/tcg/tcg.c
/openbmc/qemu/tests/docker/dockerfiles/alpine.docker
/openbmc/qemu/tests/docker/dockerfiles/centos8.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win32-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu2004.docker
/openbmc/qemu/tests/lcitool/libvirt-ci
/openbmc/qemu/tests/lcitool/mappings.yml
/openbmc/qemu/tests/lcitool/targets/centos-stream-8.yml
/openbmc/qemu/tests/lcitool/targets/opensuse-leap-153.yml
/openbmc/qemu/tests/qtest/tco-test.c
/openbmc/qemu/tests/tcg/i386/test-i386-bmi2.c
/openbmc/qemu/tests/unit/meson.build
/openbmc/qemu/tests/unit/ptimer-test-stubs.c
/openbmc/qemu/trace/meson.build
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/util/guest-random.c
597f9b2d28-Jan-2023 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Pass max_insn to gen_intermediate_code by pointer

In preparation for returning the number of insns generated
via the same pointer. Adjust only the prototypes so far.

Reviewed-by: Philip

accel/tcg: Pass max_insn to gen_intermediate_code by pointer

In preparation for returning the number of insns generated
via the same pointer. Adjust only the prototypes so far.

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

show more ...

1...<<21222324252627282930>>...67