History log of /openbmc/qemu/target/riscv/ (Results 1201 – 1225 of 1666)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
8b80bd2817-May-2021 Philippe Mathieu-Daudé <f4bug@amsat.org>

cpu: Introduce SysemuCPUOps structure

Introduce a structure to hold handler specific to sysemu.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.hende

cpu: Introduce SysemuCPUOps structure

Introduce a structure to hold handler specific to sysemu.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210517105140.1062037-15-f4bug@amsat.org>
[rth: Squash "restrict hw/core/sysemu-cpu-ops.h" patch]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

744c72a817-May-2021 Philippe Mathieu-Daudé <f4bug@amsat.org>

cpu: Rename CPUClass vmsd -> legacy_vmsd

Quoting Peter Maydell [*]:

There are two ways to handle migration for
a CPU object:

(1) like any other device, so it has a dc->vmsd that covers
mig

cpu: Rename CPUClass vmsd -> legacy_vmsd

Quoting Peter Maydell [*]:

There are two ways to handle migration for
a CPU object:

(1) like any other device, so it has a dc->vmsd that covers
migration for the whole object. As usual for objects that are a
subclass of a parent that has state, the first entry in the
VMStateDescription field list is VMSTATE_CPU(), which migrates
the cpu_common fields, followed by whatever the CPU's own migration
fields are.

