History log of /qemu/target/riscv/ (Results 1 – 25 of 1574)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
6ce1c9d026-Mar-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

exec: Declare CPUBreakpoint/CPUWatchpoint type in 'breakpoint.h' header

The CPUBreakpoint and CPUWatchpoint structures are declared
in "hw/core/cpu.h", which contains declarations related to
CPUStat

exec: Declare CPUBreakpoint/CPUWatchpoint type in 'breakpoint.h' header

The CPUBreakpoint and CPUWatchpoint structures are declared
in "hw/core/cpu.h", which contains declarations related to
CPUState and CPUClass. Some source files only require the
BP/WP definitions and don't need to pull in all CPU* API.
In order to simplify, create a new "exec/breakpoint.h" header.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20240418192525.97451-3-philmd@linaro.org>

show more ...


/qemu/MAINTAINERS
/qemu/accel/hvf/hvf-accel-ops.c
/qemu/accel/tcg/cpu-exec.c
/qemu/accel/tcg/ldst_atomicity.c.inc
/qemu/accel/tcg/tb-jmp-cache.h
/qemu/accel/tcg/tcg-accel-ops.c
/qemu/accel/tcg/user-exec.c
/qemu/accel/tcg/user-retaddr.h
/qemu/bsd-user/freebsd/target_os_elf.h
/qemu/bsd-user/freebsd/target_os_stack.h
/qemu/bsd-user/netbsd/target_os_elf.h
/qemu/bsd-user/openbsd/target_os_elf.h
/qemu/bsd-user/signal.c
/qemu/bsd-user/strace.c
/qemu/cpu-target.c
/qemu/disas/disas.c
/qemu/host/include/aarch64/host/load-extract-al16-al8.h.inc
/qemu/host/include/aarch64/host/store-insert-al16.h.inc
/qemu/host/include/generic/host/load-extract-al16-al8.h.inc
/qemu/host/include/generic/host/store-insert-al16.h.inc
/qemu/host/include/loongarch64/host/load-extract-al16-al8.h.inc
/qemu/host/include/loongarch64/host/store-insert-al16.h.inc
/qemu/host/include/x86_64/host/load-extract-al16-al8.h.inc
/qemu/hw/audio/virtio-snd.c
/qemu/hw/core/cpu-sysemu.c
/qemu/hw/core/generic-loader.c
/qemu/hw/display/vga.c
/qemu/hw/virtio/virtio.c
/qemu/include/exec/abi_ptr.h
/qemu/include/exec/breakpoint.h
/qemu/include/exec/cpu-all.h
/qemu/include/exec/cpu_ldst.h
/qemu/include/exec/exec-all.h
/qemu/include/exec/helper-gen.h.inc
/qemu/include/exec/helper-head.h.inc
/qemu/include/exec/helper-info.c.inc
/qemu/include/exec/helper-proto.h.inc
/qemu/include/exec/mmu-access-type.h
/qemu/include/exec/ram_addr.h
/qemu/include/exec/translator.h
/qemu/include/exec/tswap.h
/qemu/include/exec/user/abitypes.h
/qemu/include/hw/core/cpu.h
/qemu/include/sysemu/hvf_int.h
/qemu/include/user/tswap-target.h
/qemu/linux-user/elfload.c
/qemu/linux-user/i386/signal.c
/qemu/linux-user/ppc/signal.c
/qemu/target/arm/hvf/hvf.c
/qemu/target/arm/internals.h
/qemu/target/i386/hvf/hvf.c
/qemu/target/i386/hvf/x86hvf.c
/qemu/target/i386/nvmm/nvmm-all.c
/qemu/target/i386/tcg/fpu_helper.c
/qemu/target/i386/whpx/whpx-all.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/internal.h
debug.h
/qemu/target/sparc/gdbstub.c
e92dd33205-Dec-2023 Philippe Mathieu-Daudé <philmd@linaro.org>

target: Define TCG_GUEST_DEFAULT_MO in 'cpu-param.h'

accel/tcg/ files requires the following definitions:

- TARGET_LONG_BITS
- TARGET_PAGE_BITS
- TARGET_PHYS_ADDR_SPACE_BITS
- TCG_GUEST_DEF

target: Define TCG_GUEST_DEFAULT_MO in 'cpu-param.h'

accel/tcg/ files requires the following definitions:

- TARGET_LONG_BITS
- TARGET_PAGE_BITS
- TARGET_PHYS_ADDR_SPACE_BITS
- TCG_GUEST_DEFAULT_MO

The first 3 are defined in "cpu-param.h". The last one
in "cpu.h", with a bunch of definitions irrelevant for
TCG. By moving the TCG_GUEST_DEFAULT_MO definition to
"cpu-param.h", we can simplify various accel/tcg includes.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Acked-by: Nicholas Piggin <npiggin@gmail.com>
Message-Id: <20231211212003.21686-4-philmd@linaro.org>

show more ...


/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/container-core.yml
/qemu/.travis.yml
/qemu/MAINTAINERS
/qemu/accel/stubs/tcg-stub.c
/qemu/accel/tcg/cputlb.c
/qemu/accel/tcg/translator.c
/qemu/bsd-user/elfload.c
/qemu/docs/devel/reset.rst
/qemu/docs/devel/submitting-a-patch.rst
/qemu/docs/system/arm/b-l475e-iot01a.rst
/qemu/docs/system/target-i386-desc.rst.inc
/qemu/gdbstub/gdbstub.c
/qemu/hw/Kconfig
/qemu/hw/arm/Kconfig
/qemu/hw/arm/stm32l4x5_soc.c
/qemu/hw/char/Kconfig
/qemu/hw/char/meson.build
/qemu/hw/char/stm32l4x5_usart.c
/qemu/hw/char/trace-events
/qemu/hw/core/loader.c
/qemu/hw/core/machine-hmp-cmds.c
/qemu/hw/core/machine-qmp-cmds.c
/qemu/hw/core/machine-smp.c
/qemu/hw/core/machine.c
/qemu/hw/core/reset.c
/qemu/hw/core/resettable.c
/qemu/hw/cpu/Kconfig
/qemu/hw/cpu/meson.build
/qemu/hw/cxl/cxl-cdat.c
/qemu/hw/i386/pc_sysfw.c
/qemu/hw/mem/cxl_type3.c
/qemu/hw/misc/applesmc.c
/qemu/hw/misc/imx25_ccm.c
/qemu/hw/misc/imx31_ccm.c
/qemu/hw/misc/imx6_ccm.c
/qemu/hw/misc/imx6_src.c
/qemu/hw/misc/imx6ul_ccm.c
/qemu/hw/misc/imx7_src.c
/qemu/hw/misc/stm32l4x5_exti.c
/qemu/hw/net/imx_fec.c
/qemu/hw/pci-bridge/cxl_upstream.c
/qemu/hw/riscv/Kconfig
/qemu/hw/riscv/virt.c
/qemu/hw/s390x/s390-stattrib.c
/qemu/hw/s390x/s390-virtio-hcall.h
/qemu/hw/ssi/imx_spi.c
/qemu/hw/xtensa/bootparam.h
/qemu/include/exec/cpu-all.h
/qemu/include/exec/cpu-defs.h
/qemu/include/exec/exec-all.h
/qemu/include/exec/helper-head.h
/qemu/include/exec/memop.h
/qemu/include/exec/memory.h
/qemu/include/exec/tswap.h
/qemu/include/gdbstub/helpers.h
/qemu/include/hw/arm/stm32l4x5_soc.h
/qemu/include/hw/boards.h
/qemu/include/hw/char/stm32l4x5_usart.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/core/tcg-cpu-ops.h
/qemu/include/hw/cxl/cxl_component.h
/qemu/include/hw/elf_ops.h.inc
/qemu/include/hw/resettable.h
/qemu/include/qemu/osdep.h
/qemu/include/semihosting/uaccess.h
/qemu/include/sysemu/hvf.h
/qemu/include/sysemu/kvm.h
/qemu/include/sysemu/nvmm.h
/qemu/include/sysemu/whpx.h
/qemu/include/sysemu/xen.h
/qemu/linux-user/elfload.c
/qemu/meson.build
/qemu/page-target.c
/qemu/python/qemu/machine/machine.py
/qemu/qapi/machine.json
/qemu/qom/qom-qmp-cmds.c
/qemu/scripts/analyze-inclusions
/qemu/scripts/compare-machine-types.py
/qemu/semihosting/guestfd.c
/qemu/system/physmem.c
/qemu/system/vl.c
/qemu/target/alpha/cpu-param.h
/qemu/target/alpha/cpu.h
/qemu/target/arm/cpu-param.h
/qemu/target/arm/cpu.h
/qemu/target/arm/kvm-consts.h
/qemu/target/avr/cpu-param.h
/qemu/target/avr/cpu.h
/qemu/target/avr/gdbstub.c
/qemu/target/hexagon/translate.c
/qemu/target/hppa/cpu-param.h
/qemu/target/hppa/cpu.h
/qemu/target/i386/cpu-apic.c
/qemu/target/i386/cpu-param.h
/qemu/target/i386/cpu-sysemu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/meson.build
/qemu/target/i386/monitor.c
/qemu/target/loongarch/cpu-param.h
/qemu/target/loongarch/cpu.h
/qemu/target/meson.build
/qemu/target/microblaze/cpu-param.h
/qemu/target/microblaze/cpu.c
/qemu/target/microblaze/cpu.h
/qemu/target/microblaze/translate.c
/qemu/target/mips/cpu-param.h
/qemu/target/mips/cpu.h
/qemu/target/openrisc/cpu-param.h
/qemu/target/openrisc/cpu.h
/qemu/target/ppc/cpu-param.h
/qemu/target/ppc/cpu.h
cpu-param.h
cpu.h
/qemu/target/s390x/cpu-param.h
/qemu/target/s390x/cpu.h
/qemu/target/s390x/cpu_models.h
/qemu/target/sparc/cpu-param.h
/qemu/target/sparc/cpu.h
/qemu/target/tricore/gdbstub.c
/qemu/target/xtensa/cpu-param.h
/qemu/target/xtensa/cpu.h
/qemu/tests/docker/dockerfiles/alpine.docker
/qemu/tests/docker/dockerfiles/centos9.docker
/qemu/tests/docker/dockerfiles/debian-amd64-cross.docker
/qemu/tests/docker/dockerfiles/debian-arm64-cross.docker
/qemu/tests/docker/dockerfiles/debian-armel-cross.docker
/qemu/tests/docker/dockerfiles/debian-armhf-cross.docker
/qemu/tests/docker/dockerfiles/debian-i686-cross.docker
/qemu/tests/docker/dockerfiles/debian-mips64el-cross.docker
/qemu/tests/docker/dockerfiles/debian-mipsel-cross.docker
/qemu/tests/docker/dockerfiles/debian-ppc64el-cross.docker
/qemu/tests/docker/dockerfiles/debian-riscv64-cross.docker
/qemu/tests/docker/dockerfiles/debian-s390x-cross.docker
/qemu/tests/docker/dockerfiles/debian.docker
/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/qemu/tests/docker/dockerfiles/fedora.docker
/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/qemu/tests/docker/dockerfiles/ubuntu2204.docker
/qemu/tests/lcitool/libvirt-ci
/qemu/tests/lcitool/mappings.yml
/qemu/tests/lcitool/refresh
/qemu/tests/qtest/aspeed_fsi-test.c
/qemu/tests/qtest/cmsdk-apb-dualtimer-test.c
/qemu/tests/qtest/cmsdk-apb-watchdog-test.c
/qemu/tests/qtest/erst-test.c
/qemu/tests/qtest/fuzz/qos_fuzz.c
/qemu/tests/qtest/ivshmem-test.c
/qemu/tests/qtest/libqos/ahci.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/microbit-test.c
/qemu/tests/qtest/sse-timer-test.c
/qemu/tests/qtest/stm32l4x5_exti-test.c
/qemu/tests/qtest/stm32l4x5_syscfg-test.c
/qemu/tests/qtest/stm32l4x5_usart-test.c
/qemu/tests/unit/test-nested-aio-poll.c
/qemu/tests/vm/centos
/qemu/tests/vm/openbsd
ad80e36712-Apr-2024 Peter Maydell <peter.maydell@linaro.org>

