History log of /openbmc/qemu/target/riscv/ (Results 951 – 975 of 1666)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
13dbc82617-Jan-2022 Frank Chang <frank.chang@sifive.com>

target/riscv: rvv-1.0: Add Zve64f support for vsmul.vv and vsmul.vx insns

All Zve* extensions support all vector fixed-point arithmetic
instructions, except that vsmul.vv and vsmul.vx are not suppor

target/riscv: rvv-1.0: Add Zve64f support for vsmul.vv and vsmul.vx insns

All Zve* extensions support all vector fixed-point arithmetic
instructions, except that vsmul.vv and vsmul.vx are not supported
for EEW=64 in Zve64*.

Signed-off-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20220118014522.13613-6-frank.chang@sifive.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

aaae699417-Jan-2022 Frank Chang <frank.chang@sifive.com>

target/riscv: rvv-1.0: Add Zve64f support for vmulh variant insns

All Zve* extensions support all vector integer instructions,
except that the vmulh integer multiply variants that return the
high wo

target/riscv: rvv-1.0: Add Zve64f support for vmulh variant insns

All Zve* extensions support all vector integer instructions,
except that the vmulh integer multiply variants that return the
high word of the product (vmulh.vv, vmulh.vx, vmulhu.vv, vmulhu.vx,
vmulhsu.vv, vmulhsu.vx) are not included for EEW=64 in Zve64*.

Signed-off-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20220118014522.13613-5-frank.chang@sifive.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

4941040917-Jan-2022 Frank Chang <frank.chang@sifive.com>

target/riscv: rvv-1.0: Add Zve64f support for load and store insns

All Zve* extensions support all vector load and store instructions,
except Zve64* extensions do not support EEW=64 for index values

target/riscv: rvv-1.0: Add Zve64f support for load and store insns

All Zve* extensions support all vector load and store instructions,
except Zve64* extensions do not support EEW=64 for index values when
XLEN=32.

Signed-off-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20220118014522.13613-4-frank.chang@sifive.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

c7a26fb217-Jan-2022 Frank Chang <frank.chang@sifive.com>

target/riscv: rvv-1.0: Add Zve64f support for configuration insns

All Zve* extensions support the vector configuration instructions.

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

target/riscv: rvv-1.0: Add Zve64f support for configuration insns

All Zve* extensions support the vector configuration instructions.

Signed-off-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20220118014522.13613-3-frank.chang@sifive.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

b4a99d4017-Jan-2022 Frank Chang <frank.chang@sifive.com>

target/riscv: rvv-1.0: Add Zve64f extension into RISC-V

Signed-off-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20220118014522.13613-

target/riscv: rvv-1.0: Add Zve64f extension into RISC-V

Signed-off-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20220118014522.13613-2-frank.chang@sifive.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

1eb9a5da12-Jan-2022 Yifei Jiang <jiangyifei@huawei.com>

target/riscv: Support virtual time context synchronization

Add virtual time context description to vmstate_kvmtimer. After cpu being
loaded, virtual time context is updated to KVM.

Signed-off-by: Y

target/riscv: Support virtual time context synchronization

Add virtual time context description to vmstate_kvmtimer. After cpu being
loaded, virtual time context is updated to KVM.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Mingwang Li <limingwang@huawei.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20220112081329.1835-13-jiangyifei@huawei.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

9ad3e01612-Jan-2022 Yifei Jiang <jiangyifei@huawei.com>

target/riscv: Implement virtual time adjusting with vm state changing

We hope that virtual time adjusts with vm state changing. When a vm
is stopped, guest virtual time should stop counting and kvm_

target/riscv: Implement virtual time adjusting with vm state changing

We hope that virtual time adjusts with vm state changing. When a vm
is stopped, guest virtual time should stop counting and kvm_timer
should be stopped. When the vm is resumed, guest virtual time should
continue to count and kvm_timer should be restored.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Mingwang Li <limingwang@huawei.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20220112081329.1835-12-jiangyifei@huawei.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

27abe66f12-Jan-2022 Yifei Jiang <jiangyifei@huawei.com>

target/riscv: Add kvm_riscv_get/put_regs_timer

Add kvm_riscv_get/put_regs_timer to synchronize virtual time context
from KVM.

To set register of RISCV_TIMER_REG(state) will occur a error from KVM
o

