All of lore.kernel.org
 help / color / mirror / Atom feed
* [PULL 00/40] riscv-to-apply queue
@ 2026-07-10  2:54 alistair23
  2026-07-10  2:54 ` [PULL 01/40] hw/riscv/riscv-iommu.c: fix fault type for spa_fetch() faults alistair23
                   ` (41 more replies)
  0 siblings, 42 replies; 50+ messages in thread
From: alistair23 @ 2026-07-10  2:54 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alistair Francis

From: Alistair Francis <alistair.francis@wdc.com>

The following changes since commit f893c46c3931b3684d235d221bf8b7844ddbf1d7:

  Merge tag 'qemu-openbios-20260707' of https://github.com/mcayland/qemu into staging (2026-07-08 16:01:29 +0200)

are available in the Git repository at:

  https://github.com/alistair23/qemu.git tags/pull-riscv-to-apply-20260710

for you to fetch changes up to ec7d32428757d5813935cbe099449f6201980d80:

  tests: update SPCR loongarch64 and riscv64 test data (2026-07-09 16:21:52 +1000)

----------------------------------------------------------------
RISC-V PR for 11.1

* Fix IOMMU fault type for spa_fetch() faults
* Check IOMMU for reserved PTE bits
* Fault when IOMMU !PTE_U and no priv access
* Fault IOMMU for non-user PTE in G_STAGE
* Check IOMMU reserved MSI PTE basic bits
* Record fault on IOMMU-generated MSI write
* Move RISC-V TCG files and fix --disable-tcg
* Check for misaligned IOMMU IOHGATP_PPN
* Update IOMMU ioval2 when faulting in spa_fetch()
* Forbid IOMMU GATE/SADE if caps.AMO_HWADD is zero
* Set IOMMU ftype and iova in riscv_iommu_ctx()
* Check PCIe DOE mailbox length for overflows
* Add extensions after v7.1-rc4 update
* Remove job building OpenSBI firmware binaries
* Correct ACPI field sequence in SPCR table

----------------------------------------------------------------
Alistair Francis (1):
      hw/pci/pcie_doe: Check mailbox length for overflows

Bin Meng (1):
      gitlab-ci: Remove job building OpenSBI firmware binaries

Daniel Henrique Barboza (32):
      hw/riscv/riscv-iommu.c: fix fault type for spa_fetch() faults
      hw/riscv/riscv-iommu.c: check for reserved PTE bits
      hw/riscv/riscv-iommu.c: fault when !PTE_U and no priv access
      hw/riscv/riscv-iommu.c: fault for non-user PTE in G_STAGE
      hw/riscv/riscv-iommu.c: check reserved MSI PTE basic bits
      hw/riscv/riscv-iommu-sys.c: record fault on IOMMU-generated MSI write
      target/riscv: move valid_vm_* satp arrays to cpu.c
      hw/riscv, target/riscv: move pmu fdt function to fdt-common.c
      target/riscv: move TCG only files to tcg subdir
      target/riscv/machine.c: do not migrate pmp state with kvm
      target/riscv: move pmp files to tcg subdir
      target/riscv: tidy up riscv_sysemu_ops
      target/riscv: move debug.h to tcg subdir
      target/riscv: remove csr.h from kvm-cpu.c
      target/riscv: move csr.h to tcg subdir
      target/riscv: move custom_csrs logic to tcg-cpu.c
      target/riscv: move riscv_cpu_set_nmi() to tcg-cpu.c
      target/riscv: move some irq helpers to cpu.c
      target/riscv: move riscv_cpu_claim_interrupts to cpu.c
      target/riscv/cpu.c: handle TCG bits of riscv_cpu_dump_state
      target/riscv: gate riscv_cpu_update_mip with tcg_enabled()
      target/riscv/cpu.c: filter TCG only bits in riscv_cpu_reset_hold()
      hw/riscv/riscv_hart.c isolate tcg only bits
      target/riscv/gdbstub.c: isolate TCG only checks
      target/riscv: move riscv_cpu_set_rdtime_fn to riscv_aclint
      target/riscv/tcg: remove unused riscv_cpu_get_geilen()
      target/riscv: move riscv_cpu_set_geilen() to riscv-imsic
      target/riscv: move riscv_cpu_set_aia_ireg_rmw_cb() to riscv_imsic
      hw/riscv/riscv-iommu.c: check for misaligned IOHGATP_PPN
      hw/riscv/riscv-iommu.c: update ioval2 when faulting in spa_fetch()
      hw/riscv/riscv-iommu: forbid GATE/SADE if caps.AMO_HWADD is zero
      hw/riscv/riscv-iommu.c: set ftype and iova in riscv_iommu_ctx()