hw, target: Add ResetType argument to hold and exit phase methods

We pass a ResetType argument to the Resettable class enter
phase method, but we don't pass it to hold and exit, even though
the call

hw, target: Add ResetType argument to hold and exit phase methods

We pass a ResetType argument to the Resettable class enter
phase method, but we don't pass it to hold and exit, even though
the callsites have it readily available. This means that if
a device cared about the ResetType it would need to record it
in the enter phase method to use later on. Pass the type to
all three of the phase methods to avoid having to do that.

Commit created with

for dir in hw target include; do \
spatch --macro-file scripts/cocci-macro-file.h \
--sp-file scripts/coccinelle/reset-type.cocci \
--keep-comments --smpl-spacing --in-place \
--include-headers --dir $dir; done

and no manual edits.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Luc Michel <luc.michel@amd.com>
Message-id: 20240412160809.1260625-5-peter.maydell@linaro.org

show more ...


/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/crossbuild-template.yml
/qemu/.gitlab-ci.d/crossbuilds.yml
/qemu/.mailmap
/qemu/Kconfig.host
/qemu/MAINTAINERS
/qemu/VERSION
/qemu/accel/kvm/kvm-all.c
/qemu/accel/kvm/trace-events
/qemu/accel/stubs/kvm-stub.c
/qemu/accel/tcg/icount-common.c
/qemu/backends/hostmem-file.c
/qemu/backends/hostmem-memfd.c
/qemu/backends/hostmem-ram.c
/qemu/backends/hostmem.c
/qemu/backends/iommufd.c
/qemu/block/gluster.c
/qemu/block/snapshot.c
/qemu/blockdev.c
/qemu/bsd-user/qemu.h
/qemu/chardev/char-fe.c
/qemu/configure
/qemu/disas/meson.build
/qemu/docs/about/deprecated.rst
/qemu/docs/about/emulation.rst
/qemu/docs/about/removed-features.rst
/qemu/docs/requirements.txt
/qemu/docs/system/arm/emulation.rst
/qemu/docs/system/device-url-syntax.rst.inc
/qemu/docs/system/loongarch/virt.rst
/qemu/docs/system/qemu-block-drivers.rst.inc
/qemu/docs/system/replay.rst
/qemu/docs/user/main.rst
/qemu/fpu/softfloat-specialize.c.inc
/qemu/hmp-commands-info.hx
/qemu/hw/Kconfig
/qemu/hw/adc/npcm7xx_adc.c
/qemu/hw/arm/pxa2xx_pic.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/arm/smmuv3.c
/qemu/hw/arm/stellaris.c
/qemu/hw/arm/virt.c
/qemu/hw/audio/asc.c
/qemu/hw/char/cadence_uart.c
/qemu/hw/char/sifive_uart.c
/qemu/hw/core/cpu-common.c
/qemu/hw/core/machine-qmp-cmds.c
/qemu/hw/core/machine.c
/qemu/hw/core/qdev-properties.c
/qemu/hw/core/qdev.c
/qemu/hw/core/reset.c
/qemu/hw/core/resettable.c
/qemu/hw/display/virtio-vga.c
/qemu/hw/dma/soc_dma.c
/qemu/hw/gpio/npcm7xx_gpio.c
/qemu/hw/gpio/pl061.c
/qemu/hw/gpio/stm32l4x5_gpio.c
/qemu/hw/hyperv/vmbus.c
/qemu/hw/i2c/allwinner-i2c.c
/qemu/hw/i2c/npcm7xx_smbus.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/x86.c
/qemu/hw/i386/xen/xen-hvm.c
/qemu/hw/input/adb.c
/qemu/hw/input/ps2.c
/qemu/hw/intc/Kconfig
/qemu/hw/intc/arm_gic_common.c
/qemu/hw/intc/arm_gic_kvm.c
/qemu/hw/intc/arm_gicv3.c
/qemu/hw/intc/arm_gicv3_common.c
/qemu/hw/intc/arm_gicv3_cpuif.c
/qemu/hw/intc/arm_gicv3_dist.c
/qemu/hw/intc/arm_gicv3_its.c
/qemu/hw/intc/arm_gicv3_its_common.c
/qemu/hw/intc/arm_gicv3_its_kvm.c
/qemu/hw/intc/arm_gicv3_kvm.c
/qemu/hw/intc/arm_gicv3_redist.c
/qemu/hw/intc/gicv3_internal.h
/qemu/hw/intc/meson.build
/qemu/hw/intc/trace-events
/qemu/hw/intc/xics.c
/qemu/hw/m68k/q800-glue.c
/qemu/hw/meson.build
/qemu/hw/misc/djmemc.c
/qemu/hw/misc/iosb.c
/qemu/hw/misc/mac_via.c
/qemu/hw/misc/macio/cuda.c
/qemu/hw/misc/macio/pmu.c
/qemu/hw/misc/mos6522.c
/qemu/hw/misc/npcm7xx_clk.c
/qemu/hw/misc/npcm7xx_gcr.c
/qemu/hw/misc/npcm7xx_mft.c
/qemu/hw/misc/npcm7xx_pwm.c
/qemu/hw/misc/stm32l4x5_exti.c
/qemu/hw/misc/stm32l4x5_rcc.c
/qemu/hw/misc/stm32l4x5_syscfg.c
/qemu/hw/misc/xlnx-versal-cframe-reg.c
/qemu/hw/misc/xlnx-versal-crl.c
/qemu/hw/misc/xlnx-versal-pmc-iou-slcr.c
/qemu/hw/misc/xlnx-versal-trng.c
/qemu/hw/misc/xlnx-versal-xramc.c
/qemu/hw/misc/xlnx-zynqmp-apu-ctrl.c
/qemu/hw/misc/xlnx-zynqmp-crf.c
/qemu/hw/misc/zynq_slcr.c
/qemu/hw/net/can/xlnx-zynqmp-can.c
/qemu/hw/net/e1000.c
/qemu/hw/net/e1000e.c
/qemu/hw/net/igb.c
/qemu/hw/net/igbvf.c
/qemu/hw/nvram/xlnx-bbram.c
/qemu/hw/nvram/xlnx-versal-efuse-ctrl.c
/qemu/hw/nvram/xlnx-zynqmp-efuse.c
/qemu/hw/pci-bridge/cxl_root_port.c
/qemu/hw/pci-bridge/pcie_root_port.c
/qemu/hw/pci-host/bonito.c
/qemu/hw/pci-host/pnv_phb.c
/qemu/hw/pci-host/pnv_phb3_msi.c
/qemu/hw/pci/pci.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_pci.c
/qemu/hw/rtc/mc146818rtc.c
/qemu/hw/s390x/css-bridge.c
/qemu/hw/s390x/s390-stattrib-kvm.c
/qemu/hw/s390x/s390-stattrib.c
/qemu/hw/sensor/adm1266.c
/qemu/hw/sensor/adm1272.c
/qemu/hw/sensor/isl_pmbus_vr.c
/qemu/hw/sensor/max31785.c
/qemu/hw/sensor/max34451.c
/qemu/hw/ssi/npcm7xx_fiu.c
/qemu/hw/timer/Kconfig
/qemu/hw/timer/etraxfs_timer.c
/qemu/hw/timer/meson.build
/qemu/hw/timer/npcm7xx_timer.c
/qemu/hw/usb/hcd-dwc2.c
/qemu/hw/usb/xlnx-versal-usb2-ctrl-regs.c
/qemu/hw/vfio/common.c
/qemu/hw/vfio/migration.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-pci.c
/qemu/include/disas/dis-asm.h
/qemu/include/exec/cpu-common.h
/qemu/include/exec/memory.h
/qemu/include/exec/poison.h
/qemu/include/exec/ram_addr.h
/qemu/include/exec/ramblock.h
/qemu/include/exec/user/abitypes.h
/qemu/include/hw/boards.h
/qemu/include/hw/intc/arm_gic_common.h
/qemu/include/hw/intc/arm_gicv3_common.h
/qemu/include/hw/resettable.h
/qemu/include/hw/s390x/storage-attributes.h
/qemu/include/migration/register.h
/qemu/include/monitor/hmp.h
/qemu/include/qapi/qmp/qerror.h
/qemu/include/sysemu/arch_init.h
/qemu/include/sysemu/hostmem.h
/qemu/include/sysemu/kvm.h
/qemu/include/sysemu/kvm_int.h
/qemu/linux-user/elfload.c
/qemu/linux-user/flat.h
/qemu/linux-user/flatload.c
/qemu/linux-user/ioctls.h
/qemu/linux-user/qemu.h
/qemu/linux-user/syscall.c
/qemu/linux-user/syscall_defs.h
/qemu/linux-user/syscall_types.h
/qemu/linux-user/uaccess.c
/qemu/meson.build
/qemu/meson_options.txt
/qemu/migration/block-dirty-bitmap.c
/qemu/migration/block.c
/qemu/migration/colo.c
/qemu/migration/dirtyrate.c
/qemu/migration/migration.c
/qemu/migration/multifd-zero-page.c
/qemu/migration/multifd-zlib.c
/qemu/migration/multifd-zstd.c
/qemu/migration/multifd.c
/qemu/migration/options.c
/qemu/migration/ram.c
/qemu/migration/ram.h
/qemu/migration/savevm.c
/qemu/migration/savevm.h
/qemu/monitor/qmp-cmds.c
/qemu/pythondeps.toml
/qemu/qapi/machine.json
/qemu/qapi/meson.build
/qemu/qapi/opts-visitor.c
/qemu/qapi/qapi-schema.json
/qemu/qapi/qobject-input-visitor.c
/qemu/qapi/qom.json
/qemu/qapi/string-input-visitor.c
/qemu/qemu-options.hx
/qemu/qom/object.c
/qemu/scripts/ci/org.centos/stream/8/x86_64/configure
/qemu/scripts/coccinelle/reset-type.cocci
/qemu/scripts/coverity-scan/COMPONENTS.md
/qemu/scripts/gensyscalls.sh
/qemu/scripts/meson-buildoptions.sh
/qemu/scripts/probe-gdb-support.py
/qemu/scripts/qapi/introspect.py
/qemu/scripts/qapi/mypy.ini
/qemu/scripts/qapi/parser.py
/qemu/scripts/qapi/pylintrc
/qemu/scripts/qapi/schema.py
/qemu/scripts/qapi/visit.py
/qemu/scripts/update-linux-headers.sh
/qemu/system/memory.c
/qemu/system/physmem.c
/qemu/system/qdev-monitor.c
/qemu/system/rtc.c
/qemu/target/Kconfig
/qemu/target/arm/cpu-features.h
/qemu/target/arm/cpu-qom.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/helper.c
/qemu/target/arm/internals.h
/qemu/target/arm/tcg/a64.decode
/qemu/target/arm/tcg/cpu64.c
/qemu/target/arm/tcg/helper-a64.c
/qemu/target/arm/tcg/helper-a64.h
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/avr/cpu.c
/qemu/target/cris/cpu.c
/qemu/target/hexagon/cpu.c
/qemu/target/i386/confidential-guest.c
/qemu/target/i386/confidential-guest.h
/qemu/target/i386/cpu.c
/qemu/target/i386/host-cpu.c
/qemu/target/i386/kvm/kvm.c
/qemu/target/i386/kvm/kvm_i386.h
/qemu/target/i386/meson.build
/qemu/target/i386/sev.c
/qemu/target/i386/tcg/translate.c
/qemu/target/loongarch/cpu.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/cpu.h
/qemu/target/m68k/m68k-semi.c
/qemu/target/m68k/op_helper.c
/qemu/target/m68k/translate.c
/qemu/target/meson.build
/qemu/target/microblaze/cpu.c
/qemu/target/mips/cpu.c
/qemu/target/openrisc/cpu.c
/qemu/target/ppc/cpu_init.c
cpu.c
/qemu/target/rx/cpu.c
/qemu/target/sh4/cpu.c
/qemu/target/sparc/cpu.c
/qemu/target/tricore/cpu.c
/qemu/target/xtensa/cpu.c
/qemu/tests/avocado/boot_linux_console.py
/qemu/tests/avocado/replay_kernel.py
/qemu/tests/docker/Makefile.include
/qemu/tests/qtest/machine-none-test.c
/qemu/tests/qtest/migration-helpers.c
/qemu/tests/qtest/migration-helpers.h
/qemu/tests/qtest/migration-test.c
/qemu/util/qemu-option.c
a99c0c6618-Mar-2024 Paolo Bonzini <pbonzini@redhat.com>