target/riscv: Add kvm_riscv_get/put_regs_timer

Add kvm_riscv_get/put_regs_timer to synchronize virtual time context
from KVM.

To set register of RISCV_TIMER_REG(state) will occur a error from KVM
on kvm_timer_state == 0. It's better to adapt in KVM, but it doesn't matter
that adaping in QEMU.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Mingwang Li <limingwang@huawei.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20220112081329.1835-11-jiangyifei@huawei.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

10f1ca2712-Jan-2022 Yifei Jiang <jiangyifei@huawei.com>

target/riscv: Add host cpu type

'host' type cpu is set isa to RV32 or RV64 simply, more isa info
will obtain from KVM in kvm_arch_init_vcpu()

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Sign

target/riscv: Add host cpu type

'host' type cpu is set isa to RV32 or RV64 simply, more isa info
will obtain from KVM in kvm_arch_init_vcpu()

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Mingwang Li <limingwang@huawei.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
Message-id: 20220112081329.1835-10-jiangyifei@huawei.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

4eb4712512-Jan-2022 Yifei Jiang <jiangyifei@huawei.com>

target/riscv: Handle KVM_EXIT_RISCV_SBI exit

Use char-fe to handle console sbi call, which implement early
console io while apply 'earlycon=sbi' into kernel parameters.

Signed-off-by: Yifei Jiang <

target/riscv: Handle KVM_EXIT_RISCV_SBI exit

Use char-fe to handle console sbi call, which implement early
console io while apply 'earlycon=sbi' into kernel parameters.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Mingwang Li <limingwang@huawei.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20220112081329.1835-9-jiangyifei@huawei.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

2b650fbb12-Jan-2022 Yifei Jiang <jiangyifei@huawei.com>

target/riscv: Support setting external interrupt by KVM

When KVM is enabled, set the S-mode external interrupt through
kvm_riscv_set_irq function.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>

target/riscv: Support setting external interrupt by KVM

When KVM is enabled, set the S-mode external interrupt through
kvm_riscv_set_irq function.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Mingwang Li <limingwang@huawei.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
Message-id: 20220112081329.1835-8-jiangyifei@huawei.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

ad40be2712-Jan-2022 Yifei Jiang <jiangyifei@huawei.com>

target/riscv: Support start kernel directly by KVM

Get kernel and fdt start address in virt.c, and pass them to KVM
when cpu reset. Add kvm_riscv.h to place riscv specific interface.

In addition, P

target/riscv: Support start kernel directly by KVM

Get kernel and fdt start address in virt.c, and pass them to KVM
when cpu reset. Add kvm_riscv.h to place riscv specific interface.

In addition, PLIC is created without M-mode PLIC contexts when KVM
is enabled.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Mingwang Li <limingwang@huawei.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Message-id: 20220112081329.1835-7-jiangyifei@huawei.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

9997cc1e12-Jan-2022 Yifei Jiang <jiangyifei@huawei.com>

target/riscv: Implement kvm_arch_put_registers

Put GPR CSR and FP registers to kvm by KVM_SET_ONE_REG ioctl

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Mingwang Li <limingwang

target/riscv: Implement kvm_arch_put_registers

Put GPR CSR and FP registers to kvm by KVM_SET_ONE_REG ioctl

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Mingwang Li <limingwang@huawei.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
Message-id: 20220112081329.1835-6-jiangyifei@huawei.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

937f0b4512-Jan-2022 Yifei Jiang <jiangyifei@huawei.com>

target/riscv: Implement kvm_arch_get_registers

Get GPR CSR and FP registers from kvm by KVM_GET_ONE_REG ioctl.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Mingwang Li <limingw

target/riscv: Implement kvm_arch_get_registers

Get GPR CSR and FP registers from kvm by KVM_GET_ONE_REG ioctl.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Mingwang Li <limingwang@huawei.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
Message-id: 20220112081329.1835-5-jiangyifei@huawei.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

0a312b8512-Jan-2022 Yifei Jiang <jiangyifei@huawei.com>

target/riscv: Implement function kvm_arch_init_vcpu

Get isa info from kvm while kvm init.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Mingwang Li <limingwang@huawei.com>
Revie

target/riscv: Implement function kvm_arch_init_vcpu

Get isa info from kvm while kvm init.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Mingwang Li <limingwang@huawei.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
Message-id: 20220112081329.1835-4-jiangyifei@huawei.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