Heinrich Schuchardt (3):
      tests: allow differences in SPCR
      hw/acpi: correct field sequence in SPCR table
      tests: update SPCR loongarch64 and riscv64 test data

Wang Yechao (1):
      target/riscv/kvm: add extensions after v7.1-rc4 update

Zephyr Li (2):
      target/riscv: Remove unused tcg/tcg.h include
      gitlab-ci.d/crossbuilds: add riscv64 KVM-only build job

 MAINTAINERS                                        |   2 -
 hw/riscv/riscv-iommu-bits.h                        |   1 +
 hw/riscv/riscv-iommu.h                             |   1 +
 include/hw/riscv/fdt-common.h                      |   1 +
 target/riscv/cpu.h                                 |  24 +-
 target/riscv/{ => tcg}/csr.h                       |   6 +-
 target/riscv/{ => tcg}/debug.h                     |   0
 target/riscv/{ => tcg}/pmp.h                       |   0
 target/riscv/{ => tcg}/pmu.h                       |   0
 target/riscv/{ => tcg}/vector_internals.h          |   0
 tests/qtest/libqos/qos-riscv-iommu.h               |   4 +-
 hw/acpi/aml-build.c                                |   4 +-
 hw/intc/riscv_aclint.c                             |   8 +
 hw/intc/riscv_imsic.c                              |  24 ++
 hw/pci/pcie_doe.c                                  |  27 +-
 hw/riscv/fdt-common.c                              |  52 ++++
 hw/riscv/riscv-iommu-sys.c                         |  16 +-
 hw/riscv/riscv-iommu.c                             | 117 +++++++-
 hw/riscv/riscv_hart.c                              |   8 +-
 hw/riscv/tt_atlantis.c                             |   1 -
 hw/riscv/virt.c                                    |   1 -
 target/riscv/cpu.c                                 | 318 ++++++++++++++++++---
 target/riscv/gdbstub.c                             |  10 +-
 target/riscv/kvm/kvm-cpu.c                         |   4 +-
 target/riscv/machine.c                             |  15 +-
 target/riscv/monitor.c                             |   4 +-
 target/riscv/riscv-qmp-cmds.c                      |   2 +-
 target/riscv/{ => tcg}/bitmanip_helper.c           |   0
 target/riscv/{ => tcg}/cpu_helper.c                | 253 +---------------
 target/riscv/{ => tcg}/crypto_helper.c             |   0
 target/riscv/{ => tcg}/csr.c                       |  45 +--
 target/riscv/{ => tcg}/debug.c                     |   2 +-
 target/riscv/{ => tcg}/fpu_helper.c                |   0
 target/riscv/{ => tcg}/m128_helper.c               |   0
 target/riscv/{ => tcg}/mips_csr.c                  |   2 +-
 target/riscv/{ => tcg}/op_helper.c                 |   2 +-
 target/riscv/{ => tcg}/pmp.c                       |   2 +-
 target/riscv/{ => tcg}/pmu.c                       |  52 ----
 target/riscv/tcg/tcg-cpu.c                         |  30 +-
 target/riscv/{ => tcg}/th_csr.c                    |   2 +-
 target/riscv/{ => tcg}/translate.c                 |   0
 target/riscv/{ => tcg}/vcrypto_helper.c            |   0
 target/riscv/{ => tcg}/vector_helper.c             |   0
 target/riscv/{ => tcg}/vector_internals.c          |   0
 target/riscv/{ => tcg}/zce_helper.c                |   0
 target/riscv/time_helper.c                         |  33 ++-
 .../{ => tcg}/insn_trans/trans_privileged.c.inc    |   0
 target/riscv/{ => tcg}/insn_trans/trans_rva.c.inc  |   0
 target/riscv/{ => tcg}/insn_trans/trans_rvb.c.inc  |   0
 .../riscv/{ => tcg}/insn_trans/trans_rvbf16.c.inc  |   0
 target/riscv/{ => tcg}/insn_trans/trans_rvd.c.inc  |   0
 target/riscv/{ => tcg}/insn_trans/trans_rvf.c.inc  |   0
 target/riscv/{ => tcg}/insn_trans/trans_rvh.c.inc  |   0
 target/riscv/{ => tcg}/insn_trans/trans_rvi.c.inc  |   0
 target/riscv/{ => tcg}/insn_trans/trans_rvk.c.inc  |   0
 target/riscv/{ => tcg}/insn_trans/trans_rvm.c.inc  |   0
 target/riscv/{ => tcg}/insn_trans/trans_rvv.c.inc  |   0
 target/riscv/{ => tcg}/insn_trans/trans_rvvk.c.inc |   0
 .../riscv/{ => tcg}/insn_trans/trans_rvzabha.c.inc |   0
 .../riscv/{ => tcg}/insn_trans/trans_rvzacas.c.inc |   0
 .../{ => tcg}/insn_trans/trans_rvzalasr.c.inc      |   0
 .../riscv/{ => tcg}/insn_trans/trans_rvzawrs.c.inc |   0
 .../riscv/{ => tcg}/insn_trans/trans_rvzce.c.inc   |   0
 .../riscv/{ => tcg}/insn_trans/trans_rvzcmop.c.inc |   0
 .../riscv/{ => tcg}/insn_trans/trans_rvzfa.c.inc   |   0
 .../riscv/{ => tcg}/insn_trans/trans_rvzfh.c.inc   |   0
 .../riscv/{ => tcg}/insn_trans/trans_rvzicbo.c.inc |   0
 .../{ => tcg}/insn_trans/trans_rvzicfiss.c.inc     |   0
 .../{ => tcg}/insn_trans/trans_rvzicond.c.inc      |   0
 .../riscv/{ => tcg}/insn_trans/trans_rvzimop.c.inc |   0
 .../riscv/{ => tcg}/insn_trans/trans_svinval.c.inc |   0
 .../riscv/{ => tcg}/insn_trans/trans_xlrbr.c.inc   |   0
 .../riscv/{ => tcg}/insn_trans/trans_xmips.c.inc   |   0
 .../riscv/{ => tcg}/insn_trans/trans_xthead.c.inc  |   0
 .../insn_trans/trans_xventanacondops.c.inc         |   0
 .../riscv/{ => tcg}/insn_trans/trans_zilsd.c.inc   |   0
 .gitlab-ci.d/crossbuilds.yml                       |   8 +
 .gitlab-ci.d/opensbi.yml                           |  88 ------
 .gitlab-ci.d/opensbi/Dockerfile                    |  34 ---
 .gitlab-ci.d/qemu-project.yml                      |   1 -
 target/riscv/meson.build                           |  17 --
 target/riscv/tcg/meson.build                       |  31 +-
 tests/data/acpi/loongarch64/virt/SPCR              | Bin 80 -> 80 bytes
 tests/data/acpi/riscv64/virt/SPCR                  | Bin 90 -> 90 bytes
 84 files changed, 666 insertions(+), 586 deletions(-)
 rename target/riscv/{ => tcg}/csr.h (96%)
 rename target/riscv/{ => tcg}/debug.h (100%)
 rename target/riscv/{ => tcg}/pmp.h (100%)
 rename target/riscv/{ => tcg}/pmu.h (100%)
 rename target/riscv/{ => tcg}/vector_internals.h (100%)
 rename target/riscv/{ => tcg}/bitmanip_helper.c (100%)
 rename target/riscv/{ => tcg}/cpu_helper.c (92%)
 rename target/riscv/{ => tcg}/crypto_helper.c (100%)
 rename target/riscv/{ => tcg}/csr.c (99%)
 rename target/riscv/{ => tcg}/debug.c (99%)
 rename target/riscv/{ => tcg}/fpu_helper.c (100%)
 rename target/riscv/{ => tcg}/m128_helper.c (100%)
 rename target/riscv/{ => tcg}/mips_csr.c (99%)
 rename target/riscv/{ => tcg}/op_helper.c (99%)
 rename target/riscv/{ => tcg}/pmp.c (99%)
 rename target/riscv/{ => tcg}/pmu.c (86%)
 rename target/riscv/{ => tcg}/th_csr.c (99%)
 rename target/riscv/{ => tcg}/translate.c (100%)
 rename target/riscv/{ => tcg}/vcrypto_helper.c (100%)
 rename target/riscv/{ => tcg}/vector_helper.c (100%)
 rename target/riscv/{ => tcg}/vector_internals.c (100%)
 rename target/riscv/{ => tcg}/zce_helper.c (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_privileged.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rva.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvb.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvbf16.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvd.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvf.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvh.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvi.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvk.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvm.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvv.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvvk.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvzabha.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvzacas.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvzalasr.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvzawrs.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvzce.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvzcmop.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvzfa.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvzfh.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvzicbo.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvzicfiss.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvzicond.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_rvzimop.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_svinval.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_xlrbr.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_xmips.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_xthead.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_xventanacondops.c.inc (100%)
 rename target/riscv/{ => tcg}/insn_trans/trans_zilsd.c.inc (100%)
 delete mode 100644 .gitlab-ci.d/opensbi.yml
 delete mode 100644 .gitlab-ci.d/opensbi/Dockerfile


^ permalink raw reply	[flat|nested] 50+ messages in thread
* [PULL 00/40] riscv-to-apply queue
@ 2025-07-04 11:11 alistair23
  2025-07-04 17:50 ` Stefan Hajnoczi
  0 siblings, 1 reply; 50+ messages in thread
From: alistair23 @ 2025-07-04 11:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: alistair23, Alistair Francis

From: Alistair Francis <alistair.francis@wdc.com>

The following changes since commit c77283dd5d79149f4e7e9edd00f65416c648ee59:

  Merge tag 'pull-request-2025-07-02' of https://gitlab.com/thuth/qemu into staging (2025-07-03 06:01:41 -0400)

are available in the Git repository at:

  https://github.com/alistair23/qemu.git tags/pull-riscv-to-apply-20250704

for you to fetch changes up to dc8bffc4eb0a93d3266cea1b17f8848dea5b915c:

  target: riscv: Add Svrsw60t59b extension support (2025-07-04 21:09:49 +1000)

----------------------------------------------------------------
Second RISC-V PR for 10.1

* sstc extension fixes
* Fix zama16b order in isa_edata_arr
* Profile handling fixes
* Extend PMP region up to 64
* Remove capital 'Z' CPU properties
* Add missing named features
* Support atomic instruction fetch (Ziccif)
* Add max_satp_mode from host cpu
* Extend and configure PMP region count
* Fix PPN field of Translation-reponse register
* Use qemu_chr_fe_write_all() in DBCN_CONSOLE_WRITE_BYTE
* Fix fcvt.s.bf16 NaN box checking
* Avoid infinite delay of async xmit function
* Device tree reg cleanups
* Add Kunminghu CPU and platform
* Fix missing exit TB flow for ldff_trans
* Fix migration failure when aia is configured as aplic-imsic
* Fix MEPC/SEPC bit masking for IALIGN
* Add a property to set vill bit on reserved usage of vsetvli instruction
* Add Svrsw60t59b extension support

----------------------------------------------------------------
Alexandre Ghiti (1):
      target: riscv: Add Svrsw60t59b extension support

Anton Blanchard (1):
      target/riscv: Fix fcvt.s.bf16 NaN box checking

Charalampos Mitrodimas (2):
      target/riscv: Fix MEPC/SEPC bit masking for IALIGN
      tests/tcg/riscv64: Add test for MEPC bit masking

Daniel Henrique Barboza (9):
      target/riscv/cpu.c: fix zama16b order in isa_edata_arr[]
      target/riscv/tcg: restrict satp_mode changes in cpu_set_profile
      target/riscv/tcg: decouple profile enablement from user prop
      target/riscv: add profile->present flag
      target/riscv: remove capital 'Z' CPU properties
      target/riscv/cpu.c: add 'sdtrig' in riscv,isa
      target/riscv/cpu.c: add 'ssstrict' to riscv, isa
      target/riscv/cpu.c: do better with 'named features' doc
      target/riscv: use qemu_chr_fe_write_all() in DBCN_CONSOLE_WRITE_BYTE

Florian Lugou (1):
      hw/char: sifive_uart: Avoid infinite delay of async xmit function

Huang Borong (2):
      target/riscv: Add BOSC's Xiangshan Kunminghu CPU
      hw/riscv: Initial support for BOSC's Xiangshan Kunminghu FPGA prototype

Jay Chang (2):
      target/riscv: Extend PMP region up to 64
      target/riscv: Make PMP region count configurable

Jim Shu (5):
      target/riscv: Add the checking into stimecmp write function.
      hw/intc: riscv_aclint: Fix mtime write for sstc extension
      target/riscv: Fix VSTIP bit in sstc extension.
      target/riscv: Enable/Disable S/VS-mode Timer when STCE bit is changed
      target/riscv: support atomic instruction fetch (Ziccif)

Joel Stanley (12):
      hw/riscv/virt: Fix clint base address type
      hw/riscv/virt: Use setprop_sized_cells for clint
      hw/riscv/virt: Use setprop_sized_cells for memory
      hw/riscv/virt: Use setprop_sized_cells for aplic
      hw/riscv/virt: Use setprop_sized_cells for aclint
      hw/riscv/virt: Use setprop_sized_cells for plic
      hw/riscv/virt: Use setprop_sized_cells for virtio
      hw/riscv/virt: Use setprop_sized_cells for reset
      hw/riscv/virt: Use setprop_sized_cells for uart
      hw/riscv/virt: Use setprop_sized_cells for rtc
      hw/riscv/virt: Use setprop_sized_cells for iommu
      hw/riscv/virt: Use setprop_sized_cells for pcie

Max Chou (1):
      target/riscv: rvv: Fix missing exit TB flow for ldff_trans

Meng Zhuo (1):
      target/riscv/kvm: add max_satp_mode from host cpu

Nutty Liu (1):
      hw/riscv/riscv-iommu: Fix PPN field of Translation-reponse register

Vasilis Liaskovitis (1):
      target/riscv: Add a property to set vill bit on reserved usage of vsetvli instruction

liu.xuemei1@zte.com.cn (1):
      migration: Fix migration failure when aia is configured as aplic-imsic

 MAINTAINERS                                 |   7 +
 docs/system/riscv/xiangshan-kunminghu.rst   |  39 +++++
 docs/system/target-riscv.rst                |   1 +
 configs/devices/riscv64-softmmu/default.mak |   1 +
 hw/riscv/riscv-iommu-bits.h                 |   1 +
 include/hw/riscv/xiangshan_kmh.h            |  68 +++++++++
 target/riscv/cpu-qom.h                      |   1 +
 target/riscv/cpu.h                          |  19 ++-
 target/riscv/cpu_bits.h                     |  63 +++++++-
 target/riscv/helper.h                       |   2 +-
 target/riscv/internals.h                    |  27 ++++
 target/riscv/time_helper.h                  |   1 +
 target/riscv/cpu_cfg_fields.h.inc           |   3 +
 hw/char/sifive_uart.c                       |   6 +-
 hw/intc/riscv_aclint.c                      |   5 +
 hw/intc/riscv_aplic.c                       |  12 +-
 hw/intc/riscv_imsic.c                       |  10 +-
 hw/riscv/riscv-iommu.c                      |   9 +-
 hw/riscv/virt.c                             |  66 ++++-----
 hw/riscv/xiangshan_kmh.c                    | 220 ++++++++++++++++++++++++++++
 target/riscv/cpu.c                          | 144 +++++++++++++++---
 target/riscv/cpu_helper.c                   |   3 +-
 target/riscv/csr.c                          | 192 +++++++++++++++++++++++-
 target/riscv/fpu_helper.c                   |   2 +-
 target/riscv/kvm/kvm-cpu.c                  |  18 ++-
 target/riscv/machine.c                      |   3 +-
 target/riscv/op_helper.c                    |   4 +-
 target/riscv/pmp.c                          |  28 ++--
 target/riscv/riscv-qmp-cmds.c               |   2 +-
 target/riscv/tcg/tcg-cpu.c                  | 186 +++++++++++------------
 target/riscv/time_helper.c                  |  65 +++++++-
 target/riscv/translate.c                    |  46 ++++--
 target/riscv/vector_helper.c                |  12 +-
 target/riscv/insn_trans/trans_rvv.c.inc     |  10 +-
 hw/riscv/Kconfig                            |   9 ++
 hw/riscv/meson.build                        |   1 +
 tests/data/acpi/riscv64/virt/RHCT           | Bin 400 -> 416 bytes
 tests/tcg/riscv64/Makefile.softmmu-target   |   4 +
 tests/tcg/riscv64/test-mepc-masking.S       |  73 +++++++++
 39 files changed, 1151 insertions(+), 212 deletions(-)
 create mode 100644 docs/system/riscv/xiangshan-kunminghu.rst
 create mode 100644 include/hw/riscv/xiangshan_kmh.h
 create mode 100644 hw/riscv/xiangshan_kmh.c
 create mode 100644 tests/tcg/riscv64/test-mepc-masking.S


^ permalink raw reply	[flat|nested] 50+ messages in thread
* [PULL 00/40] riscv-to-apply queue
@ 2022-02-11 23:59 Alistair Francis
  2022-02-15 11:39 ` Peter Maydell
  0 siblings, 1 reply; 50+ messages in thread
From: Alistair Francis @ 2022-02-11 23:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: alistair23, Alistair Francis

From: Alistair Francis <alistair.francis@wdc.com>

The following changes since commit 0a301624c2f4ced3331ffd5bce85b4274fe132af:

  Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20220208' into staging (2022-02-08 11:40:08 +0000)

are available in the Git repository at:

  git@github.com:alistair23/qemu.git tags/pull-riscv-to-apply-20220212

for you to fetch changes up to 31d69b66ed89fa0f66d4e5a15e9664c92c3ed8f8:

  docs/system: riscv: Update description of CPU (2022-02-11 18:31:29 +1000)

----------------------------------------------------------------
Fourth RISC-V PR for QEMU 7.0

 * Remove old Ibex PLIC header file
 * Allow writing 8 bytes with generic loader
 * Fixes for RV128
 * Refactor RISC-V CPU configs
 * Initial support for XVentanaCondOps custom extension
 * Fix for vill field in vtype
 * Fix trap cause for RV32 HS-mode CSR access from RV64 HS-mode
 * RISC-V AIA support for virt machine
 * Support for svnapot, svinval and svpbmt extensions

----------------------------------------------------------------
Anup Patel (23):
      target/riscv: Fix trap cause for RV32 HS-mode CSR access from RV64 HS-mode
      target/riscv: Implement SGEIP bit in hip and hie CSRs
      target/riscv: Implement hgeie and hgeip CSRs
      target/riscv: Improve delivery of guest external interrupts
      target/riscv: Allow setting CPU feature from machine/device emulation
      target/riscv: Add AIA cpu feature
      target/riscv: Add defines for AIA CSRs
      target/riscv: Allow AIA device emulation to set ireg rmw callback
      target/riscv: Implement AIA local interrupt priorities
      target/riscv: Implement AIA CSRs for 64 local interrupts on RV32
      target/riscv: Implement AIA hvictl and hviprioX CSRs
      target/riscv: Implement AIA interrupt filtering CSRs
      target/riscv: Implement AIA mtopi, stopi, and vstopi CSRs
      target/riscv: Implement AIA xiselect and xireg CSRs
      target/riscv: Implement AIA IMSIC interface CSRs
      hw/riscv: virt: Use AIA INTC compatible string when available
      target/riscv: Allow users to force enable AIA CSRs in HART
      hw/intc: Add RISC-V AIA APLIC device emulation
      hw/riscv: virt: Add optional AIA APLIC support to virt machine
      hw/intc: Add RISC-V AIA IMSIC device emulation
      hw/riscv: virt: Add optional AIA IMSIC support to virt machine
      docs/system: riscv: Document AIA options for virt machine
      hw/riscv: virt: Increase maximum number of allowed CPUs

Frédéric Pétrot (1):
      target/riscv: correct "code should not be reached" for x-rv128

Guo Ren (1):
      target/riscv: Ignore reserved bits in PTE for RV64

LIU Zhiwei (1):
      target/riscv: Fix vill field write in vtype

Petr Tesarik (1):
      Allow setting up to 8 bytes with the generic loader

Philipp Tomsich (7):
      target/riscv: refactor (anonymous struct) RISCVCPU.cfg into 'struct RISCVCPUConfig'
      target/riscv: riscv_tr_init_disas_context: copy pointer-to-cfg into cfg_ptr
      target/riscv: access configuration through cfg_ptr in DisasContext
      target/riscv: access cfg structure through DisasContext
      target/riscv: iterate over a table of decoders
      target/riscv: Add XVentanaCondOps custom extension
      target/riscv: add a MAINTAINERS entry for XVentanaCondOps

Weiwei Li (4):
      target/riscv: add PTE_A/PTE_D/PTE_U bits check for inner PTE
      target/riscv: add support for svnapot extension
      target/riscv: add support for svinval extension
      target/riscv: add support for svpbmt extension

Wilfred Mallawa (1):
      include: hw: remove ibex_plic.h

Yu Li (1):
      docs/system: riscv: Update description of CPU

 docs/system/riscv/virt.rst                         |   22 +-
 include/hw/intc/ibex_plic.h                        |   67 -
 include/hw/intc/riscv_aplic.h                      |   79 ++
 include/hw/intc/riscv_imsic.h                      |   68 ++
 include/hw/riscv/virt.h                            |   41 +-
 target/riscv/cpu.h                                 |  169 ++-
 target/riscv/cpu_bits.h                            |  129 ++
 target/riscv/XVentanaCondOps.decode                |   25 +
 target/riscv/insn32.decode                         |    7 +
 hw/core/generic-loader.c                           |    2 +-
 hw/intc/riscv_aplic.c                              |  978 +++++++++++++++
 hw/intc/riscv_imsic.c                              |  448 +++++++
 hw/riscv/virt.c                                    |  712 +++++++++--
 target/riscv/cpu.c                                 |  113 +-
 target/riscv/cpu_helper.c                          |  377 +++++-
 target/riscv/csr.c                                 | 1282 ++++++++++++++++++--
 target/riscv/gdbstub.c                             |    3 +
 target/riscv/machine.c                             |   24 +-
 target/riscv/translate.c                           |   61 +-
 target/riscv/vector_helper.c                       |    1 +
 target/riscv/insn_trans/trans_rvb.c.inc            |    8 +-
 target/riscv/insn_trans/trans_rvi.c.inc            |    2 +-
 target/riscv/insn_trans/trans_rvv.c.inc            |  146 ++-
 target/riscv/insn_trans/trans_rvzfh.c.inc          |    4 +-
 target/riscv/insn_trans/trans_svinval.c.inc        |   75 ++
 .../riscv/insn_trans/trans_xventanacondops.c.inc   |   39 +
 MAINTAINERS                                        |    7 +
 hw/intc/Kconfig                                    |    6 +
 hw/intc/meson.build                                |    2 +
 hw/riscv/Kconfig                                   |    2 +
 target/riscv/meson.build                           |    1 +
 31 files changed, 4409 insertions(+), 491 deletions(-)
 delete mode 100644 include/hw/intc/ibex_plic.h
 create mode 100644 include/hw/intc/riscv_aplic.h
 create mode 100644 include/hw/intc/riscv_imsic.h
 create mode 100644 target/riscv/XVentanaCondOps.decode
 create mode 100644 hw/intc/riscv_aplic.c
 create mode 100644 hw/intc/riscv_imsic.c
 create mode 100644 target/riscv/insn_trans/trans_svinval.c.inc
 create mode 100644 target/riscv/insn_trans/trans_xventanacondops.c.inc


^ permalink raw reply	[flat|nested] 50+ messages in thread

end of thread, other threads:[~2026-07-11  7:40 UTC | newest]

Thread overview: 50+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-10  2:54 [PULL 00/40] riscv-to-apply queue alistair23
2026-07-10  2:54 ` [PULL 01/40] hw/riscv/riscv-iommu.c: fix fault type for spa_fetch() faults alistair23
2026-07-10  2:54 ` [PULL 02/40] hw/riscv/riscv-iommu.c: check for reserved PTE bits alistair23
2026-07-10  2:54 ` [PULL 03/40] hw/riscv/riscv-iommu.c: fault when !PTE_U and no priv access alistair23
2026-07-10  2:54 ` [PULL 04/40] hw/riscv/riscv-iommu.c: fault for non-user PTE in G_STAGE alistair23
2026-07-10  2:54 ` [PULL 05/40] hw/riscv/riscv-iommu.c: check reserved MSI PTE basic bits alistair23
2026-07-10  2:54 ` [PULL 06/40] hw/riscv/riscv-iommu-sys.c: record fault on IOMMU-generated MSI write alistair23
2026-07-10  2:54 ` [PULL 07/40] target/riscv: Remove unused tcg/tcg.h include alistair23
2026-07-10  2:54 ` [PULL 08/40] target/riscv: move valid_vm_* satp arrays to cpu.c alistair23
2026-07-10  2:54 ` [PULL 09/40] hw/riscv, target/riscv: move pmu fdt function to fdt-common.c alistair23
2026-07-10  2:54 ` [PULL 10/40] target/riscv: move TCG only files to tcg subdir alistair23
2026-07-10  2:54 ` [PULL 11/40] target/riscv/machine.c: do not migrate pmp state with kvm alistair23
2026-07-10  2:54 ` [PULL 12/40] target/riscv: move pmp files to tcg subdir alistair23
2026-07-10  2:54 ` [PULL 13/40] target/riscv: tidy up riscv_sysemu_ops alistair23
2026-07-10  2:54 ` [PULL 14/40] target/riscv: move debug.h to tcg subdir alistair23
2026-07-10  2:55 ` [PULL 15/40] target/riscv: remove csr.h from kvm-cpu.c alistair23
2026-07-10  2:55 ` [PULL 16/40] target/riscv: move csr.h to tcg subdir alistair23
2026-07-10  2:55 ` [PULL 17/40] target/riscv: move custom_csrs logic to tcg-cpu.c alistair23
2026-07-10  2:55 ` [PULL 18/40] target/riscv: move riscv_cpu_set_nmi() " alistair23
2026-07-10  2:55 ` [PULL 19/40] target/riscv: move some irq helpers to cpu.c alistair23
2026-07-10  2:55 ` [PULL 20/40] target/riscv: move riscv_cpu_claim_interrupts " alistair23
2026-07-10  2:55 ` [PULL 21/40] target/riscv/cpu.c: handle TCG bits of riscv_cpu_dump_state alistair23
2026-07-10  2:55 ` [PULL 22/40] target/riscv: gate riscv_cpu_update_mip with tcg_enabled() alistair23
2026-07-10  2:55 ` [PULL 23/40] target/riscv/cpu.c: filter TCG only bits in riscv_cpu_reset_hold() alistair23
2026-07-10  2:55 ` [PULL 24/40] hw/riscv/riscv_hart.c isolate tcg only bits alistair23
2026-07-10  2:55 ` [PULL 25/40] target/riscv/gdbstub.c: isolate TCG only checks alistair23
2026-07-10  2:55 ` [PULL 26/40] target/riscv: move riscv_cpu_set_rdtime_fn to riscv_aclint alistair23
2026-07-10  2:55 ` [PULL 27/40] target/riscv/tcg: remove unused riscv_cpu_get_geilen() alistair23
2026-07-10  2:55 ` [PULL 28/40] target/riscv: move riscv_cpu_set_geilen() to riscv-imsic alistair23
2026-07-10  2:55 ` [PULL 29/40] target/riscv: move riscv_cpu_set_aia_ireg_rmw_cb() to riscv_imsic alistair23
2026-07-10  2:55 ` [PULL 30/40] gitlab-ci.d/crossbuilds: add riscv64 KVM-only build job alistair23
2026-07-10  2:55 ` [PULL 31/40] hw/riscv/riscv-iommu.c: check for misaligned IOHGATP_PPN alistair23
2026-07-10  2:55 ` [PULL 32/40] hw/riscv/riscv-iommu.c: update ioval2 when faulting in spa_fetch() alistair23
2026-07-10  2:55 ` [PULL 33/40] hw/riscv/riscv-iommu: forbid GATE/SADE if caps.AMO_HWADD is zero alistair23
2026-07-10  2:55 ` [PULL 34/40] hw/riscv/riscv-iommu.c: set ftype and iova in riscv_iommu_ctx() alistair23
2026-07-10  2:55 ` [PULL 35/40] hw/pci/pcie_doe: Check mailbox length for overflows alistair23
2026-07-10  2:55 ` [PULL 36/40] target/riscv/kvm: add extensions after v7.1-rc4 update alistair23
2026-07-10  2:55 ` [PULL 37/40] gitlab-ci: Remove job building OpenSBI firmware binaries alistair23
2026-07-10  2:55 ` [PULL 38/40] tests: allow differences in SPCR alistair23
2026-07-10  2:55 ` [PULL 39/40] hw/acpi: correct field sequence in SPCR table alistair23
2026-07-10  2:55 ` [PULL 40/40] tests: update SPCR loongarch64 and riscv64 test data alistair23
2026-07-11  4:42 ` [PULL 00/40] riscv-to-apply queue Stefan Hajnoczi
2026-07-11  6:32 ` Michael Tokarev
2026-07-11  7:39   ` Daniel Henrique Barboza
  -- strict thread matches above, loose matches on Subject: below --
2025-07-04 11:11 alistair23
2025-07-04 17:50 ` Stefan Hajnoczi
2022-02-11 23:59 Alistair Francis
2022-02-15 11:39 ` Peter Maydell
2022-02-16  6:28   ` Alistair Francis
2022-02-16  6:45     ` Anup Patel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.