KVM: remove kvm_arch_cpu_check_are_resettable

Board reset requires writing a fresh CPU state. As far as KVM is
concerned, the only thing that blocks reset is that CPU state is
encrypted; therefore,

KVM: remove kvm_arch_cpu_check_are_resettable

Board reset requires writing a fresh CPU state. As far as KVM is
concerned, the only thing that blocks reset is that CPU state is
encrypted; therefore, kvm_cpus_are_resettable() can simply check
if that is the case.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/qemu/Makefile
/qemu/VERSION
/qemu/accel/kvm/kvm-accel-ops.c
/qemu/accel/kvm/kvm-all.c
/qemu/accel/tcg/translator.c
/qemu/backends/cryptodev-builtin.c
/qemu/configs/targets/aarch64-softmmu.mak
/qemu/configs/targets/i386-softmmu.mak
/qemu/configs/targets/ppc-softmmu.mak
/qemu/configs/targets/ppc64-softmmu.mak
/qemu/configs/targets/s390x-softmmu.mak
/qemu/configs/targets/x86_64-softmmu.mak
/qemu/ebpf/meson.build
/qemu/hw/arm/virt.c
/qemu/hw/audio/virtio-snd.c
/qemu/hw/block/nand.c
/qemu/hw/char/virtio-serial-bus.c
/qemu/hw/core/machine.c
/qemu/hw/core/meson.build
/qemu/hw/display/meson.build
/qemu/hw/display/ramfb-stubs.c
/qemu/hw/display/vga.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/i386/acpi-common.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/i386/x86.c
/qemu/hw/isa/vt82c686.c
/qemu/hw/m68k/virt.c
/qemu/hw/mem/memory-device-stubs.c
/qemu/hw/mem/meson.build
/qemu/hw/misc/applesmc.c
/qemu/hw/net/lan9118.c
/qemu/hw/net/net_tx_pkt.c
/qemu/hw/pci-host/ppc440_pcix.c
/qemu/hw/pci-host/q35.c
/qemu/hw/ppc/pef.c
/qemu/hw/ppc/spapr.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/sd/sdhci.c
/qemu/hw/usb/bus-stub.c
/qemu/hw/usb/dev-storage-classic.c
/qemu/hw/usb/meson.build
/qemu/hw/virtio/meson.build
/qemu/hw/virtio/virtio-crypto.c
/qemu/hw/virtio/virtio-md-stubs.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/virtio/virtio.c
/qemu/include/exec/confidential-guest-support.h
/qemu/include/exec/translator.h
/qemu/include/hw/boards.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/pci-host/q35.h
/qemu/include/hw/virtio/virtio.h
/qemu/include/qemu/config-file.h
/qemu/include/standard-headers/asm-x86/bootparam.h
/qemu/include/standard-headers/asm-x86/kvm_para.h
/qemu/include/standard-headers/asm-x86/setup_data.h
/qemu/include/standard-headers/linux/ethtool.h
/qemu/include/standard-headers/linux/fuse.h
/qemu/include/standard-headers/linux/input-event-codes.h
/qemu/include/standard-headers/linux/virtio_gpu.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/standard-headers/linux/virtio_snd.h
/qemu/include/sysemu/kvm.h
/qemu/include/sysemu/kvm_int.h
/qemu/include/sysemu/sysemu.h
/qemu/linux-headers/asm-arm64/kvm.h
/qemu/linux-headers/asm-arm64/sve_context.h
/qemu/linux-headers/asm-generic/bitsperlong.h
/qemu/linux-headers/asm-loongarch/kvm.h
/qemu/linux-headers/asm-mips/kvm.h
/qemu/linux-headers/asm-powerpc/kvm.h
/qemu/linux-headers/asm-riscv/kvm.h
/qemu/linux-headers/asm-s390/kvm.h
/qemu/linux-headers/asm-x86/kvm.h
/qemu/linux-headers/linux/bits.h
/qemu/linux-headers/linux/kvm.h
/qemu/linux-headers/linux/psp-sev.h
/qemu/linux-headers/linux/vhost.h
/qemu/linux-user/signal.c
/qemu/meson.build
/qemu/migration/colo-stubs.c
/qemu/migration/meson.build
/qemu/monitor/meson.build
/qemu/monitor/qemu-config-qmp.c
/qemu/net/colo-stubs.c
/qemu/net/meson.build
/qemu/pc-bios/edk2-aarch64-code.fd.bz2
/qemu/pc-bios/edk2-arm-code.fd.bz2
/qemu/pc-bios/edk2-i386-code.fd.bz2
/qemu/pc-bios/edk2-i386-secure-code.fd.bz2
/qemu/pc-bios/edk2-riscv-code.fd.bz2
/qemu/pc-bios/edk2-x86_64-code.fd.bz2
/qemu/pc-bios/edk2-x86_64-microvm.fd.bz2
/qemu/pc-bios/edk2-x86_64-secure-code.fd.bz2
/qemu/qemu-options.hx
/qemu/roms/Makefile
/qemu/roms/edk2-version
/qemu/scripts/update-linux-headers.sh
/qemu/semihosting/meson.build
/qemu/semihosting/stubs-all.c
/qemu/semihosting/stubs-system.c
/qemu/stubs/fdset.c
/qemu/stubs/hotplug-stubs.c
/qemu/stubs/meson.build
/qemu/stubs/monitor-core.c
/qemu/stubs/monitor-internal.c
/qemu/stubs/qdev.c
/qemu/stubs/qtest.c
/qemu/stubs/replay-mode.c
/qemu/stubs/replay.c
/qemu/system/runstate.c
/qemu/target/arm/kvm.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/kvm/kvm-cpu.c
/qemu/target/i386/kvm/kvm.c
/qemu/target/i386/kvm/meson.build
/qemu/target/i386/sev.c
/qemu/target/i386/sev.h
/qemu/target/loongarch/kvm/kvm.c
/qemu/target/mips/kvm.c
/qemu/target/ppc/kvm.c
kvm/kvm-cpu.c
/qemu/target/s390x/kvm/kvm.c
/qemu/target/s390x/kvm/pv.c
/qemu/target/s390x/kvm/pv.h
/qemu/target/s390x/tcg/translate.c
/qemu/target/sparc/helper.h
/qemu/target/sparc/ldst_helper.c
/qemu/target/sparc/translate.c
/qemu/tests/meson.build
/qemu/tests/unit/meson.build
/qemu/util/meson.build
/qemu/util/qemu-config.c
401aa60806-Apr-2024 Richard Henderson <richard.henderson@linaro.org>

target/riscv: Use insn_start from DisasContextBase

To keep the multiple update check, replace insn_start
with insn_start_updated.

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

target/riscv: Use insn_start from DisasContextBase

To keep the multiple update check, replace insn_start
with insn_start_updated.

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

show more ...