91654e6112-Jan-2022 Yifei Jiang <jiangyifei@huawei.com>

target/riscv: Add target/riscv/kvm.c to place the public kvm interface

Add target/riscv/kvm.c to place kvm_arch_* function needed by
kvm/kvm-all.c.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com

target/riscv: Add target/riscv/kvm.c to place the public kvm interface

Add target/riscv/kvm.c to place kvm_arch_* function needed by
kvm/kvm-all.c.

Signed-off-by: Yifei Jiang <jiangyifei@huawei.com>
Signed-off-by: Mingwang Li <limingwang@huawei.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
Message-id: 20220112081329.1835-3-jiangyifei@huawei.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...


/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/cirrus.yml
/openbmc/qemu/.gitlab-ci.d/cirrus/freebsd-12.vars
/openbmc/qemu/.gitlab-ci.d/cirrus/freebsd-13.vars
/openbmc/qemu/.gitlab-ci.d/cirrus/macos-11.vars
/openbmc/qemu/.gitlab-ci.d/containers.yml
/openbmc/qemu/.gitmodules
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/audio/dsoundaudio.c
/openbmc/qemu/audio/jackaudio.c
/openbmc/qemu/block.c
/openbmc/qemu/block/block-backend.c
/openbmc/qemu/block/commit.c
/openbmc/qemu/block/curl.c
/openbmc/qemu/block/export/fuse.c
/openbmc/qemu/block/file-posix.c
/openbmc/qemu/block/io_uring.c
/openbmc/qemu/block/iscsi.c
/openbmc/qemu/block/linux-aio.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/monitor/block-hmp-cmds.c
/openbmc/qemu/block/nfs.c
/openbmc/qemu/block/nvme.c
/openbmc/qemu/block/ssh.c
/openbmc/qemu/block/vvfat.c
/openbmc/qemu/block/win32-aio.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/bsd-user/arm/signal.c
/openbmc/qemu/bsd-user/arm/target_arch.h
/openbmc/qemu/bsd-user/arm/target_arch_cpu.c
/openbmc/qemu/bsd-user/arm/target_arch_cpu.h
/openbmc/qemu/bsd-user/arm/target_arch_elf.h
/openbmc/qemu/bsd-user/arm/target_arch_reg.h
/openbmc/qemu/bsd-user/arm/target_arch_signal.h
/openbmc/qemu/bsd-user/arm/target_arch_sigtramp.h
/openbmc/qemu/bsd-user/arm/target_arch_sysarch.h
/openbmc/qemu/bsd-user/arm/target_arch_thread.h
/openbmc/qemu/bsd-user/arm/target_arch_vmparam.h
/openbmc/qemu/bsd-user/arm/target_syscall.h
/openbmc/qemu/bsd-user/freebsd/target_os_signal.h
/openbmc/qemu/bsd-user/freebsd/target_os_ucontext.h
/openbmc/qemu/bsd-user/i386/signal.c
/openbmc/qemu/bsd-user/i386/target_arch_signal.h
/openbmc/qemu/bsd-user/include/special-errno.h
/openbmc/qemu/bsd-user/meson.build
/openbmc/qemu/bsd-user/x86_64/signal.c
/openbmc/qemu/bsd-user/x86_64/target_arch_signal.h
/openbmc/qemu/common-user/meson.build
/openbmc/qemu/configs/devices/mips-softmmu/common.mak
/openbmc/qemu/configs/targets/arm-bsd-user.mak
/openbmc/qemu/configure
/openbmc/qemu/contrib/elf2dmp/meson.build
/openbmc/qemu/contrib/ivshmem-client/meson.build
/openbmc/qemu/contrib/ivshmem-server/meson.build
/openbmc/qemu/contrib/rdmacm-mux/meson.build
/openbmc/qemu/docs/devel/memory.rst
/openbmc/qemu/docs/devel/style.rst
/openbmc/qemu/docs/devel/testing.rst
/openbmc/qemu/docs/specs/ppc-spapr-hcalls.rst
/openbmc/qemu/docs/specs/ppc-spapr-hotplug.rst
/openbmc/qemu/docs/specs/ppc-spapr-uv-hcalls.rst
/openbmc/qemu/docs/system/arm/cpu-features.rst
/openbmc/qemu/docs/system/arm/virt.rst
/openbmc/qemu/docs/system/device-emulation.rst
/openbmc/qemu/docs/system/devices/can.rst
/openbmc/qemu/docs/system/ppc/pseries.rst
/openbmc/qemu/docs/tools/qemu-storage-daemon.rst
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hw/acpi/aml-build.c
/openbmc/qemu/hw/arm/Kconfig
/openbmc/qemu/hw/arm/aspeed_ast2600.c
/openbmc/qemu/hw/arm/musicpal.c
/openbmc/qemu/hw/arm/npcm7xx_boards.c
/openbmc/qemu/hw/arm/virt-acpi-build.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/audio/Kconfig
/openbmc/qemu/hw/audio/intel-hda.c
/openbmc/qemu/hw/block/block.c
/openbmc/qemu/hw/block/dataplane/virtio-blk.c
/openbmc/qemu/hw/block/virtio-blk.c
/openbmc/qemu/hw/core/loader.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/display/Kconfig
/openbmc/qemu/hw/display/edid-generate.c
/openbmc/qemu/hw/display/macfb.c
/openbmc/qemu/hw/display/meson.build
/openbmc/qemu/hw/display/qxl.c
/openbmc/qemu/hw/display/vga-mmio.c
/openbmc/qemu/hw/display/vhost-user-gpu.c
/openbmc/qemu/hw/ide/ahci.c
/openbmc/qemu/hw/input/ps2.c
/openbmc/qemu/hw/intc/arm_gic.c
/openbmc/qemu/hw/intc/arm_gicv3_its.c
/openbmc/qemu/hw/intc/arm_gicv3_redist.c
/openbmc/qemu/hw/m68k/q800.c
/openbmc/qemu/hw/m68k/virt.c
/openbmc/qemu/hw/mips/Kconfig
/openbmc/qemu/hw/mips/jazz.c
/openbmc/qemu/hw/misc/aspeed_i3c.c
/openbmc/qemu/hw/misc/meson.build
/openbmc/qemu/hw/misc/trace-events
/openbmc/qemu/hw/net/meson.build
/openbmc/qemu/hw/net/mv88w8618_eth.c
/openbmc/qemu/hw/net/vhost_net-stub.c
/openbmc/qemu/hw/net/vhost_net.c
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/nvram/meson.build
/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/ppc/pnv.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/rdma/rdma_utils.c
/openbmc/qemu/hw/rdma/rdma_utils.h
/openbmc/qemu/hw/rdma/trace-events
/openbmc/qemu/hw/riscv/opentitan.c
/openbmc/qemu/hw/s390x/ipl.c
/openbmc/qemu/hw/scsi/megasas.c
/openbmc/qemu/hw/scsi/scsi-bus.c
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/scsi/virtio-scsi-dataplane.c
/openbmc/qemu/hw/scsi/virtio-scsi.c
/openbmc/qemu/hw/sd/sd.c
/openbmc/qemu/hw/timer/etraxfs_timer.c
/openbmc/qemu/hw/timer/ibex_timer.c
/openbmc/qemu/hw/usb/desc.c
/openbmc/qemu/hw/usb/desc.h
/openbmc/qemu/hw/usb/dev-uas.c
/openbmc/qemu/hw/usb/dev-wacom.c
/openbmc/qemu/hw/virtio/trace-events
/openbmc/qemu/hw/virtio/vhost-user-fs.c
/openbmc/qemu/hw/virtio/vhost-vdpa.c
/openbmc/qemu/hw/virtio/vhost-vsock-common.c
/openbmc/qemu/hw/virtio/vhost.c
/openbmc/qemu/hw/virtio/virtio-crypto.c
/openbmc/qemu/hw/virtio/virtio-mem.c
/openbmc/qemu/hw/virtio/virtio-mmio.c
/openbmc/qemu/hw/virtio/virtio-pci.c
/openbmc/qemu/hw/virtio/virtio-pci.h
/openbmc/qemu/hw/virtio/virtio.c
/openbmc/qemu/hw/xen/xen-bus.c
/openbmc/qemu/include/block/aio.h
/openbmc/qemu/include/block/block.h
/openbmc/qemu/include/block/block_int.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/glib-compat.h
/openbmc/qemu/include/hw/arm/aspeed_soc.h
/openbmc/qemu/include/hw/arm/virt.h
/openbmc/qemu/include/hw/display/vga.h
/openbmc/qemu/include/hw/elf_ops.h
/openbmc/qemu/include/hw/misc/aspeed_i3c.h
/openbmc/qemu/include/hw/net/mv88w8618_eth.h
/openbmc/qemu/include/hw/pci-host/pnv_phb3.h
/openbmc/qemu/include/hw/pci-host/pnv_phb4.h
/openbmc/qemu/include/hw/pci/pci.h
/openbmc/qemu/include/hw/ppc/pnv.h
/openbmc/qemu/include/hw/qdev-core.h
/openbmc/qemu/include/hw/s390x/ioinst.h
/openbmc/qemu/include/hw/scsi/scsi.h
/openbmc/qemu/include/hw/timer/ibex_timer.h
/openbmc/qemu/include/hw/virtio/vhost-backend.h
/openbmc/qemu/include/hw/virtio/vhost.h
/openbmc/qemu/include/hw/virtio/virtio-blk.h
/openbmc/qemu/include/hw/virtio/virtio-gpu.h
/openbmc/qemu/include/hw/virtio/virtio.h
/openbmc/qemu/include/net/vhost_net.h
/openbmc/qemu/include/sysemu/blockdev.h
/openbmc/qemu/include/sysemu/dma.h
/openbmc/qemu/include/ui/qemu-spice.h
/openbmc/qemu/include/ui/sdl2.h
/openbmc/qemu/io/channel-command.c
/openbmc/qemu/io/channel-file.c
/openbmc/qemu/io/channel-socket.c
/openbmc/qemu/linux-headers/asm-riscv/kvm.h
/openbmc/qemu/linux-user/aarch64/target_structs.h
/openbmc/qemu/linux-user/alpha/cpu_loop.c
/openbmc/qemu/linux-user/arm/cpu_loop.c
/openbmc/qemu/linux-user/arm/target_structs.h
/openbmc/qemu/linux-user/cris/cpu_loop.c
/openbmc/qemu/linux-user/cris/target_structs.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/generic/target_structs.h
/openbmc/qemu/linux-user/hexagon/target_structs.h
/openbmc/qemu/linux-user/hppa/cpu_loop.c
/openbmc/qemu/linux-user/i386/cpu_loop.c
/openbmc/qemu/linux-user/i386/target_structs.h
/openbmc/qemu/linux-user/include/host/aarch64/host-signal.h
/openbmc/qemu/linux-user/include/host/alpha/host-signal.h
/openbmc/qemu/linux-user/include/host/arm/host-signal.h
/openbmc/qemu/linux-user/include/host/i386/host-signal.h
/openbmc/qemu/linux-user/include/host/loongarch64/host-signal.h
/openbmc/qemu/linux-user/include/host/mips/host-signal.h
/openbmc/qemu/linux-user/include/host/ppc/host-signal.h
/openbmc/qemu/linux-user/include/host/ppc64/host-signal.h
/openbmc/qemu/linux-user/include/host/riscv/host-signal.h
/openbmc/qemu/linux-user/include/host/s390/host-signal.h
/openbmc/qemu/linux-user/include/host/s390x/host-signal.h
/openbmc/qemu/linux-user/include/host/sparc/host-signal.h
/openbmc/qemu/linux-user/include/host/sparc64/host-signal.h
/openbmc/qemu/linux-user/include/host/x32/host-signal.h
/openbmc/qemu/linux-user/include/host/x86_64/host-signal.h
/openbmc/qemu/linux-user/include/special-errno.h
/openbmc/qemu/linux-user/m68k/cpu_loop.c
/openbmc/qemu/linux-user/m68k/target_structs.h
/openbmc/qemu/linux-user/meson.build
/openbmc/qemu/linux-user/microblaze/cpu_loop.c
/openbmc/qemu/linux-user/microblaze/target_structs.h
/openbmc/qemu/linux-user/mips/cpu_loop.c
/openbmc/qemu/linux-user/nios2/target_structs.h
/openbmc/qemu/linux-user/openrisc/cpu_loop.c
/openbmc/qemu/linux-user/openrisc/target_structs.h
/openbmc/qemu/linux-user/ppc/cpu_loop.c
/openbmc/qemu/linux-user/qemu.h
/openbmc/qemu/linux-user/riscv/cpu_loop.c
/openbmc/qemu/linux-user/riscv/target_structs.h
/openbmc/qemu/linux-user/s390x/cpu_loop.c
/openbmc/qemu/linux-user/sh4/cpu_loop.c
/openbmc/qemu/linux-user/sh4/target_structs.h
/openbmc/qemu/linux-user/signal-common.h
/openbmc/qemu/linux-user/signal.c
/openbmc/qemu/linux-user/sparc/cpu_loop.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/linux-user/syscall_defs.h
/openbmc/qemu/linux-user/trace-events
/openbmc/qemu/linux-user/x86_64/target_structs.h
/openbmc/qemu/linux-user/xtensa/cpu_loop.c
/openbmc/qemu/meson.build
/openbmc/qemu/migration/rdma.c
/openbmc/qemu/monitor/qmp-cmds.c
/openbmc/qemu/pc-bios/README
/openbmc/qemu/pc-bios/bios-256k.bin
/openbmc/qemu/pc-bios/bios-microvm.bin
/openbmc/qemu/pc-bios/bios.bin
/openbmc/qemu/pc-bios/openbios-ppc
/openbmc/qemu/pc-bios/openbios-sparc32
/openbmc/qemu/pc-bios/openbios-sparc64
/openbmc/qemu/pc-bios/s390-ccw/Makefile
/openbmc/qemu/pc-bios/slof.bin
/openbmc/qemu/pc-bios/vgabios-ati.bin
/openbmc/qemu/pc-bios/vgabios-bochs-display.bin
/openbmc/qemu/pc-bios/vgabios-cirrus.bin
/openbmc/qemu/pc-bios/vgabios-qxl.bin
/openbmc/qemu/pc-bios/vgabios-ramfb.bin
/openbmc/qemu/pc-bios/vgabios-stdvga.bin
/openbmc/qemu/pc-bios/vgabios-virtio.bin
/openbmc/qemu/pc-bios/vgabios-vmware.bin
/openbmc/qemu/pc-bios/vgabios.bin
/openbmc/qemu/plugins/meson.build
/openbmc/qemu/python/qemu/aqmp/aqmp_tui.py
/openbmc/qemu/python/qemu/aqmp/protocol.py
/openbmc/qemu/python/qemu/qmp/qom_common.py
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/block-export.json
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/qdev.json
/openbmc/qemu/qapi/ui.json
/openbmc/qemu/qemu-edid.c
/openbmc/qemu/qemu-img.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qga/commands-win32.c
/openbmc/qemu/roms/SLOF
/openbmc/qemu/roms/openbios
/openbmc/qemu/roms/seabios
/openbmc/qemu/scripts/ci/org.centos/stream/8/x86_64/configure
/openbmc/qemu/scripts/coverity-scan/run-coverity-scan
/openbmc/qemu/scripts/make-config-poison.sh
/openbmc/qemu/scripts/meson-buildoptions.py
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/scripts/render_block_graph.py
/openbmc/qemu/scripts/simplebench/bench-example.py
/openbmc/qemu/softmmu/device_tree.c
/openbmc/qemu/softmmu/dma-helpers.c
/openbmc/qemu/softmmu/memory.c
/openbmc/qemu/softmmu/physmem.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/storage-daemon/qemu-storage-daemon.c
/openbmc/qemu/stubs/meson.build
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/kvm64.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/machine.c
/openbmc/qemu/target/m68k/op_helper.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/translate.c
/openbmc/qemu/target/mips/tcg/translate.h
/openbmc/qemu/target/ppc/arch_dump.c
/openbmc/qemu/target/ppc/cpu-models.c
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/cpu_init.c
/openbmc/qemu/target/ppc/excp_helper.c
/openbmc/qemu/target/ppc/helper.h
/openbmc/qemu/target/ppc/machine.c
/openbmc/qemu/target/ppc/misc_helper.c
/openbmc/qemu/target/ppc/translate.c
kvm.c
meson.build
/openbmc/qemu/target/s390x/cpu-dump.c
/openbmc/qemu/target/s390x/s390x-internal.h
/openbmc/qemu/target/s390x/sigp.c
/openbmc/qemu/target/s390x/tcg/cc_helper.c
/openbmc/qemu/target/s390x/tcg/insn-data.def
/openbmc/qemu/target/s390x/tcg/translate.c
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/avocado/ppc_74xx.py
/openbmc/qemu/tests/data/acpi/virt/PPTT
/openbmc/qemu/tests/docker/dockerfiles/alpine.docker
/openbmc/qemu/tests/docker/dockerfiles/centos8.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-tricore-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora.docker
/openbmc/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu1804.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu2004.docker
/openbmc/qemu/tests/lcitool/Makefile.include
/openbmc/qemu/tests/lcitool/libvirt-ci
/openbmc/qemu/tests/lcitool/projects/qemu.yml
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/qemu-iotests/122
/openbmc/qemu/tests/qemu-iotests/122.out
/openbmc/qemu/tests/qemu-iotests/273.out
/openbmc/qemu/tests/qemu-iotests/308
/openbmc/qemu/tests/qemu-iotests/308.out
/openbmc/qemu/tests/qemu-iotests/testrunner.py
/openbmc/qemu/tests/qemu-iotests/tests/stream-error-on-reset
/openbmc/qemu/tests/qemu-iotests/tests/stream-error-on-reset.out
/openbmc/qemu/tests/qtest/device-plug-test.c
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/tcg/Makefile.target
/openbmc/qemu/tests/tcg/configure.sh
/openbmc/qemu/tests/tcg/hexagon/float_convs.ref
/openbmc/qemu/tests/tcg/hexagon/float_madds.ref
/openbmc/qemu/tests/tcg/multiarch/Makefile.target
/openbmc/qemu/tests/tcg/multiarch/float_convs.c
/openbmc/qemu/tests/tcg/multiarch/float_madds.c
/openbmc/qemu/tests/tcg/ppc64le/float_convs.ref
/openbmc/qemu/tests/tcg/ppc64le/float_madds.ref
/openbmc/qemu/tests/tcg/s390x/Makefile.target
/openbmc/qemu/tests/tcg/s390x/shift.c
/openbmc/qemu/tests/tcg/x86_64/Makefile.target
/openbmc/qemu/tests/unit/meson.build
/openbmc/qemu/tests/unit/test-aio.c
/openbmc/qemu/tests/unit/test-fdmon-epoll.c
/openbmc/qemu/tests/vm/freebsd
/openbmc/qemu/ui/clipboard.c
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/ui/dbus.c
/openbmc/qemu/ui/gtk-clipboard.c
/openbmc/qemu/ui/gtk.c
/openbmc/qemu/ui/input-legacy.c
/openbmc/qemu/ui/sdl2.c
/openbmc/qemu/ui/spice-display.c
/openbmc/qemu/ui/vnc.c
/openbmc/qemu/util/aio-posix.c
/openbmc/qemu/util/aio-posix.h
/openbmc/qemu/util/aio-win32.c
/openbmc/qemu/util/async.c
/openbmc/qemu/util/main-loop.c
/openbmc/qemu/util/meson.build
/openbmc/qemu/util/qemu-coroutine-io.c
/openbmc/qemu/util/vhost-user-server.c
48eaeb5620-Dec-2021 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Implement the stval/mtval illegal instruction