(2) a backwards-compatible mechanism for CPUs that were
originally migrated using manual "write fields to the migration
stream structures". The on-the-wire migration format
for those is based on the 'env' pointer (which isn't a QOM object),
and the cpu_common part of the migration data is elsewhere.

cpu_exec_realizefn() handles both possibilities:

* for type 1, dc->vmsd is set and cc->vmsd is not,
so cpu_exec_realizefn() does nothing, and the standard
"register dc->vmsd for a device" code does everything needed

* for type 2, dc->vmsd is NULL and so we register the
vmstate_cpu_common directly to handle the cpu-common fields,
and the cc->vmsd to handle the per-CPU stuff

You can't change a CPU from one type to the other without breaking
migration compatibility, which is why some guest architectures
are stuck on the cc->vmsd form. New targets should use dc->vmsd.

To avoid new targets to start using type (2), rename cc->vmsd as
cc->legacy_vmsd. The correct field to implement is dc->vmsd (the
DeviceClass one).

See also commit b170fce3dd0 ("cpu: Register VMStateDescription
through CPUState") for historic background.

[*] https://www.mail-archive.com/qemu-devel@nongnu.org/msg800849.html

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Cc: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20210517105140.1062037-13-f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...


/openbmc/qemu/.cirrus.yml
/openbmc/qemu/.gitlab-ci.d/containers.yml
/openbmc/qemu/.gitlab-ci.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/accel/accel-common.c
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/cputlb.c
/openbmc/qemu/accel/tcg/tb-context.h
/openbmc/qemu/accel/tcg/tb-hash.h
/openbmc/qemu/accel/tcg/tb-lookup.h
/openbmc/qemu/accel/tcg/tcg-runtime-gvec.c
/openbmc/qemu/accel/tcg/tcg-runtime.c
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/backends/tpm/tpm_emulator.c
/openbmc/qemu/block.c
/openbmc/qemu/block/backup.c
/openbmc/qemu/block/block-copy.c
/openbmc/qemu/block/copy-on-read.c
/openbmc/qemu/block/export/vhost-user-blk-server.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/meson.build
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/monitor/block-hmp-cmds.c
/openbmc/qemu/block/nbd.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/rbd.c
/openbmc/qemu/block/trace-events
/openbmc/qemu/block/write-threshold.c
/openbmc/qemu/bsd-user/bsdload.c
/openbmc/qemu/bsd-user/elfload.c
/openbmc/qemu/bsd-user/main.c
/openbmc/qemu/bsd-user/mmap.c
/openbmc/qemu/bsd-user/qemu.h
/openbmc/qemu/bsd-user/signal.c
/openbmc/qemu/bsd-user/strace.c
/openbmc/qemu/bsd-user/syscall.c
/openbmc/qemu/bsd-user/uaccess.c
/openbmc/qemu/chardev/char.c
/openbmc/qemu/configure
/openbmc/qemu/contrib/vhost-user-input/main.c
/openbmc/qemu/cpu.c
/openbmc/qemu/default-configs/targets/sparc64-linux-user.mak
/openbmc/qemu/default-configs/targets/xtensa-linux-user.mak
/openbmc/qemu/default-configs/targets/xtensa-softmmu.mak
/openbmc/qemu/default-configs/targets/xtensaeb-linux-user.mak
/openbmc/qemu/default-configs/targets/xtensaeb-softmmu.mak
/openbmc/qemu/disas/libvixl/vixl/code-buffer.h
/openbmc/qemu/disas/libvixl/vixl/globals.h
/openbmc/qemu/disas/libvixl/vixl/invalset.h
/openbmc/qemu/disas/libvixl/vixl/platform.h
/openbmc/qemu/disas/libvixl/vixl/utils.cc
/openbmc/qemu/disas/libvixl/vixl/utils.h
/openbmc/qemu/disas/meson.build
/openbmc/qemu/docs/conf.py
/openbmc/qemu/docs/devel/index.rst
/openbmc/qemu/docs/devel/qgraph.rst
/openbmc/qemu/docs/devel/ui.rst
/openbmc/qemu/docs/meson.build
/openbmc/qemu/docs/sphinx-static/theme_overrides.css
/openbmc/qemu/docs/system/deprecated.rst
/openbmc/qemu/docs/system/device-url-syntax.rst.inc
/openbmc/qemu/docs/system/qemu-block-drivers.rst.inc
/openbmc/qemu/docs/system/removed-features.rst
/openbmc/qemu/docs/tools/qemu-img.rst
/openbmc/qemu/fpu/softfloat-parts-addsub.c.inc
/openbmc/qemu/fpu/softfloat-parts.c.inc
/openbmc/qemu/fpu/softfloat-specialize.c.inc
/openbmc/qemu/fpu/softfloat.c
/openbmc/qemu/gdbstub.c
/openbmc/qemu/hmp-commands.hx
/openbmc/qemu/hw/Kconfig
/openbmc/qemu/hw/acpi/aml-build.c
/openbmc/qemu/hw/arm/armsse.c
/openbmc/qemu/hw/arm/mps2-tz.c
/openbmc/qemu/hw/arm/smmuv3.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/audio/meson.build
/openbmc/qemu/hw/audio/trace-events
/openbmc/qemu/hw/avr/atmega.c
/openbmc/qemu/hw/block/Kconfig
/openbmc/qemu/hw/block/dataplane/virtio-blk.c
/openbmc/qemu/hw/block/meson.build
/openbmc/qemu/hw/block/pflash_cfi02.c
/openbmc/qemu/hw/block/trace-events
/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/meson.build
/openbmc/qemu/hw/char/trace-events
/openbmc/qemu/hw/core/cpu-common.c
/openbmc/qemu/hw/core/cpu-sysemu.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/core/meson.build
/openbmc/qemu/hw/core/numa.c
/openbmc/qemu/hw/display/Kconfig
/openbmc/qemu/hw/display/edid-generate.c
/openbmc/qemu/hw/display/meson.build
/openbmc/qemu/hw/display/trace-events
/openbmc/qemu/hw/display/vga-pci.c
/openbmc/qemu/hw/display/vga.c
/openbmc/qemu/hw/display/virtio-gpu-base.c
/openbmc/qemu/hw/display/virtio-gpu-gl.c
/openbmc/qemu/hw/display/virtio-gpu-pci-gl.c
/openbmc/qemu/hw/display/virtio-gpu-virgl.c
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/display/virtio-vga-gl.c
/openbmc/qemu/hw/dma/meson.build
/openbmc/qemu/hw/gpio/aspeed_gpio.c
/openbmc/qemu/hw/gpio/meson.build
/openbmc/qemu/hw/i2c/Kconfig
/openbmc/qemu/hw/i2c/core.c
/openbmc/qemu/hw/i2c/i2c_mux_pca954x.c
/openbmc/qemu/hw/i2c/meson.build
/openbmc/qemu/hw/i2c/trace-events
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/amd_iommu.c
/openbmc/qemu/hw/i386/fw_cfg.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/xen/xen-hvm.c
/openbmc/qemu/hw/i386/xen/xen-mapcache.c
/openbmc/qemu/hw/input/meson.build
/openbmc/qemu/hw/input/trace-events
/openbmc/qemu/hw/input/virtio-input-host.c
/openbmc/qemu/hw/intc/arm_gicv3_cpuif.c
/openbmc/qemu/hw/intc/meson.build
/openbmc/qemu/hw/intc/trace-events
/openbmc/qemu/hw/mem/meson.build
/openbmc/qemu/hw/mem/pc-dimm.c
/openbmc/qemu/hw/meson.build
/openbmc/qemu/hw/misc/meson.build
/openbmc/qemu/hw/misc/trace-events
/openbmc/qemu/hw/net/meson.build
/openbmc/qemu/hw/net/trace-events
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/nvme/Kconfig
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/nvme/dif.c
/openbmc/qemu/hw/nvme/meson.build
/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/nvme/trace.h
/openbmc/qemu/hw/pci-host/meson.build
/openbmc/qemu/hw/ppc/meson.build
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_caps.c
/openbmc/qemu/hw/ppc/spapr_hcall.c
/openbmc/qemu/hw/ppc/spapr_softmmu.c
/openbmc/qemu/hw/remote/memory.c
/openbmc/qemu/hw/remote/mpqemu-link.c
/openbmc/qemu/hw/remote/proxy.c
/openbmc/qemu/hw/rtc/mc146818rtc.c
/openbmc/qemu/hw/s390x/3270-ccw.c
/openbmc/qemu/hw/s390x/ccw-device.c
/openbmc/qemu/hw/s390x/ccw-device.h
/openbmc/qemu/hw/s390x/s390-ccw.c
/openbmc/qemu/hw/s390x/virtio-ccw.c
/openbmc/qemu/hw/scsi/virtio-scsi-dataplane.c
/openbmc/qemu/hw/sd/meson.build
/openbmc/qemu/hw/sd/trace-events
/openbmc/qemu/hw/smbios/smbios.c
/openbmc/qemu/hw/timer/etraxfs_timer.c
/openbmc/qemu/hw/timer/meson.build
/openbmc/qemu/hw/timer/trace-events
/openbmc/qemu/hw/tricore/meson.build
/openbmc/qemu/hw/tricore/tricore_testboard.c
/openbmc/qemu/hw/tricore/tricore_testdevice.c
/openbmc/qemu/hw/usb/quirks-ftdi-ids.h
/openbmc/qemu/hw/usb/quirks.h
/openbmc/qemu/hw/vfio/ccw.c
/openbmc/qemu/hw/virtio/vhost-user.c
/openbmc/qemu/hw/virtio/vhost-vdpa.c
/openbmc/qemu/hw/virtio/virtio-balloon.c
/openbmc/qemu/hw/virtio/virtio-bus.c
/openbmc/qemu/hw/virtio/virtio-mem.c
/openbmc/qemu/hw/virtio/virtio-mmio.c
/openbmc/qemu/hw/virtio/virtio.c
/openbmc/qemu/include/block/block_int.h
/openbmc/qemu/include/block/nvme.h
/openbmc/qemu/include/block/write-threshold.h
/openbmc/qemu/include/disas/dis-asm.h
/openbmc/qemu/include/elf.h
/openbmc/qemu/include/exec/cpu-common.h
/openbmc/qemu/include/exec/exec-all.h
/openbmc/qemu/include/exec/gen-icount.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/exec/memory_ldst.h.inc
/openbmc/qemu/include/exec/memory_ldst_cached.h.inc
/openbmc/qemu/include/exec/memory_ldst_phys.h.inc
/openbmc/qemu/include/exec/poison.h
/openbmc/qemu/include/exec/ramblock.h
/openbmc/qemu/include/exec/ramlist.h
/openbmc/qemu/include/fpu/softfloat-macros.h
/openbmc/qemu/include/fpu/softfloat.h
/openbmc/qemu/include/hw/arm/armsse.h
/openbmc/qemu/include/hw/core/accel-cpu.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/display/edid.h
/openbmc/qemu/include/hw/display/vga.h
/openbmc/qemu/include/hw/elf_ops.h
/openbmc/qemu/include/hw/firmware/smbios.h
/openbmc/qemu/include/hw/i2c/i2c.h
/openbmc/qemu/include/hw/i2c/i2c_mux_pca954x.h
/openbmc/qemu/include/hw/mem/pc-dimm.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/hw/tricore/tricore_testdevice.h
/openbmc/qemu/include/hw/virtio/vhost-vdpa.h
/openbmc/qemu/include/hw/virtio/vhost.h
/openbmc/qemu/include/hw/virtio/virtio-gpu.h
/openbmc/qemu/include/hw/virtio/virtio-mmio.h
/openbmc/qemu/include/hw/virtio/virtio.h
/openbmc/qemu/include/hw/xen/xen_common.h
/openbmc/qemu/include/migration/misc.h
/openbmc/qemu/include/qemu/accel.h
/openbmc/qemu/include/qemu/bitops.h
/openbmc/qemu/include/qemu/coroutine.h
/openbmc/qemu/include/qemu/host-utils.h
/openbmc/qemu/include/qemu/job.h
/openbmc/qemu/include/qemu/main-loop.h
/openbmc/qemu/include/sysemu/arch_init.h
/openbmc/qemu/include/sysemu/hax.h
/openbmc/qemu/include/sysemu/hvf.h
/openbmc/qemu/include/sysemu/whpx.h
/openbmc/qemu/include/tcg/tcg-op.h
/openbmc/qemu/include/tcg/tcg.h
/openbmc/qemu/include/ui/clipboard.h
/openbmc/qemu/include/ui/gtk.h
/openbmc/qemu/job.c
/openbmc/qemu/linux-user/aarch64/signal.c
/openbmc/qemu/linux-user/alpha/signal.c
/openbmc/qemu/linux-user/alpha/target_signal.h
/openbmc/qemu/linux-user/arm/cpu_loop.c
/openbmc/qemu/linux-user/arm/signal.c
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/hexagon/signal.c
/openbmc/qemu/linux-user/hppa/signal.c
/openbmc/qemu/linux-user/i386/signal.c
/openbmc/qemu/linux-user/m68k/signal.c
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/meson.build
/openbmc/qemu/linux-user/microblaze/signal.c
/openbmc/qemu/linux-user/mips/signal.c
/openbmc/qemu/linux-user/nios2/signal.c
/openbmc/qemu/linux-user/openrisc/signal.c
/openbmc/qemu/linux-user/ppc/cpu_loop.c
/openbmc/qemu/linux-user/ppc/signal.c
/openbmc/qemu/linux-user/qemu.h
/openbmc/qemu/linux-user/riscv/signal.c
/openbmc/qemu/linux-user/s390x/signal.c
/openbmc/qemu/linux-user/sh4/signal.c
/openbmc/qemu/linux-user/signal-common.h
/openbmc/qemu/linux-user/signal.c
/openbmc/qemu/linux-user/sparc/signal.c
/openbmc/qemu/linux-user/sparc/target_cpu.h
/openbmc/qemu/linux-user/sparc/target_signal.h
/openbmc/qemu/linux-user/sparc/target_structs.h
/openbmc/qemu/linux-user/sparc/target_syscall.h
/openbmc/qemu/linux-user/strace.c
/openbmc/qemu/linux-user/strace.list
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/linux-user/syscall_defs.h
/openbmc/qemu/linux-user/xtensa/signal.c
/openbmc/qemu/memory_ldst.c.inc
/openbmc/qemu/meson.build
/openbmc/qemu/migration/meson.build
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/postcopy-ram.c
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/target.c
/openbmc/qemu/monitor/hmp-cmds.c
/openbmc/qemu/monitor/qmp.c
/openbmc/qemu/pc-bios/s390-ccw.img
/openbmc/qemu/pc-bios/s390-ccw/Makefile
/openbmc/qemu/pc-bios/s390-ccw/bootmap.c
/openbmc/qemu/pc-bios/s390-ccw/helper.h
/openbmc/qemu/pc-bios/s390-ccw/jump2ipl.c
/openbmc/qemu/pc-bios/s390-ccw/menu.c
/openbmc/qemu/pc-bios/s390-ccw/netboot.mak
/openbmc/qemu/pc-bios/s390-ccw/s390-ccw.h
/openbmc/qemu/pc-bios/s390-ccw/virtio.c
/openbmc/qemu/pc-bios/s390-netboot.img
/openbmc/qemu/plugins/plugin.h
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/char.json
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/misc-target.json
/openbmc/qemu/qapi/qom.json
/openbmc/qemu/qapi/transaction.json
/openbmc/qemu/qemu-edid.c
/openbmc/qemu/qemu-io-cmds.c
/openbmc/qemu/qemu-io.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/scripts/checkpatch.pl
/openbmc/qemu/scripts/coverity-scan/COMPONENTS.md
/openbmc/qemu/scripts/coverity-scan/model.c
/openbmc/qemu/scripts/qapi/common.py
/openbmc/qemu/scripts/qapi/main.py
/openbmc/qemu/scripts/qapi/parser.py
/openbmc/qemu/scripts/qapi/pylintrc
/openbmc/qemu/scripts/qapi/schema.py
/openbmc/qemu/scripts/qapi/source.py
/openbmc/qemu/scripts/simplebench/bench-backup.py
/openbmc/qemu/scripts/simplebench/bench_block_job.py
/openbmc/qemu/scripts/simplebench/simplebench.py
/openbmc/qemu/softmmu/arch_init.c
/openbmc/qemu/softmmu/physmem.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/cpu_tcg.c
/openbmc/qemu/target/arm/helper-sve.h
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/helper.h
/openbmc/qemu/target/arm/kvm64.c
/openbmc/qemu/target/arm/m_helper.c
/openbmc/qemu/target/arm/neon-shared.decode
/openbmc/qemu/target/arm/neon_helper.c
/openbmc/qemu/target/arm/sve.decode
/openbmc/qemu/target/arm/sve_helper.c
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/arm/translate-a64.h
/openbmc/qemu/target/arm/translate-neon.c
/openbmc/qemu/target/arm/translate-sve.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/arm/vec_helper.c
/openbmc/qemu/target/arm/vec_internal.h
/openbmc/qemu/target/avr/cpu.c
/openbmc/qemu/target/avr/helper.c
/openbmc/qemu/target/i386/cpu-internal.h
/openbmc/qemu/target/i386/cpu-sysemu.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/gdbstub.c
/openbmc/qemu/target/i386/hax/hax-mem.c
/openbmc/qemu/target/i386/helper.c
/openbmc/qemu/target/i386/helper.h
/openbmc/qemu/target/i386/host-cpu.c
/openbmc/qemu/target/i386/host-cpu.h
/openbmc/qemu/target/i386/hvf/hvf-cpu.c
/openbmc/qemu/target/i386/hvf/meson.build
/openbmc/qemu/target/i386/kvm/kvm-cpu.c
/openbmc/qemu/target/i386/kvm/kvm-cpu.h
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/kvm/meson.build
/openbmc/qemu/target/i386/meson.build
/openbmc/qemu/target/i386/sev.c
/openbmc/qemu/target/i386/svm.h
/openbmc/qemu/target/i386/tcg/bpt_helper.c
/openbmc/qemu/target/i386/tcg/excp_helper.c
/openbmc/qemu/target/i386/tcg/fpu_helper.c
/openbmc/qemu/target/i386/tcg/helper-tcg.h
/openbmc/qemu/target/i386/tcg/meson.build
/openbmc/qemu/target/i386/tcg/misc_helper.c
/openbmc/qemu/target/i386/tcg/seg_helper.c
/openbmc/qemu/target/i386/tcg/seg_helper.h
/openbmc/qemu/target/i386/tcg/sysemu/bpt_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/excp_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/fpu_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/meson.build
/openbmc/qemu/target/i386/tcg/sysemu/misc_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/seg_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/smm_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/svm_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/tcg-cpu.c
/openbmc/qemu/target/i386/tcg/tcg-cpu.c
/openbmc/qemu/target/i386/tcg/tcg-cpu.h
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/i386/tcg/user/excp_helper.c
/openbmc/qemu/target/i386/tcg/user/meson.build
/openbmc/qemu/target/i386/tcg/user/seg_helper.c
/openbmc/qemu/target/meson.build
/openbmc/qemu/target/mips/cpu.c
/openbmc/qemu/target/mips/fpu_helper.h
/openbmc/qemu/target/ppc/arch_dump.c
/openbmc/qemu/target/ppc/cpu.c
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/cpu_init.c
/openbmc/qemu/target/ppc/gdbstub.c
/openbmc/qemu/target/ppc/helper.h
/openbmc/qemu/target/ppc/int_helper.c
/openbmc/qemu/target/ppc/internal.h
/openbmc/qemu/target/ppc/machine.c
/openbmc/qemu/target/ppc/meson.build
/openbmc/qemu/target/ppc/misc_helper.c
/openbmc/qemu/target/ppc/mmu-hash32.c
/openbmc/qemu/target/ppc/mmu-hash64.c
/openbmc/qemu/target/ppc/mmu-hash64.h
/openbmc/qemu/target/ppc/mmu-radix64.c
/openbmc/qemu/target/ppc/mmu_helper.c
/openbmc/qemu/target/ppc/spr_tcg.h
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/ppc/translate/vsx-impl.c.inc
cpu.c
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/s390x/translate.c
/openbmc/qemu/target/sh4/cpu.c
/openbmc/qemu/target/sh4/helper.c
/openbmc/qemu/target/sparc/cpu.c
/openbmc/qemu/target/xtensa/cpu.c
/openbmc/qemu/target/xtensa/cpu.h
/openbmc/qemu/target/xtensa/exc_helper.c
/openbmc/qemu/target/xtensa/helper.c
/openbmc/qemu/target/xtensa/translate.c
/openbmc/qemu/tcg/aarch64/tcg-target.c.inc
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/docker.py
/openbmc/qemu/tests/docker/dockerfiles/alpine.docker
/openbmc/qemu/tests/docker/dockerfiles/centos8.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-hexagon-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-hexagon-cross.docker.d/build-toolchain.sh
/openbmc/qemu/tests/docker/dockerfiles/debian-powerpc-test-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian10.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-i386-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win32-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora.docker
/openbmc/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu1804.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu2004.docker
/openbmc/qemu/tests/fp/fp-bench.c
/openbmc/qemu/tests/fp/fp-test.c
/openbmc/qemu/tests/fp/wrap.c.inc
/openbmc/qemu/tests/migration/guestperf/comparison.py
/openbmc/qemu/tests/migration/guestperf/engine.py
/openbmc/qemu/tests/migration/guestperf/scenario.py
/openbmc/qemu/tests/migration/guestperf/shell.py
/openbmc/qemu/tests/plugin/syscall.c
/openbmc/qemu/tests/qapi-schema/meson.build
/openbmc/qemu/tests/qapi-schema/missing-array-rsqb.err
/openbmc/qemu/tests/qapi-schema/missing-array-rsqb.json
/openbmc/qemu/tests/qapi-schema/missing-array-rsqb.out
/openbmc/qemu/tests/qapi-schema/missing-object-member-element.err
/openbmc/qemu/tests/qapi-schema/missing-object-member-element.json
/openbmc/qemu/tests/qapi-schema/missing-object-member-element.out
/openbmc/qemu/tests/qapi-schema/missing-schema.err
/openbmc/qemu/tests/qapi-schema/missing-schema.out
/openbmc/qemu/tests/qapi-schema/non-objects.err
/openbmc/qemu/tests/qapi-schema/quoted-structural-chars.err
/openbmc/qemu/tests/qapi-schema/test-qapi.py
/openbmc/qemu/tests/qemu-iotests/005
/openbmc/qemu/tests/qemu-iotests/025
/openbmc/qemu/tests/qemu-iotests/231
/openbmc/qemu/tests/qemu-iotests/231.out
/openbmc/qemu/tests/qemu-iotests/240.out
/openbmc/qemu/tests/qemu-iotests/245.out
/openbmc/qemu/tests/qemu-iotests/264
/openbmc/qemu/tests/qemu-iotests/295.out
/openbmc/qemu/tests/qemu-iotests/296.out
/openbmc/qemu/tests/qemu-iotests/check
/openbmc/qemu/tests/qemu-iotests/common.rc
/openbmc/qemu/tests/qemu-iotests/iotests.py
/openbmc/qemu/tests/qemu-iotests/pylintrc
/openbmc/qemu/tests/qemu-iotests/testenv.py
/openbmc/qemu/tests/qemu-iotests/testrunner.py
/openbmc/qemu/tests/qtest/ahci-test.c
/openbmc/qemu/tests/qtest/boot-serial-test.c
/openbmc/qemu/tests/qtest/ipmi-bt-test.c
/openbmc/qemu/tests/qtest/ipmi-kcs-test.c
/openbmc/qemu/tests/qtest/libqos/meson.build
/openbmc/qemu/tests/qtest/libqos/qgraph.c
/openbmc/qemu/tests/qtest/libqos/vhost-user-blk.c
/openbmc/qemu/tests/qtest/libqos/vhost-user-blk.h
/openbmc/qemu/tests/qtest/libqtest.c
/openbmc/qemu/tests/qtest/machine-none-test.c
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/npcm7xx_pwm-test.c
/openbmc/qemu/tests/qtest/rtc-test.c
/openbmc/qemu/tests/qtest/tpm-util.c
/openbmc/qemu/tests/qtest/vhost-user-blk-test.c
/openbmc/qemu/tests/tcg/Makefile.qemu
/openbmc/qemu/tests/tcg/Makefile.target
/openbmc/qemu/tests/tcg/README
/openbmc/qemu/tests/tcg/configure.sh
/openbmc/qemu/tests/tcg/multiarch/system/memory.c
/openbmc/qemu/tests/tcg/ppc64/Makefile.target
/openbmc/qemu/tests/tcg/ppc64le/Makefile.target
/openbmc/qemu/tests/tcg/ppc64le/byte_reverse.c
/openbmc/qemu/tests/tcg/sparc64/Makefile.target
/openbmc/qemu/tests/tcg/tricore/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/tricore/link.ld
/openbmc/qemu/tests/tcg/tricore/macros.h
/openbmc/qemu/tests/tcg/tricore/test_abs.S
/openbmc/qemu/tests/tcg/tricore/test_bmerge.S
/openbmc/qemu/tests/tcg/tricore/test_clz.S
/openbmc/qemu/tests/tcg/tricore/test_dvstep.S
/openbmc/qemu/tests/tcg/tricore/test_fadd.S
/openbmc/qemu/tests/tcg/tricore/test_fmul.S
/openbmc/qemu/tests/tcg/tricore/test_ftoi.S
/openbmc/qemu/tests/tcg/tricore/test_madd.S
/openbmc/qemu/tests/tcg/tricore/test_msub.S
/openbmc/qemu/tests/tcg/tricore/test_muls.S
/openbmc/qemu/tests/tcg/x86_64/Makefile.target
/openbmc/qemu/tests/tcg/x86_64/vsyscall.c
/openbmc/qemu/tests/tcg/xtensa/test_load_store.S
/openbmc/qemu/tests/unit/test-write-threshold.c
/openbmc/qemu/tools/virtiofsd/fuse_lowlevel.c
/openbmc/qemu/tools/virtiofsd/fuse_virtio.c
/openbmc/qemu/tools/virtiofsd/helper.c
/openbmc/qemu/tools/virtiofsd/passthrough_ll.c
/openbmc/qemu/ui/clipboard.c
/openbmc/qemu/ui/gtk-clipboard.c
/openbmc/qemu/ui/gtk.c
/openbmc/qemu/ui/meson.build
/openbmc/qemu/ui/spice-display.c
/openbmc/qemu/ui/trace-events
/openbmc/qemu/ui/vdagent.c
/openbmc/qemu/ui/vnc-clipboard.c
/openbmc/qemu/ui/vnc.c
/openbmc/qemu/ui/vnc.h
/openbmc/qemu/util/compatfd.c
/openbmc/qemu/util/cutils.c
/openbmc/qemu/util/main-loop.c
/openbmc/qemu/util/module.c
/openbmc/qemu/util/qemu-coroutine-sleep.c
/openbmc/qemu/util/qemu-option.c
/openbmc/qemu/util/qemu-sockets.c
/openbmc/qemu/util/vfio-helpers.c
c30a075723-Apr-2021 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Fix the RV64H decode comment

BugLink: https://gitlab.com/qemu-project/qemu/-/issues/47
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richar

target/riscv: Fix the RV64H decode comment

BugLink: https://gitlab.com/qemu-project/qemu/-/issues/47
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 024ce841221c1d15c74b253512428c4baca7e4ba.1619234854.git.alistair.francis@wdc.com

show more ...

6baba30a23-Apr-2021 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Consolidate RV32/64 16-bit instructions

This patch removes the insn16-32.decode and insn16-64.decode decode
files and consolidates the instructions into the general RISC-V
insn16.decod

target/riscv: Consolidate RV32/64 16-bit instructions

This patch removes the insn16-32.decode and insn16-64.decode decode
files and consolidates the instructions into the general RISC-V
insn16.decode decode tree.

This means that all of the instructions are avaliable in both the 32-bit
and 64-bit builds. This also means that we run a check to ensure we are
running a 64-bit softmmu before we execute the 64-bit only instructions.
This allows us to include the 32-bit instructions in the 64-bit build,
while also ensuring that 32-bit only software can not execute the
instructions.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 01e2b0efeae311adc7ebf133c2cde6a7a37224d7.1619234854.git.alistair.francis@wdc.com

show more ...

daf866b623-Apr-2021 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Consolidate RV32/64 32-bit instructions

This patch removes the insn32-64.decode decode file and consolidates the
instructions into the general RISC-V insn32.decode decode tree.

This m

target/riscv: Consolidate RV32/64 32-bit instructions

This patch removes the insn32-64.decode decode file and consolidates the
instructions into the general RISC-V insn32.decode decode tree.

This means that all of the instructions are avaliable in both the 32-bit
and 64-bit builds. This also means that we run a check to ensure we are
running a 64-bit softmmu before we execute the 64-bit only instructions.
This allows us to include the 32-bit instructions in the 64-bit build,
while also ensuring that 32-bit only software can not execute the
instructions.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: db709360e2be47d2f9c6483ab973fe4791aefa77.1619234854.git.alistair.francis@wdc.com

show more ...

4bb8563423-Apr-2021 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Remove an unused CASE_OP_32_64 macro

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

target/riscv: Remove an unused CASE_OP_32_64 macro

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: 4853459564af35a6690120c74ad892f60cec35ff.1619234854.git.alistair.francis@wdc.com

show more ...

e95ea34723-Apr-2021 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Remove the unused HSTATUS_WPRI macro

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

target/riscv: Remove the unused HSTATUS_WPRI macro

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: e095b57af0d419c8ed822958f04dfc732d7beb7e.1619234854.git.alistair.francis@wdc.com

show more ...

419ddf0023-Apr-2021 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Remove the hardcoded SATP_MODE macro

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 6b701769d6621f

target/riscv: Remove the hardcoded SATP_MODE macro

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 6b701769d6621f45ba1739334198e36a64fe04df.1619234854.git.alistair.francis@wdc.com

show more ...

4fd7455b23-Apr-2021 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Remove the hardcoded MSTATUS_SD macro

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

target/riscv: Remove the hardcoded MSTATUS_SD macro

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: fcc125d96da941b56c817c9dd6068dc36478fc53.1619234854.git.alistair.francis@wdc.com

show more ...

994b6bb223-Apr-2021 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Remove the hardcoded HGATP_MODE macro

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

target/riscv: Remove the hardcoded HGATP_MODE macro

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: 665f624bfdc2e3ca64265004b07de7489c77a766.1619234854.git.alistair.francis@wdc.com

show more ...

5f10e6d823-Apr-2021 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Remove the hardcoded SSTATUS_SD macro

This also ensures that the SD bit is not writable.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <ric

target/riscv: Remove the hardcoded SSTATUS_SD macro

This also ensures that the SD bit is not writable.

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: 9ea842309f0fd7adff172790f5b5fc058b40f2f1.1619234854.git.alistair.francis@wdc.com

show more ...

3820602f23-Apr-2021 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Remove the hardcoded RVXLEN macro

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

target/riscv: Remove the hardcoded RVXLEN macro

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: a07bc0c6dc4958681b4f93cbc5d0acc31ed3344a.1619234854.git.alistair.francis@wdc.com

show more ...

6cfcf77521-Apr-2021 Emmanuel Blot <emmanuel.blot@sifive.com>

target/riscv: fix a typo with interrupt names

Interrupt names have been swapped in 205377f8 and do not follow
IRQ_*_EXT definition order.

Signed-off-by: Emmanuel Blot <emmanuel.blot@sifive.com>
Rev

target/riscv: fix a typo with interrupt names

Interrupt names have been swapped in 205377f8 and do not follow
IRQ_*_EXT definition order.

Signed-off-by: Emmanuel Blot <emmanuel.blot@sifive.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20210421133236.11323-1-emmanuel.blot@sifive.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

f9e580c116-Apr-2021 Emmanuel Blot <emmanuel.blot@sifive.com>

target/riscv: fix exception index on instruction access fault

When no MMU is used and the guest code attempts to fetch an instruction
from an invalid memory location, the exception index defaults to

target/riscv: fix exception index on instruction access fault

When no MMU is used and the guest code attempts to fetch an instruction
from an invalid memory location, the exception index defaults to a data
load access fault, rather an instruction access fault.

Signed-off-by: Emmanuel Blot <emmanuel.blot@sifive.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: FB9EA197-B018-4879-AB0F-922C2047A08B@sifive.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

b11e84b819-Apr-2021 Frank Chang <frank.chang@sifive.com>

target/riscv: fix vrgather macro index variable type bug

ETYPE may be type of uint64_t, thus index variable has to be declared as
type of uint64_t, too. Otherwise the value read from vs1 register ma

target/riscv: fix vrgather macro index variable type bug

ETYPE may be type of uint64_t, thus index variable has to be declared as
type of uint64_t, too. Otherwise the value read from vs1 register may be
truncated to type of uint32_t.

Signed-off-by: Frank Chang <frank.chang@sifive.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20210419060302.14075-1-frank.chang@sifive.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

ed6eebaa19-Apr-2021 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Add ePMP support for the Ibex CPU

The physical Ibex CPU has ePMP support and it's enabled for the
OpenTitan machine so let's enable ePMP support for the Ibex CPU in QEMU.

Signed-off-b

target/riscv: Add ePMP support for the Ibex CPU

The physical Ibex CPU has ePMP support and it's enabled for the
OpenTitan machine so let's enable ePMP support for the Ibex CPU in QEMU.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-id: d426baabab0c9361ed2e989dbe416e417a551fd1.1618812899.git.alistair.francis@wdc.com

show more ...

8ab6d3fb19-Apr-2021 Alistair Francis <alistair.francis@wdc.com>

target/riscv/pmp: Remove outdated comment

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-id: 10387eec21d2f17c499a78fdba85280cab4dd27f.1

target/riscv/pmp: Remove outdated comment

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-id: 10387eec21d2f17c499a78fdba85280cab4dd27f.1618812899.git.alistair.francis@wdc.com

show more ...

5da9514e19-Apr-2021 Hou Weiying <weiying_hou@outlook.com>

target/riscv: Add a config option for ePMP

Add a config option to enable experimental support for ePMP. This
is disabled by default and can be enabled with 'x-epmp=true'.

Signed-off-by: Hongzheng-L

target/riscv: Add a config option for ePMP

Add a config option to enable experimental support for ePMP. This
is disabled by default and can be enabled with 'x-epmp=true'.

Signed-off-by: Hongzheng-Li <Ethan.Lee.QNL@gmail.com>
Signed-off-by: Hou Weiying <weiying_hou@outlook.com>
Signed-off-by: Myriad-Dreamin <camiyoru@gmail.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-id: a22ccdaf9314078bc735d3b323f966623f8af020.1618812899.git.alistair.francis@wdc.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

show more ...

ae39e4ce19-Apr-2021 Hou Weiying <weiying_hou@outlook.com>

target/riscv: Implementation of enhanced PMP (ePMP)

This commit adds support for ePMP v0.9.1.

The ePMP spec can be found in:
https://docs.google.com/document/d/1Mh_aiHYxemL0umN3GTTw8vsbmzHZ_nxZXgjg

target/riscv: Implementation of enhanced PMP (ePMP)

This commit adds support for ePMP v0.9.1.

The ePMP spec can be found in:
https://docs.google.com/document/d/1Mh_aiHYxemL0umN3GTTw8vsbmzHZ_nxZXgjgOUzbvc8

Signed-off-by: Hongzheng-Li <Ethan.Lee.QNL@gmail.com>
Signed-off-by: Hou Weiying <weiying_hou@outlook.com>
Signed-off-by: Myriad-Dreamin <camiyoru@gmail.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-id: fef23b885f9649a4d54e7c98b168bdec5d297bb1.1618812899.git.alistair.francis@wdc.com
[ Changes by AF:
- Rebase on master
- Update to latest spec
- Use a switch case to handle ePMP MML permissions
- Fix a few bugs
]
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

2582a95c19-Apr-2021 Hou Weiying <weiying_hou@outlook.com>

target/riscv: Add ePMP CSR access functions

Signed-off-by: Hongzheng-Li <Ethan.Lee.QNL@gmail.com>
Signed-off-by: Hou Weiying <weiying_hou@outlook.com>
Signed-off-by: Myriad-Dreamin <camiyoru@gmail.c

target/riscv: Add ePMP CSR access functions

Signed-off-by: Hongzheng-Li <Ethan.Lee.QNL@gmail.com>
Signed-off-by: Hou Weiying <weiying_hou@outlook.com>
Signed-off-by: Myriad-Dreamin <camiyoru@gmail.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-id: 270762cb2507fba6a9eeb99a774cf49f7da9cc32.1618812899.git.alistair.francis@wdc.com
[ Changes by AF:
- Rebase on master
- Fix build errors
- Fix some style issues
]
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

show more ...

4a345b2a19-Apr-2021 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Add the ePMP feature

The spec is avaliable at:
https://docs.google.com/document/d/1Mh_aiHYxemL0umN3GTTw8vsbmzHZ_nxZXgjgOUzbvc8

Signed-off-by: Alistair Francis <alistair.francis@wdc.co

target/riscv: Add the ePMP feature

The spec is avaliable at:
https://docs.google.com/document/d/1Mh_aiHYxemL0umN3GTTw8vsbmzHZ_nxZXgjgOUzbvc8

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-id: 28c8855c80b0388a08c3ae009f5467e2b3960ce0.1618812899.git.alistair.francis@wdc.com

show more ...

db9f1dac19-Apr-2021 Hou Weiying <weiying_hou@outlook.com>

target/riscv: Define ePMP mseccfg

Use address 0x390 and 0x391 for the ePMP CSRs.

Signed-off-by: Hongzheng-Li <Ethan.Lee.QNL@gmail.com>
Signed-off-by: Hou Weiying <weiying_hou@outlook.com>
Signed-of

target/riscv: Define ePMP mseccfg

Use address 0x390 and 0x391 for the ePMP CSRs.

Signed-off-by: Hongzheng-Li <Ethan.Lee.QNL@gmail.com>
Signed-off-by: Hou Weiying <weiying_hou@outlook.com>
Signed-off-by: Myriad-Dreamin <camiyoru@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-id: 63245b559f477a9ce6d4f930136d2d7fd7f99c78.1618812899.git.alistair.francis@wdc.com
[ Changes by AF:
- Tidy up commit message
]
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

show more ...

94c6ba8319-Apr-2021 Alistair Francis <alistair.francis@wdc.com>

target/riscv: Fix the PMP is locked check when using TOR

The RISC-V spec says:
if PMP entry i is locked and pmpicfg.A is set to TOR, writes to
pmpaddri-1 are ignored.

The current QEMU code

target/riscv: Fix the PMP is locked check when using TOR

The RISC-V spec says:
if PMP entry i is locked and pmpicfg.A is set to TOR, writes to
pmpaddri-1 are ignored.

The current QEMU code ignores accesses to pmpaddri-1 and pmpcfgi-1 which
is incorrect.

Update the pmp_is_locked() function to not check the supporting fields
and instead enforce the lock functionality in the pmpaddr write operation.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Message-id: 2831241458163f445a89bd59c59990247265b0c6.1618812899.git.alistair.francis@wdc.com

show more ...

65606f2112-Feb-2021 LIU Zhiwei <zhiwei_liu@c-sky.com>

target/riscv: Fixup saturate subtract function

The overflow predication ((a - b) ^ a) & (a ^ b) & INT64_MIN is right.
However, when the predication is ture and a is 0, it should return maximum.

Sig

target/riscv: Fixup saturate subtract function

The overflow predication ((a - b) ^ a) & (a ^ b) & INT64_MIN is right.
However, when the predication is ture and a is 0, it should return maximum.

Signed-off-by: LIU Zhiwei <zhiwei_liu@c-sky.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20210212150256.885-4-zhiwei_liu@c-sky.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

11c27c6d06-Apr-2021 Jade Fink <qemu@jade.fyi>

riscv: don't look at SUM when accessing memory from a debugger context

Previously the qemu monitor and gdbstub looked at SUM and refused to
perform accesses to user memory if it is off, which was an

riscv: don't look at SUM when accessing memory from a debugger context

Previously the qemu monitor and gdbstub looked at SUM and refused to
perform accesses to user memory if it is off, which was an impediment to
debugging.

Signed-off-by: Jade Fink <qemu@jade.fyi>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20210406113109.1031033-1-qemu@jade.fyi
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

1...<<41424344454647484950>>...67