/qemu/.gitlab-ci.d/cirrus.yml
/qemu/.travis.yml
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/VERSION
/qemu/accel/kvm/kvm-all.c
/qemu/accel/tcg/plugin-gen.c
/qemu/accel/tcg/translate-all.c
/qemu/accel/tcg/translator.c
/qemu/block/block-backend.c
/qemu/block/io.c
/qemu/contrib/plugins/execlog.c
/qemu/disas/disas-mon.c
/qemu/disas/disas.c
/qemu/disas/nanomips.c
/qemu/docs/devel/atomics.rst
/qemu/docs/devel/ci-jobs.rst.inc
/qemu/docs/devel/clocks.rst
/qemu/docs/system/arm/sbsa.rst
/qemu/docs/system/device-emulation.rst
/qemu/docs/system/i386/sgx.rst
/qemu/docs/system/ppc/amigang.rst
/qemu/ebpf/ebpf_rss.c
/qemu/fpu/softfloat-specialize.c.inc
/qemu/gdbstub/internals.h
/qemu/gdbstub/system.c
/qemu/hmp-commands.hx
/qemu/hw/arm/aspeed.c
/qemu/hw/arm/aspeed_ast10x0.c
/qemu/hw/arm/aspeed_ast2600.c
/qemu/hw/arm/raspi4b.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/audio/virtio-snd.c
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/core/clock.c
/qemu/hw/display/vga.c
/qemu/hw/gpio/meson.build
/qemu/hw/gpio/pca9552.c
/qemu/hw/gpio/pca9554.c
/qemu/hw/gpio/trace-events
/qemu/hw/i386/kvm/xen_evtchn.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/intc/arm_gicv3_cpuif.c
/qemu/hw/microblaze/xlnx-zynqmp-pmu.c
/qemu/hw/misc/meson.build
/qemu/hw/misc/stm32l4x5_rcc.c
/qemu/hw/misc/trace-events
/qemu/hw/net/net_tx_pkt.c
/qemu/hw/net/vhost_net.c
/qemu/hw/net/virtio-net.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/nvram/mac_nvram.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_nested.c
/qemu/hw/scsi/esp.c
/qemu/hw/scsi/lsi53c895a.c
/qemu/hw/scsi/scsi-generic.c
/qemu/hw/smbios/smbios_legacy_stub.c
/qemu/hw/usb/dev-audio.c
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vdpa-dev.c
/qemu/hw/virtio/vhost-vdpa.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/virtio/virtio.c
/qemu/include/exec/translator.h
/qemu/include/hw/audio/virtio-snd.h
/qemu/include/hw/clock.h
/qemu/include/hw/gpio/pca9552.h
/qemu/include/hw/gpio/pca9552_regs.h
/qemu/include/hw/gpio/pca9554.h
/qemu/include/hw/gpio/pca9554_regs.h
/qemu/include/hw/virtio/virtio-pci.h
/qemu/include/hw/virtio/virtio.h
/qemu/include/net/vhost_net.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/tcg/tcg.h
/qemu/linux-user/main.c
/qemu/linux-user/mmap.c
/qemu/linux-user/strace.c
/qemu/linux-user/syscall.c
/qemu/migration/fd.c
/qemu/migration/fd.h
/qemu/migration/file.c
/qemu/migration/migration.c
/qemu/migration/multifd.c
/qemu/migration/savevm.c
/qemu/monitor/hmp-cmds-target.c
/qemu/net/af-xdp.c
/qemu/net/tap-win32.c
/qemu/net/tap.c
/qemu/plugins/loader.c
/qemu/qapi/block-core.json
/qemu/qapi/block.json
/qemu/qapi/control.json
/qemu/qapi/crypto.json
/qemu/qapi/cxl.json
/qemu/qapi/dump.json
/qemu/qapi/ebpf.json
/qemu/qapi/machine-target.json
/qemu/qapi/machine.json
/qemu/qapi/migration.json
/qemu/qapi/misc.json
/qemu/qapi/net.json
/qemu/qapi/pragma.json
/qemu/qapi/qom.json
/qemu/qapi/replay.json
/qemu/qapi/run-state.json
/qemu/qapi/sockets.json
/qemu/qapi/stats.json
/qemu/qapi/ui.json
/qemu/qapi/virtio.json
/qemu/qga/qapi-schema.json
/qemu/system/qdev-monitor.c
/qemu/target/arm/helper.c
/qemu/target/arm/hvf/hvf.c
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/arm/tcg/translate.c
/qemu/target/arm/tcg/translate.h
/qemu/target/hppa/cpu.h
/qemu/target/hppa/helper.h
/qemu/target/hppa/insns.decode
/qemu/target/hppa/int_helper.c
/qemu/target/hppa/sys_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/hvf/hvf.c
/qemu/target/i386/tcg/sysemu/excp_helper.c
/qemu/target/i386/tcg/translate.c
/qemu/target/loongarch/cpu.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/cpu.h
/qemu/target/m68k/fpu_helper.c
/qemu/target/m68k/helper.c
/qemu/target/m68k/helper.h
/qemu/target/m68k/translate.c
/qemu/target/microblaze/translate.c
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/gdbstub.c
/qemu/target/ppc/mmu-radix64.c
translate.c
/qemu/target/s390x/tcg/translate.c
/qemu/target/sh4/cpu.h
/qemu/target/sh4/helper.h
/qemu/target/sh4/op_helper.c
/qemu/target/sh4/translate.c
/qemu/target/tricore/helper.c
/qemu/tcg/optimize.c
/qemu/tcg/tcg.c
/qemu/tests/avocado/ppc_hv_tests.py
/qemu/tests/qemu-iotests/157
/qemu/tests/qemu-iotests/227
/qemu/tests/qemu-iotests/tests/stream-unaligned-prefetch
/qemu/tests/qemu-iotests/tests/stream-unaligned-prefetch.out
/qemu/tests/qtest/libqos/ahci.c
/qemu/tests/qtest/libqos/ahci.h
/qemu/tests/qtest/libqos/virtio.c
/qemu/tests/qtest/libqtest.c
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/npcm7xx_emc-test.c
/qemu/tests/qtest/pca9552-test.c
/qemu/tests/qtest/pnv-host-i2c-test.c
/qemu/tests/qtest/stm32l4x5_gpio-test.c
/qemu/tests/qtest/virtio-9p-test.c
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/test-2150.c
/qemu/tests/tcg/aarch64/test-2248.c
/qemu/tests/tcg/multiarch/linux/linux-shmat-null.c
/qemu/tests/tcg/s390x/Makefile.target
/qemu/tests/tcg/s390x/ts.c
/qemu/tests/tcg/sh4/Makefile.target
/qemu/tests/tcg/sh4/test-macl.c
/qemu/tests/tcg/sh4/test-macw.c
/qemu/tests/unit/socket-helpers.c
/qemu/tests/unit/test-throttle.c
/qemu/ui/cocoa.m
/qemu/util/qemu-coroutine.c
385e575c14-Mar-2024 Yong-Xuan Wang <yongxuan.wang@sifive.com>

target/riscv/kvm: fix timebase-frequency when using KVM acceleration

The timebase-frequency of guest OS should be the same with host
machine. The timebase-frequency value in DTS should be got from
h

target/riscv/kvm: fix timebase-frequency when using KVM acceleration

The timebase-frequency of guest OS should be the same with host
machine. The timebase-frequency value in DTS should be got from
hypervisor when using KVM acceleration.

Signed-off-by: Yong-Xuan Wang <yongxuan.wang@sifive.com>
Message-ID: <20240314061510.9800-1-yongxuan.wang@sifive.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

e06adebb20-Mar-2024 Irina Ryapolova <irina.ryapolova@syntacore.com>

target/riscv: Fix mode in riscv_tlb_fill

Need to convert mmu_idx to privilege mode for PMP function.