The stval and mtval registers can optionally contain the faulting
instruction on an illegal instruction exception. This patch adds support

target/riscv: Implement the stval/mtval illegal instruction

The stval and mtval registers can optionally contain the faulting
instruction on an illegal instruction exception. This patch adds support
for setting the stval and mtval registers.

The RISC-V spec states that "The stval register can optionally also be
used to return the faulting instruction bits on an illegal instruction
exception...". In this case we are always writing the value on an
illegal instruction.

This doesn't match all CPUs (some CPUs won't write the data), but in
QEMU let's just populate the value on illegal instructions. This won't
break any guest software, but will provide more information to guests.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-id: 20211220064916.107241-4-alistair.francis@opensource.wdc.com

show more ...

86d0c45720-Dec-2021 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Fixup setting GVA

In preparation for adding support for the illegal instruction address
let's fixup the Hypervisor extension setting GVA logic and improve the
variable names.

Signed-o

target/riscv: Fixup setting GVA

In preparation for adding support for the illegal instruction address
let's fixup the Hypervisor extension setting GVA logic and improve the
variable names.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-id: 20211220064916.107241-3-alistair.francis@opensource.wdc.com

show more ...

ea7b5d5a20-Dec-2021 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Set the opcode in DisasContext

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Bin Meng <bmeng.cn@