Signed-off-by: Irina Ryapolova <irina.ryapolova@syntacore.com>
Fixes: b297129ae1 ("target/riscv:

target/riscv: Fix mode in riscv_tlb_fill

Need to convert mmu_idx to privilege mode for PMP function.

Signed-off-by: Irina Ryapolova <irina.ryapolova@syntacore.com>
Fixes: b297129ae1 ("target/riscv: propagate PMP permission to TLB page")
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20240320172828.23965-1-irina.ryapolova@syntacore.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

c9b07fe121-Mar-2024 Max Chou <max.chou@sifive.com>

target/riscv: rvv: Remove the dependency of Zvfbfmin to Zfbfmin

According to the Zvfbfmin definition in the RISC-V BF16 extensions spec,
the Zvfbfmin extension only requires either the V extension o

target/riscv: rvv: Remove the dependency of Zvfbfmin to Zfbfmin

According to the Zvfbfmin definition in the RISC-V BF16 extensions spec,
the Zvfbfmin extension only requires either the V extension or the
Zve32f extension.

Signed-off-by: Max Chou <max.chou@sifive.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-ID: <20240321170929.1162507-1-max.chou@sifive.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

0a11629c14-Mar-2024 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

target/riscv/vector_helper.c: optimize loops in ldst helpers

Change the for loops in ldst helpers to do a single increment in the
counter, and assign it env->vstart, to avoid re-reading from vstart

target/riscv/vector_helper.c: optimize loops in ldst helpers

Change the for loops in ldst helpers to do a single increment in the
counter, and assign it env->vstart, to avoid re-reading from vstart
every time.

Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20240314175704.478276-11-dbarboza@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

bac802ad14-Mar-2024 Ivan Klokov <ivan.klokov@syntacore.com>

target/riscv: enable 'vstart_eq_zero' in the end of insns

The vstart_eq_zero flag is updated at the beginning of the translation
phase from the env->vstart variable. During the execution phase all
f

target/riscv: enable 'vstart_eq_zero' in the end of insns

The vstart_eq_zero flag is updated at the beginning of the translation
phase from the env->vstart variable. During the execution phase all
functions will set env->vstart = 0 after a successful execution, but the
vstart_eq_zero flag remains the same as at the start of the block. This
will wrongly cause SIGILLs in translations that requires env->vstart = 0
and might be reading vstart_eq_zero = false.

This patch adds a new finalize_rvv_inst() helper that is called at the
end of each vector instruction that will both update vstart_eq_zero and
do a mark_vs_dirty().

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1976
Signed-off-by: Ivan Klokov <ivan.klokov@syntacore.com>
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-ID: <20240314175704.478276-10-dbarboza@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

d57dfe4b14-Mar-2024 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

trans_rvv.c.inc: remove redundant mark_vs_dirty() calls

trans_vmv_v_i , trans_vfmv_v_f and the trans_##NAME macro from
GEN_VMV_WHOLE_TRANS() are calling mark_vs_dirty() in both branches of
their 'if

trans_rvv.c.inc: remove redundant mark_vs_dirty() calls

trans_vmv_v_i , trans_vfmv_v_f and the trans_##NAME macro from
GEN_VMV_WHOLE_TRANS() are calling mark_vs_dirty() in both branches of
their 'ifs'. conditionals.

Call it just once in the end like other functions are doing.

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240314175704.478276-9-dbarboza@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

b46631f114-Mar-2024 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

target/riscv: remove 'over' brconds from vector trans

All helpers that rely on vstart >= vl are now doing early exits using
the VSTART_CHECK_EARLY_EXIT() macro. This macro will not only exit the
hel

target/riscv: remove 'over' brconds from vector trans

All helpers that rely on vstart >= vl are now doing early exits using
the VSTART_CHECK_EARLY_EXIT() macro. This macro will not only exit the
helper but also clear vstart.

We're still left with brconds that are skipping the helper, which is the
only place where we're clearing vstart. The pattern goes like this:

tcg_gen_brcond_tl(TCG_COND_GEU, cpu_vstart, cpu_vl, over);
(... calls helper that clears vstart ...)
gen_set_label(over);
return true;

This means that every time we jump to 'over' we're not clearing vstart,
which is an oversight that we're doing across the board.

Instead of setting vstart = 0 manually after each 'over' jump, remove
those brconds that are skipping helpers. The exception will be
trans_vmv_s_x() and trans_vfmv_s_f(): they don't use a helper and are
already clearing vstart manually in the 'over' label.

While we're at it, remove the (vl == 0) brconds from trans_rvbf16.c.inc
too since they're unneeded.

Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-ID: <20240314175704.478276-8-dbarboza@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

df4252b214-Mar-2024 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

target/riscv/vector_helpers: do early exit when vstart >= vl

We're going to make changes that will required each helper to be
responsible for the 'vstart' management, i.e. we will relieve the
'vstar

target/riscv/vector_helpers: do early exit when vstart >= vl

We're going to make changes that will required each helper to be
responsible for the 'vstart' management, i.e. we will relieve the
'vstart < vl' assumption that helpers have today.

Helpers are usually able to deal with vstart >= vl, i.e. doing nothing
aside from setting vstart = 0 at the end, but the tail update functions
will update the tail regardless of vstart being valid or not. Unifying
the tail update process in a single function that would handle the
vstart >= vl case isn't trivial (see [1] for more info).

This patch takes a blunt approach: do an early exit in every single
vector helper if vstart >= vl, unless the helper is guarded with
vstart_eq_zero in the translation. For those cases the helper is ready
to deal with cases where vl might be zero, i.e. throwing exceptions
based on it like vcpop_m() and first_m().

Helpers that weren't changed:

- vcpop_m(), vfirst_m(), vmsetm(), GEN_VEXT_VIOTA_M(): these are guarded
directly with vstart_eq_zero;

- GEN_VEXT_VCOMPRESS_VM(): guarded with vcompress_vm_check() that checks
vstart_eq_zero;

- GEN_VEXT_RED(): guarded with either reduction_check() or
reduction_widen_check(), both check vstart_eq_zero;

- GEN_VEXT_FRED(): guarded with either freduction_check() or
freduction_widen_check(), both check vstart_eq_zero.

Another exception is vext_ldst_whole(), who operates on effective vector
length regardless of the current settings in vtype and vl.

[1] https://lore.kernel.org/qemu-riscv/1590234b-0291-432a-a0fa-c5a6876097bc@linux.alibaba.com/

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-ID: <20240314175704.478276-7-dbarboza@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

929e521a14-Mar-2024 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

target/riscv: always clear vstart for ldst_whole insns

Commit 8ff8ac6329 added a conditional to guard the vext_ldst_whole()
helper if vstart >= evl. But by skipping the helper we're also not
setting

target/riscv: always clear vstart for ldst_whole insns

Commit 8ff8ac6329 added a conditional to guard the vext_ldst_whole()
helper if vstart >= evl. But by skipping the helper we're also not
setting vstart = 0 at the end of the insns, which is incorrect.

We'll move the conditional to vext_ldst_whole(), following in line with
the removal of all brconds vstart >= vl that the next patch will do. The
idea is to make the helpers responsible for their own vstart management.

Fix ldst_whole isns by:

- remove the brcond that skips the helper if vstart is >= evl;

- vext_ldst_whole() now does an early exit with the same check, where
evl = (vlenb * nf) >> log2_esz, but the early exit will also clear
vstart.

The 'width' param is now unneeded in ldst_whole_trans() and is also
removed. It was used for the evl calculation for the brcond and has no
other use now. The 'width' is reflected in vext_ldst_whole() via
log2_esz, which is encoded by GEN_VEXT_LD_WHOLE() as
"ctzl(sizeof(ETYPE))".

Suggested-by: Max Chou <max.chou@sifive.com>
Fixes: 8ff8ac6329 ("target/riscv: rvv: Add missing early exit condition for whole register load/store")
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Max Chou <max.chou@sifive.com>
Message-ID: <20240314175704.478276-6-dbarboza@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

7e53e3dd14-Mar-2024 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

target/riscv: always clear vstart in whole vec move insns

These insns have 2 paths: we'll either have vstart already cleared if
vstart_eq_zero or we'll do a brcond to check if vstart >= maxsz to cal

target/riscv: always clear vstart in whole vec move insns

These insns have 2 paths: we'll either have vstart already cleared if
vstart_eq_zero or we'll do a brcond to check if vstart >= maxsz to call
the 'vmvr_v' helper. The helper will clear vstart if it executes until
the end, or if vstart >= vl.

For starters, the check itself is wrong: we're checking vstart >= maxsz,
when in fact we should use vstart in bytes, or 'startb' like 'vmvr_v' is
calling, to do the comparison. But even after fixing the comparison we'll
still need to clear vstart in the end, which isn't happening too.

We want to make the helpers responsible to manage vstart, including
these corner cases, precisely to avoid these situations:

- remove the wrong vstart >= maxsz cond from the translation;
- add a 'startb >= maxsz' cond in 'vmvr_v', and clear vstart if that
happens.

This way we're now sure that vstart is being cleared in the end of the
execution, regardless of the path taken.

Fixes: f714361ed7 ("target/riscv: rvv-1.0: implement vstart CSR")
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20240314175704.478276-5-dbarboza@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

768e7b3214-Mar-2024 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

target/riscv/vector_helper.c: fix 'vmvr_v' memcpy endianess

vmvr_v isn't handling the case where the host might be big endian and
the bytes to be copied aren't sequential.

Suggested-by: Richard Hen

target/riscv/vector_helper.c: fix 'vmvr_v' memcpy endianess

vmvr_v isn't handling the case where the host might be big endian and
the bytes to be copied aren't sequential.

Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Fixes: f714361ed7 ("target/riscv: rvv-1.0: implement vstart CSR")
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20240314175704.478276-4-dbarboza@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

0848f7c114-Mar-2024 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

trans_rvv.c.inc: set vstart = 0 in int scalar move insns

trans_vmv_x_s, trans_vmv_s_x, trans_vfmv_f_s and trans_vfmv_s_f aren't
setting vstart = 0 after execution. This is usually done by a helper i

trans_rvv.c.inc: set vstart = 0 in int scalar move insns

trans_vmv_x_s, trans_vmv_s_x, trans_vfmv_f_s and trans_vfmv_s_f aren't
setting vstart = 0 after execution. This is usually done by a helper in
vector_helper.c but these functions don't use helpers.

We'll set vstart after any potential 'over' brconds, and that will also
mandate a mark_vs_dirty() too.

Fixes: dedc53cbc9 ("target/riscv: rvv-1.0: integer scalar move instructions")
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-ID: <20240314175704.478276-3-dbarboza@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

d3646e3114-Mar-2024 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

target/riscv/vector_helper.c: set vstart = 0 in GEN_VEXT_VSLIDEUP_VX()

The helper isn't setting env->vstart = 0 after its execution, as it is
expected from every vector instruction that completes su

target/riscv/vector_helper.c: set vstart = 0 in GEN_VEXT_VSLIDEUP_VX()

The helper isn't setting env->vstart = 0 after its execution, as it is
expected from every vector instruction that completes successfully.

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Message-ID: <20240314175704.478276-2-dbarboza@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

68c9e54b12-Mar-2024 Daniel Henrique Barboza <dbarboza@ventanamicro.com>

target/riscv: do not enable all named features by default

Commit 3b8022269c added the capability of named features/profile
extensions to be added in riscv,isa. To do that we had to assign priv
versi

target/riscv: do not enable all named features by default

Commit 3b8022269c added the capability of named features/profile
extensions to be added in riscv,isa. To do that we had to assign priv
versions for each one of them in isa_edata_arr[]. But this resulted in a
side-effect: vendor CPUs that aren't running priv_version_latest started
to experience warnings for these profile extensions [1]:

| $ qemu-system-riscv32 -M sifive_e
| qemu-system-riscv32: warning: disabling zic64b extension for hart
0x00000000 because privilege spec version does not match
| qemu-system-riscv32: warning: disabling ziccamoa extension for
hart 0x00000000 because privilege spec version does not match

This is benign as far as the CPU behavior is concerned since disabling
both extensions is a no-op (aside from riscv,isa). But the warnings are
unpleasant to deal with, especially because we're sending user warnings
for extensions that users can't enable/disable.

Instead of enabling all named features all the time, separate them by
priv version. During finalize() time, after we decided which
priv_version the CPU is running, enable/disable all the named extensions
based on the priv spec chosen. This will be enough for a bug fix, but as
a future work we should look into how we can name these extensions in a
way that we don't need an explicit ext_name => priv_ver as we're doing
here.

The named extensions being added in isa_edata_arr[] that will be
enabled/disabled based solely on priv version can be removed from
riscv_cpu_named_features[]. 'zic64b' is an extension that can be
disabled based on block sizes so it'll retain its own flag and entry.

[1] https://lists.gnu.org/archive/html/qemu-devel/2024-03/msg02592.html

Reported-by: Clément Chigot <chigot@adacore.com>
Fixes: 3b8022269c ("target/riscv: add riscv,isa to named features")
Suggested-by: Andrew Jones <ajones@ventanamicro.com>
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Tested-by: Clément Chigot <chigot@adacore.com>
Message-ID: <20240312203214.350980-1-dbarboza@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...


/qemu/.gitlab-ci.d/base.yml
/qemu/.gitlab-ci.d/buildtest-template.yml
/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/custom-runners.yml
/qemu/.gitlab-ci.d/windows.yml
/qemu/.travis.yml
/qemu/MAINTAINERS
/qemu/VERSION
/qemu/block/mirror.c
/qemu/block/qapi.c
/qemu/blockdev.c
/qemu/bsd-user/main.c
/qemu/bsd-user/signal.c
/qemu/chardev/char-io.c
/qemu/chardev/char-socket.c
/qemu/contrib/plugins/howvec.c
/qemu/crypto/cipher-gcrypt.c.inc
/qemu/docs/about/deprecated.rst
/qemu/docs/devel/migration/CPR.rst
/qemu/docs/devel/migration/features.rst
/qemu/docs/devel/nested-papr.txt
/qemu/docs/devel/tracing.rst
/qemu/docs/interop/vhost-user.rst
/qemu/docs/specs/pvpanic.rst
/qemu/docs/system/device-emulation.rst
/qemu/docs/system/devices/nvme.rst
/qemu/docs/system/devices/vdpa-net.rst
/qemu/docs/system/introduction.rst
/qemu/docs/system/ppc/amigang.rst
/qemu/docs/system/s390x/cpu-topology.rst
/qemu/docs/system/target-ppc.rst
/qemu/gdbstub/gdbstub.c
/qemu/gdbstub/internals.h
/qemu/gdbstub/user.c
/qemu/hw/acpi/acpi_generic_initiator.c
/qemu/hw/acpi/hmat.c
/qemu/hw/acpi/meson.build
/qemu/hw/arm/virt-acpi-build.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xlnx-versal-virt.c
/qemu/hw/audio/virtio-snd.c
/qemu/hw/block/m25p80.c
/qemu/hw/core/machine.c
/qemu/hw/core/numa.c
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/cxl/cxl-component-utils.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/i386/Kconfig
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/fw_cfg.c
/qemu/hw/i386/fw_cfg.h
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/i386/pc_sysfw.c
/qemu/hw/intc/loongarch_extioi.c
/qemu/hw/loongarch/virt.c
/qemu/hw/net/igb.c
/qemu/hw/net/virtio-net.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/nvme/meson.build
/qemu/hw/nvme/nguid.c
/qemu/hw/nvme/ns.c
/qemu/hw/nvme/nvme.h
/qemu/hw/pci-bridge/pci_expander_bridge.c
/qemu/hw/pci/pci.c
/qemu/hw/pci/pcie.c
/qemu/hw/pci/pcie_sriov.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_core.c
/qemu/hw/ppc/pnv_i2c.c
/qemu/hw/ppc/ppc.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_caps.c
/qemu/hw/ppc/spapr_cpu_core.c
/qemu/hw/ppc/spapr_hcall.c
/qemu/hw/ppc/spapr_nested.c
/qemu/hw/riscv/virt.c
/qemu/hw/smbios/Kconfig
/qemu/hw/smbios/meson.build
/qemu/hw/smbios/smbios.c
/qemu/hw/smbios/smbios_legacy.c
/qemu/hw/smbios/smbios_legacy_stub.c
/qemu/hw/ssi/aspeed_smc.c
/qemu/hw/vfio/iommufd.c
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vhost-user.c
/qemu/hw/virtio/vhost-vdpa.c
/qemu/hw/virtio/virtio-iommu.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/virtio/virtio.c
/qemu/hw/xen/xen-mapcache.c
/qemu/hw/xen/xen_pt_config_init.c
/qemu/include/exec/exec-all.h
/qemu/include/exec/ram_addr.h
/qemu/include/gdbstub/user.h
/qemu/include/hw/acpi/acpi_generic_initiator.h
/qemu/include/hw/audio/virtio-snd.h
/qemu/include/hw/block/flash.h
/qemu/include/hw/cxl/cxl_component.h
/qemu/include/hw/cxl/cxl_pci.h
/qemu/include/hw/firmware/smbios.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/pci/pcie_regs.h
/qemu/include/hw/pci/pcie_sriov.h
/qemu/include/hw/ppc/pnv_chip.h
/qemu/include/hw/ppc/pnv_core.h
/qemu/include/hw/ppc/spapr.h
/qemu/include/hw/ppc/spapr_nested.h
/qemu/include/hw/virtio/vhost-vdpa.h
/qemu/include/hw/virtio/virtio-gpu.h
/qemu/include/hw/virtio/virtio-iommu.h
/qemu/include/hw/virtio/virtio-pci.h
/qemu/include/hw/virtio/virtio.h
/qemu/include/io/channel-file.h
/qemu/include/qemu/job.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/sysemu/numa.h
/qemu/include/ui/console.h
/qemu/include/ui/kbd-state.h
/qemu/io/channel-file.c
/qemu/linux-user/aarch64/signal.c
/qemu/linux-user/alpha/signal.c
/qemu/linux-user/arm/signal.c
/qemu/linux-user/elfload.c
/qemu/linux-user/hexagon/signal.c
/qemu/linux-user/hppa/signal.c
/qemu/linux-user/i386/signal.c
/qemu/linux-user/ioctls.h
/qemu/linux-user/loongarch64/signal.c
/qemu/linux-user/m68k/signal.c
/qemu/linux-user/main.c
/qemu/linux-user/microblaze/signal.c
/qemu/linux-user/mips/signal.c
/qemu/linux-user/nios2/signal.c
/qemu/linux-user/openrisc/signal.c
/qemu/linux-user/ppc/signal.c
/qemu/linux-user/riscv/signal.c
/qemu/linux-user/s390x/signal.c
/qemu/linux-user/sh4/signal.c
/qemu/linux-user/signal-common.h
/qemu/linux-user/signal.c
/qemu/linux-user/sparc/signal.c
/qemu/linux-user/syscall.c
/qemu/linux-user/syscall_defs.h
/qemu/linux-user/xtensa/signal.c
/qemu/meson.build
/qemu/migration/block.c
/qemu/migration/fd.c
/qemu/migration/file.c
/qemu/migration/file.h
/qemu/migration/migration.c
/qemu/nbd/server.c
/qemu/net/trace-events
/qemu/net/vhost-vdpa.c
/qemu/pc-bios/edk2-aarch64-code.fd.bz2
/qemu/pc-bios/edk2-arm-code.fd.bz2
/qemu/pc-bios/edk2-i386-secure-code.fd.bz2
/qemu/pc-bios/edk2-riscv-code.fd.bz2
/qemu/qapi/common.json
/qemu/qapi/machine.json
/qemu/qapi/qom.json
/qemu/qemu-options.hx
/qemu/roms/Makefile
/qemu/roms/edk2-build.config
/qemu/scripts/tracetool.py
/qemu/subprojects/libvhost-user/libvhost-user.c
/qemu/subprojects/libvhost-user/libvhost-user.h
/qemu/system/physmem.c
/qemu/system/qemu-seccomp.c
/qemu/system/vl.c
/qemu/target/hppa/insns.decode
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/op_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/helper.c
/qemu/target/loongarch/cpu-csr.h
/qemu/target/loongarch/internals.h
/qemu/target/loongarch/tcg/insn_trans/trans_atomic.c.inc
/qemu/target/loongarch/tcg/tlb_helper.c
/qemu/target/ppc/cpu-models.c
/qemu/target/ppc/cpu.h
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/gdbstub.c
/qemu/target/ppc/helper_regs.c
/qemu/target/ppc/insn32.decode
/qemu/target/ppc/kvm.c
/qemu/target/ppc/misc_helper.c
/qemu/target/ppc/translate.c
/qemu/target/ppc/translate/fixedpoint-impl.c.inc
cpu.c
cpu_cfg.h
tcg/tcg-cpu.c
/qemu/target/s390x/cpu_models.c
/qemu/target/sparc/cpu.c
/qemu/tcg/aarch64/tcg-target.c.inc
/qemu/tests/avocado/machine_aarch64_sbsaref.py
/qemu/tests/data/acpi/q35/SSDT.dimmpxm
/qemu/tests/data/smbios/type11_blob
/qemu/tests/data/smbios/type11_blob.legacy
/qemu/tests/qemu-iotests/033
/qemu/tests/qemu-iotests/066
/qemu/tests/qemu-iotests/114
/qemu/tests/qemu-iotests/130
/qemu/tests/qemu-iotests/134
/qemu/tests/qemu-iotests/156
/qemu/tests/qemu-iotests/158
/qemu/tests/qemu-iotests/176.out
/qemu/tests/qemu-iotests/188
/qemu/tests/qemu-iotests/189
/qemu/tests/qemu-iotests/198
/qemu/tests/qemu-iotests/198.out
/qemu/tests/qemu-iotests/206.out
/qemu/tests/qemu-iotests/261
/qemu/tests/qemu-iotests/263
/qemu/tests/qemu-iotests/267.out
/qemu/tests/qemu-iotests/284
/qemu/tests/qemu-iotests/286
/qemu/tests/qemu-iotests/286.out
/qemu/tests/qemu-iotests/tests/detect-zeroes-registered-buf
/qemu/tests/qemu-iotests/tests/iothreads-nbd-export
/qemu/tests/qemu-iotests/tests/iothreads-nbd-export.out
/qemu/tests/qemu-iotests/tests/qcow2-internal-snapshots
/qemu/tests/qemu-iotests/tests/qcow2-internal-snapshots.out
/qemu/tests/qemu-iotests/tests/qsd-jobs
/qemu/tests/qtest/bios-tables-test.c
/qemu/tests/qtest/virtio-iommu-test.c
/qemu/tests/tcg/multiarch/Makefile.target
/qemu/tests/tcg/multiarch/gdbstub/test-qxfer-siginfo-read.py
/qemu/tests/tcg/multiarch/segfault.c
/qemu/tests/unit/meson.build
/qemu/tests/unit/test-crypto-cipher.c
/qemu/tests/vm/basevm.py
/qemu/ui/cocoa.m
/qemu/ui/console-priv.h
/qemu/ui/console-vc-stubs.c
/qemu/ui/console-vc.c
/qemu/ui/console.c
/qemu/ui/curses.c
/qemu/ui/dbus-listener.c
/qemu/ui/kbd-state.c
/qemu/ui/meson.build
/qemu/ui/trace-events
/qemu/ui/vnc.c
/qemu/util/qemu-coroutine.c
8934643a05-Mar-2024 Markus Armbruster <armbru@redhat.com>

target: Improve error reporting for CpuModelInfo member @props

query-cpu-model-comparison, query-cpu-model-baseline, and
query-cpu-model-expansion take CpuModelInfo arguments. Errors in
@props memb

target: Improve error reporting for CpuModelInfo member @props

query-cpu-model-comparison, query-cpu-model-baseline, and
query-cpu-model-expansion take CpuModelInfo arguments. Errors in
@props members of these arguments are reported for 'props', without
further context. For instance, s390x rejects

{"execute": "query-cpu-model-comparison", "arguments": {"modela": {"name": "z13", "props": {}}, "modelb": {"name": "z14", "props": []}}}

with

{"error": {"class": "GenericError", "desc": "Invalid parameter type for 'props', expected: object"}}

This is unusual; the common QAPI unmarshaling machinery would complain
about 'modelb.props'. Our hand-written code to visit the @props
member neglects to provide the context.

Tweak it so it provides it. The command above now fails with

{"error": {"class": "GenericError", "desc": "Invalid parameter type for 'modelb.props', expected: dict"}}

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240305145919.2186971-4-armbru@redhat.com>
Acked-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>

show more ...

ef6783d305-Mar-2024 Markus Armbruster <armbru@redhat.com>

target: Simplify type checks for CpuModelInfo member @props

CpuModelInfo member @props is semantically a mapping from name to
value, and syntactically a JSON object on the wire. This translates
to

target: Simplify type checks for CpuModelInfo member @props

CpuModelInfo member @props is semantically a mapping from name to
value, and syntactically a JSON object on the wire. This translates
to QDict in C. Since the QAPI schema language lacks the means to
express 'object', we use 'any' instead. This is QObject in C.
Commands taking a CpuModelInfo argument need to check the QObject is a
QDict.

For arm, riscv, and s390x, the code checks right before passing the
QObject to visit_start_struct(). visit_start_struct() then checks
again.

Delete the first check.

The error message for @props that are not an object changes slightly
to the the message we get for this kind of type error in other
contexts. Minor improvement.

Additionally, error messages about members of @props now refer to
'props.prop-name' instead of just 'prop-name'. Another minor
improvement.

Both changes are visible in tests/qtest/arm-cpu-features.c.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240305145919.2186971-2-armbru@redhat.com>
Acked-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
[Drop #include now superfluous]

show more ...


/qemu/.gitlab-ci.d/base.yml
/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/opensbi.yml
/qemu/MAINTAINERS
/qemu/accel/xen/xen-all.c
/qemu/blockdev.c
/qemu/chardev/char-fe.c
/qemu/configs/devices/mips-softmmu/common.mak
/qemu/configs/devices/mips64el-softmmu/default.mak
/qemu/docs/about/deprecated.rst
/qemu/docs/about/removed-features.rst
/qemu/docs/devel/acpi-bits.rst
/qemu/docs/interop/firmware.json
/qemu/docs/system/arm/b-l475e-iot01a.rst
/qemu/docs/system/arm/emulation.rst
/qemu/hmp-commands-info.hx
/qemu/hw/arm/Kconfig
/qemu/hw/arm/stm32l4x5_soc.c
/qemu/hw/arm/xen_arm.c
/qemu/hw/char/xen_console.c
/qemu/hw/core/machine-smp.c
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/cxl/cxl-cdat.c
/qemu/hw/display/Kconfig
/qemu/hw/gpio/Kconfig
/qemu/hw/gpio/meson.build
/qemu/hw/gpio/stm32l4x5_gpio.c
/qemu/hw/gpio/trace-events
/qemu/hw/hyperv/hv-balloon.c
/qemu/hw/hyperv/hyperv.c
/qemu/hw/hyperv/vmbus.c
/qemu/hw/i386/meson.build
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/vapic.c
/qemu/hw/i386/xen/meson.build
/qemu/hw/i386/xen/xen-hvm.c
/qemu/hw/intc/apic.c
/qemu/hw/intc/grlib_irqmp.c
/qemu/hw/m68k/mcf5208.c
/qemu/hw/m68k/virt.c
/qemu/hw/mem/cxl_type3.c
/qemu/hw/mips/Kconfig
/qemu/hw/misc/stm32l4x5_syscfg.c
/qemu/hw/net/xen_nic.c
/qemu/hw/pci-bridge/cxl_upstream.c
/qemu/hw/pci/msi.c
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/remote/remote-obj.c
/qemu/hw/riscv/virt-acpi-build.c
/qemu/hw/rtc/sun4v-rtc.c
/qemu/hw/scsi/lsi53c895a.c
/qemu/hw/scsi/trace-events
/qemu/hw/vfio/common.c
/qemu/hw/vfio/container.c
/qemu/hw/vfio/cpr.c
/qemu/hw/vfio/iommufd.c
/qemu/hw/vfio/meson.build
/qemu/hw/vfio/migration.c
/qemu/hw/vfio/pci.c
/qemu/hw/xen/xen-hvm-common.c
/qemu/hw/xen/xen_pt.c
/qemu/hw/xen/xen_pt.h
/qemu/hw/xen/xen_pt_config_init.c
/qemu/hw/xen/xen_pt_graphics.c
/qemu/hw/xen/xen_pt_stub.c
/qemu/include/hw/arm/stm32l4x5_soc.h
/qemu/include/hw/cxl/cxl_cdat.h
/qemu/include/hw/gpio/stm32l4x5_gpio.h
/qemu/include/hw/hyperv/dynmem-proto.h
/qemu/include/hw/hyperv/hyperv.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/misc/stm32l4x5_syscfg.h
/qemu/include/hw/qdev-properties-system.h
/qemu/include/hw/rtc/sun4v-rtc.h
/qemu/include/hw/vfio/vfio-common.h
/qemu/include/hw/vfio/vfio-container-base.h
/qemu/include/hw/xen/xen-hvm-common.h
/qemu/include/hw/xen/xen_igd.h
/qemu/include/qapi/qmp/qerror.h
/qemu/include/sysemu/xen-mapcache.h
/qemu/include/sysemu/xen.h
/qemu/meson.build
/qemu/qapi/ui.json
/qemu/qapi/virtio.json
/qemu/qga/commands-win32.c
/qemu/replay/replay.c
/qemu/scripts/coverity-scan/run-coverity-scan
/qemu/scripts/make-release
/qemu/stubs/xen-hw-stub.c
/qemu/system/physmem.c
/qemu/system/qdev-monitor.c
/qemu/system/vl.c
/qemu/target/arm/arm-qmp-cmds.c
/qemu/target/arm/cpu-features.h
/qemu/target/arm/cpu.h
/qemu/target/arm/helper.c
/qemu/target/arm/internals.h
/qemu/target/arm/meson.build
/qemu/target/arm/tcg/cpu-v7m.c
/qemu/target/arm/tcg/cpu32.c
/qemu/target/arm/tcg/cpu64.c
/qemu/target/arm/tcg/meson.build
/qemu/target/arm/tcg/sme_helper.c
/qemu/target/arm/trace-events
/qemu/target/i386/kvm/hyperv-stub.c
/qemu/target/i386/kvm/hyperv.c
/qemu/target/i386/kvm/hyperv.h
/qemu/target/i386/kvm/kvm.c
/qemu/target/i386/sev.c
riscv-qmp-cmds.c
/qemu/target/s390x/cpu_models_sysemu.c
/qemu/tests/qtest/arm-cpu-features.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/stm32l4x5_gpio-test.c
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/sme-smopa-1.c
/qemu/tests/tcg/aarch64/sme-smopa-2.c
/qemu/tests/unit/test-smp-parse.c
/qemu/ui/cocoa.m
/qemu/util/oslib-posix.c
348802b529-Jan-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target: Replace CPU_GET_CLASS(cpu -> obj) in cpu_reset_hold() handler

Since CPU() macro is a simple cast, the following are equivalent:

Object *obj;
CPUState *cs = CPU(obj)

In order to ease st

target: Replace CPU_GET_CLASS(cpu -> obj) in cpu_reset_hold() handler

Since CPU() macro is a simple cast, the following are equivalent:

Object *obj;
CPUState *cs = CPU(obj)

In order to ease static analysis when running
scripts/coccinelle/cpu_env.cocci from the previous commit,
replace:

- CPU_GET_CLASS(cpu);
+ CPU_GET_CLASS(obj);

Most code use the 'cs' variable name for CPUState handle.
Replace few 's' -> 'cs' to unify cpu_reset_hold() style.

No logical change in this patch.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20240129164514.73104-7-philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...


/qemu/.gitlab-ci.d/base.yml
/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/opensbi.yml
/qemu/MAINTAINERS
/qemu/accel/tcg/cpu-exec.c
/qemu/accel/xen/xen-all.c
/qemu/backends/iommufd.c
/qemu/block.c
/qemu/block/copy-before-write.c
/qemu/block/nbd.c
/qemu/block/nvme.c
/qemu/block/qapi.c
/qemu/block/qcow2-bitmap.c
/qemu/block/qcow2.c
/qemu/block/qed.c
/qemu/block/snapshot.c
/qemu/block/vdi.c
/qemu/block/vmdk.c
/qemu/blockdev.c
/qemu/chardev/char-fe.c
/qemu/configs/devices/mips-softmmu/common.mak
/qemu/configs/devices/mips64el-softmmu/default.mak
/qemu/docs/about/deprecated.rst
/qemu/docs/about/removed-features.rst
/qemu/docs/devel/acpi-bits.rst
/qemu/docs/interop/firmware.json
/qemu/docs/system/arm/b-l475e-iot01a.rst
/qemu/docs/system/arm/emulation.rst
/qemu/hmp-commands-info.hx
/qemu/hw/arm/Kconfig
/qemu/hw/arm/stm32l4x5_soc.c
/qemu/hw/arm/xen_arm.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/char/xen_console.c
/qemu/hw/core/machine-smp.c
/qemu/hw/core/machine.c
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/cxl/cxl-cdat.c
/qemu/hw/cxl/cxl-host.c
/qemu/hw/display/Kconfig
/qemu/hw/display/ati.c
/qemu/hw/display/macfb.c
/qemu/hw/gpio/Kconfig
/qemu/hw/gpio/meson.build
/qemu/hw/gpio/stm32l4x5_gpio.c
/qemu/hw/gpio/trace-events
/qemu/hw/hyperv/hv-balloon.c
/qemu/hw/hyperv/hyperv.c
/qemu/hw/hyperv/vmbus.c
/qemu/hw/i386/meson.build
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/vapic.c
/qemu/hw/i386/x86.c
/qemu/hw/i386/xen/meson.build
/qemu/hw/i386/xen/xen-hvm.c
/qemu/hw/intc/apic.c
/qemu/hw/intc/grlib_irqmp.c
/qemu/hw/intc/ioapic_common.c
/qemu/hw/loongarch/virt.c
/qemu/hw/m68k/mcf5208.c
/qemu/hw/mem/cxl_type3.c
/qemu/hw/mips/Kconfig
/qemu/hw/misc/macio/pmu.c
/qemu/hw/misc/pvpanic-pci.c
/qemu/hw/misc/stm32l4x5_syscfg.c
/qemu/hw/misc/xlnx-versal-trng.c
/qemu/hw/net/xen_nic.c
/qemu/hw/pci-bridge/cxl_root_port.c
/qemu/hw/pci-bridge/cxl_upstream.c
/qemu/hw/pci/msi.c
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/spapr.c
/qemu/hw/remote/remote-obj.c
/qemu/hw/riscv/virt-acpi-build.c
/qemu/hw/rtc/sun4v-rtc.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/scsi/lsi53c895a.c
/qemu/hw/scsi/trace-events
/qemu/hw/scsi/vhost-scsi.c
/qemu/hw/vfio/ap.c
/qemu/hw/vfio/container.c
/qemu/hw/vfio/helpers.c
/qemu/hw/vfio/iommufd.c
/qemu/hw/vfio/pci-quirks.c
/qemu/hw/vfio/pci.c
/qemu/hw/vfio/platform.c
/qemu/hw/virtio/vhost-user-scmi.c
/qemu/hw/virtio/vhost-vsock.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/xen/xen-hvm-common.c
/qemu/hw/xen/xen_pt.c
/qemu/hw/xen/xen_pt.h
/qemu/hw/xen/xen_pt_config_init.c
/qemu/hw/xen/xen_pt_graphics.c
/qemu/hw/xen/xen_pt_stub.c
/qemu/include/hw/arm/stm32l4x5_soc.h
/qemu/include/hw/boards.h
/qemu/include/hw/cxl/cxl_cdat.h
/qemu/include/hw/gpio/stm32l4x5_gpio.h
/qemu/include/hw/hyperv/dynmem-proto.h
/qemu/include/hw/hyperv/hyperv.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/misc/stm32l4x5_syscfg.h
/qemu/include/hw/qdev-properties-system.h
/qemu/include/hw/rtc/sun4v-rtc.h
/qemu/include/hw/xen/xen-hvm-common.h
/qemu/include/hw/xen/xen_igd.h
/qemu/include/qapi/error.h
/qemu/include/qapi/qmp/qerror.h
/qemu/include/sysemu/xen-mapcache.h
/qemu/include/sysemu/xen.h
/qemu/linux-user/i386/cpu_loop.c
/qemu/meson.build
/qemu/migration/multifd-zlib.c
/qemu/migration/options.c
/qemu/migration/postcopy-ram.c
/qemu/net/vhost-vdpa.c
/qemu/qapi/ui.json
/qemu/qapi/virtio.json
/qemu/replay/replay.c
/qemu/scripts/coverity-scan/run-coverity-scan
/qemu/scripts/make-release
/qemu/stubs/xen-hw-stub.c
/qemu/system/physmem.c
/qemu/system/qdev-monitor.c
/qemu/system/vl.c
/qemu/target/arm/cpu-features.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/helper.c
/qemu/target/arm/internals.h
/qemu/target/arm/kvm.c
/qemu/target/arm/machine.c
/qemu/target/arm/meson.build
/qemu/target/arm/tcg/cpu-v7m.c
/qemu/target/arm/tcg/cpu32.c
/qemu/target/arm/tcg/cpu64.c
/qemu/target/arm/tcg/meson.build
/qemu/target/arm/tcg/sme_helper.c
/qemu/target/arm/trace-events
/qemu/target/avr/cpu.c
/qemu/target/cris/cpu.c
/qemu/target/hexagon/cpu.c
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/cpu.c
/qemu/target/i386/hvf/x86hvf.c
/qemu/target/i386/kvm/hyperv-stub.c
/qemu/target/i386/kvm/hyperv.c
/qemu/target/i386/kvm/hyperv.h
/qemu/target/i386/kvm/kvm.c
/qemu/target/i386/nvmm/nvmm-all.c
/qemu/target/i386/sev.c
/qemu/target/i386/whpx/whpx-all.c
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/tcg/translate.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/helper.c
/qemu/target/microblaze/cpu.c
/qemu/target/mips/cpu.c
/qemu/target/nios2/cpu.c
/qemu/target/openrisc/cpu.c
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/kvm.c
cpu.c
/qemu/target/rx/cpu.c
/qemu/target/rx/translate.c
/qemu/target/s390x/cpu_models.c
/qemu/target/sh4/cpu.c
/qemu/target/sh4/op_helper.c
/qemu/target/sparc/cpu.c
/qemu/target/tricore/cpu.c
/qemu/target/xtensa/cpu.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/stm32l4x5_gpio-test.c
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/sme-smopa-1.c
/qemu/tests/tcg/aarch64/sme-smopa-2.c
/qemu/tests/unit/test-smp-parse.c
/qemu/ui/cocoa.m
/qemu/util/oslib-posix.c
aeaafb1e11-Mar-2024 Steve Sistare <steven.sistare@oracle.com>

migration: export migration_is_running

Delete the MigrationState parameter from migration_is_running and move
it to the public API in misc.h.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com

migration: export migration_is_running

Delete the MigrationState parameter from migration_is_running and move
it to the public API in misc.h.

Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Link: https://lore.kernel.org/r/1710179338-294359-5-git-send-email-steven.sistare@oracle.com
Signed-off-by: Peter Xu <peterx@redhat.com>

show more ...


/qemu/.gitlab-ci.d/base.yml
/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/opensbi.yml
/qemu/MAINTAINERS
/qemu/accel/xen/xen-all.c
/qemu/blockdev.c
/qemu/chardev/char-fe.c
/qemu/configs/devices/mips-softmmu/common.mak
/qemu/configs/devices/mips64el-softmmu/default.mak
/qemu/docs/about/deprecated.rst
/qemu/docs/about/removed-features.rst
/qemu/docs/devel/acpi-bits.rst
/qemu/docs/devel/migration/main.rst
/qemu/docs/interop/firmware.json
/qemu/docs/system/arm/b-l475e-iot01a.rst
/qemu/docs/system/arm/emulation.rst
/qemu/hmp-commands-info.hx
/qemu/hw/arm/Kconfig
/qemu/hw/arm/stm32l4x5_soc.c
/qemu/hw/arm/xen_arm.c
/qemu/hw/char/xen_console.c
/qemu/hw/core/machine-smp.c
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/cxl/cxl-cdat.c
/qemu/hw/display/Kconfig
/qemu/hw/gpio/Kconfig
/qemu/hw/gpio/meson.build
/qemu/hw/gpio/stm32l4x5_gpio.c
/qemu/hw/gpio/trace-events
/qemu/hw/hyperv/hv-balloon.c
/qemu/hw/hyperv/hyperv.c
/qemu/hw/hyperv/vmbus.c
/qemu/hw/i386/meson.build
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/vapic.c
/qemu/hw/i386/xen/meson.build
/qemu/hw/i386/xen/xen-hvm.c
/qemu/hw/intc/apic.c
/qemu/hw/intc/grlib_irqmp.c
/qemu/hw/m68k/mcf5208.c
/qemu/hw/mem/cxl_type3.c
/qemu/hw/mips/Kconfig
/qemu/hw/misc/stm32l4x5_syscfg.c
/qemu/hw/net/xen_nic.c
/qemu/hw/pci-bridge/cxl_upstream.c
/qemu/hw/pci/msi.c
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/remote/remote-obj.c
/qemu/hw/riscv/virt-acpi-build.c
/qemu/hw/rtc/sun4v-rtc.c
/qemu/hw/scsi/lsi53c895a.c
/qemu/hw/scsi/trace-events
/qemu/hw/vfio/common.c
/qemu/hw/vfio/container.c
/qemu/hw/vfio/migration.c
/qemu/hw/vfio/pci.c
/qemu/hw/virtio/vhost-user.c
/qemu/hw/virtio/virtio-balloon.c
/qemu/hw/xen/xen-hvm-common.c
/qemu/hw/xen/xen_pt.c
/qemu/hw/xen/xen_pt.h
/qemu/hw/xen/xen_pt_config_init.c
/qemu/hw/xen/xen_pt_graphics.c
/qemu/hw/xen/xen_pt_stub.c
/qemu/include/hw/arm/stm32l4x5_soc.h
/qemu/include/hw/cxl/cxl_cdat.h
/qemu/include/hw/gpio/stm32l4x5_gpio.h
/qemu/include/hw/hyperv/dynmem-proto.h
/qemu/include/hw/hyperv/hyperv.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/misc/stm32l4x5_syscfg.h
/qemu/include/hw/qdev-properties-system.h
/qemu/include/hw/rtc/sun4v-rtc.h
/qemu/include/hw/xen/xen-hvm-common.h
/qemu/include/hw/xen/xen_igd.h
/qemu/include/migration/client-options.h
/qemu/include/migration/misc.h
/qemu/include/migration/register.h
/qemu/include/qapi/qmp/qerror.h
/qemu/include/qemu/typedefs.h
/qemu/include/sysemu/xen-mapcache.h
/qemu/include/sysemu/xen.h
/qemu/io/channel-file.c
/qemu/meson.build
/qemu/migration/file.c
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/multifd.c
/qemu/migration/options.c
/qemu/migration/options.h
/qemu/migration/qemu-file.c
/qemu/migration/ram.c
/qemu/migration/rdma.c
/qemu/migration/savevm.c
/qemu/net/vhost-vdpa.c
/qemu/qapi/ui.json
/qemu/qapi/virtio.json
/qemu/replay/replay.c
/qemu/scripts/coverity-scan/run-coverity-scan
/qemu/scripts/make-release
/qemu/stubs/xen-hw-stub.c
/qemu/system/dirtylimit.c
/qemu/system/physmem.c
/qemu/system/qdev-monitor.c
/qemu/system/vl.c
/qemu/target/arm/cpu-features.h
/qemu/target/arm/cpu.h
/qemu/target/arm/helper.c
/qemu/target/arm/internals.h
/qemu/target/arm/meson.build
/qemu/target/arm/tcg/cpu-v7m.c
/qemu/target/arm/tcg/cpu32.c
/qemu/target/arm/tcg/cpu64.c
/qemu/target/arm/tcg/meson.build
/qemu/target/arm/tcg/sme_helper.c
/qemu/target/arm/trace-events
/qemu/target/i386/kvm/hyperv-stub.c
/qemu/target/i386/kvm/hyperv.c
/qemu/target/i386/kvm/hyperv.h
/qemu/target/i386/kvm/kvm.c
/qemu/target/i386/sev.c
/qemu/target/loongarch/kvm/kvm.c
kvm/kvm-cpu.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/stm32l4x5_gpio-test.c
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/sme-smopa-1.c
/qemu/tests/tcg/aarch64/sme-smopa-2.c
/qemu/tests/unit/test-smp-parse.c
/qemu/tests/unit/test-vmstate.c
/qemu/ui/cocoa.m
/qemu/util/oslib-posix.c
6979b7b328-Feb-2024 Hiroaki Yamamoto <hrak1529@gmail.com>

target/riscv: Fix privilege mode of G-stage translation for debugging

G-stage translation should be considered to be user-level access in
riscv_cpu_get_phys_page_debug(), as already done in riscv_cp

target/riscv: Fix privilege mode of G-stage translation for debugging

G-stage translation should be considered to be user-level access in
riscv_cpu_get_phys_page_debug(), as already done in riscv_cpu_tlb_fill().

This fixes a bug that prevents gdb from reading memory while the VM is
running in VS-mode.

Signed-off-by: Hiroaki Yamamoto <hrak1529@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-ID: <20240228081028.35081-1-hrak1529@gmail.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

938dd05e25-Feb-2024 demin.han <demin.han@starfivetech.com>

target/riscv: Fix shift count overflow

The result of (8 - 3 - vlmul) is negative when vlmul >= 6,
and results in wrong vill.

Signed-off-by: demin.han <demin.han@starfivetech.com>
Reviewed-by: Danie

target/riscv: Fix shift count overflow

The result of (8 - 3 - vlmul) is negative when vlmul >= 6,
and results in wrong vill.

Signed-off-by: demin.han <demin.han@starfivetech.com>
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Message-ID: <20240225174114.5298-1-demin.han@starfivetech.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

show more ...

12345678910>>...63