target/riscv: Set the opcode in DisasContext

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-id: 20211220064916.107241-2-alistair.francis@opensource.wdc.com

show more ...

457c360f06-Jan-2022 Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>

target/riscv: actual functions to realize crs 128-bit insns

The csrs are accessed through function pointers: we add 128-bit read
operations in the table for three csrs (writes fallback to the
64-bit

target/riscv: actual functions to realize crs 128-bit insns

The csrs are accessed through function pointers: we add 128-bit read
operations in the table for three csrs (writes fallback to the
64-bit version as the upper 64-bit information is handled elsewhere):
- misa, as mxl is needed for proper operation,
- mstatus and sstatus, to return sd
In addition, we also add read and write accesses to the machine and
supervisor scratch registers.

Signed-off-by: Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>
Co-authored-by: Fabien Portas <fabien.portas@grenoble-inp.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20220106210108.138226-19-frederic.petrot@univ-grenoble-alpes.fr
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

7934fdee06-Jan-2022 Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>

target/riscv: modification of the trans_csrxx for 128-bit support

As opposed to the gen_arith and gen_shift generation helpers, the csr insns
do not have a common prototype, so the choice to generat

target/riscv: modification of the trans_csrxx for 128-bit support

As opposed to the gen_arith and gen_shift generation helpers, the csr insns
do not have a common prototype, so the choice to generate 32/64 or 128-bit
helper calls is done in the trans_csrxx functions.

Signed-off-by: Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>
Co-authored-by: Fabien Portas <fabien.portas@grenoble-inp.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20220106210108.138226-18-frederic.petrot@univ-grenoble-alpes.fr
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

961738ff06-Jan-2022 Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>

target/riscv: helper functions to wrap calls to 128-bit csr insns

Given the side effects they have, the csr instructions are realized as
helpers. We extend this existing infrastructure for 128-bit s

target/riscv: helper functions to wrap calls to 128-bit csr insns

Given the side effects they have, the csr instructions are realized as
helpers. We extend this existing infrastructure for 128-bit sized csr.
We return 128-bit values using the same approach as for div/rem.
Theses helpers all call a unique function that is currently a fallback
on the 64-bit version.
The trans_csrxx functions supporting 128-bit are yet to be implemented.

Signed-off-by: Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>
Co-authored-by: Fabien Portas <fabien.portas@grenoble-inp.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20220106210108.138226-17-frederic.petrot@univ-grenoble-alpes.fr
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

2c64ab6606-Jan-2022 Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>

target/riscv: adding high part of some csrs

Adding the high part of a very minimal set of csr.

Signed-off-by: Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>
Co-authored-by: Fabien Portas

target/riscv: adding high part of some csrs

Adding the high part of a very minimal set of csr.

Signed-off-by: Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>
Co-authored-by: Fabien Portas <fabien.portas@grenoble-inp.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20220106210108.138226-16-frederic.petrot@univ-grenoble-alpes.fr
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

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

target/riscv: support for 128-bit M extension

Mult are generated inline (using a cool trick pointed out by Richard), but
for div and rem, given the complexity of the implementation of these
instruct

target/riscv: support for 128-bit M extension

Mult are generated inline (using a cool trick pointed out by Richard), but
for div and rem, given the complexity of the implementation of these
instructions, we call helpers to produce their behavior. From an
implementation standpoint, the helpers return the low part of the results,
while the high part is temporarily stored in a dedicated field of cpu_env
that is used to update the architectural register in the generation wrapper.

Signed-off-by: Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>
Co-authored-by: Fabien Portas <fabien.portas@grenoble-inp.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20220106210108.138226-15-frederic.petrot@univ-grenoble-alpes.fr
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

7fd40f8606-Jan-2022 Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>

target/riscv: support for 128-bit arithmetic instructions

Addition of 128-bit adds and subs in their various sizes,
"set if less than"s and branches.
Refactored the code to have a comparison functio

target/riscv: support for 128-bit arithmetic instructions

Addition of 128-bit adds and subs in their various sizes,
"set if less than"s and branches.
Refactored the code to have a comparison function used for both stls and
branches.

Signed-off-by: Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>
Co-authored-by: Fabien Portas <fabien.portas@grenoble-inp.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20220106210108.138226-14-frederic.petrot@univ-grenoble-alpes.fr
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

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