qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PULL 00/59] Fifth RISC-V PR for QEMU 8.0
@ 2023-03-03  8:36 Palmer Dabbelt
  2023-03-03  8:36 ` [PULL 01/59] target/riscv: introduce riscv_cpu_cfg() Palmer Dabbelt
                   ` (60 more replies)
  0 siblings, 61 replies; 62+ messages in thread
From: Palmer Dabbelt @ 2023-03-03  8:36 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-riscv, qemu-devel

merged tag 'buildsys-qom-qdev-ui-20230227'
The following changes since commit 627634031092e1514f363fd8659a579398de0f0e:

  Merge tag 'buildsys-qom-qdev-ui-20230227' of https://github.com/philmd/qemu into staging (2023-02-28 15:09:18 +0000)

are available in the Git repository at:

  https://gitlab.com/palmer-dabbelt/qemu.git tags/pull-riscv-to-apply-20230303

for you to fetch changes up to 37151032989ecf6e7ce8b65bc7bcb400d0318b2c:

  Merge patch series "target/riscv: some vector_helper.c cleanups" (2023-03-01 18:09:48 -0800)

----------------------------------------------------------------
Fifth RISC-V PR for QEMU 8.0

* Experimantal support for writable misa.
* Support for Svadu extension.
* Support for the Zicond extension.
* Fixes to gdbstub, CSR accesses, dependencies between the various
  floating-point exceptions, and XTheadMemPair.
* Many cleanups.

----------------------------------------------------------------
There's a lot of cleanups here, a handful of which ended up stepping on
each other and were necessary for various features.  I tried to keep
each individual patch set intact, but that led to some merge conflicts
and a bit of a clunky history -- I'm not sure what the right answer is
there, happy to re-spin this to be more linear if that's problem for
folks.

Unfortunately the OpenSBI bump is still failing CI, it turns out I
missed the second stage.  I was intending on having a sixth PR anyway as
I'd really like to get the ACPI patches in for 8.0 so we can start
testing everywhere else.  There's also a patch set from Daniel that's
ready to go but depends on some recently merged TCG patches, so I
figured it'd be better to just send what's ready now rather than trying
to make the history more complicated.

This all passes my local tests ("make check" and a bunch of Linux
configs), but "push-ci-now" is still tripping up on OpenSBI as that's
due to some network resources changing.  With any luck I'll have some
time to sort things out this weekend (though always happy to have some
help if anyone wants to throw in some time).

----------------------------------------------------------------
Bin Meng (20):
      target/riscv: gdbstub: Check priv spec version before reporting CSR
      target/riscv: Add some comments to clarify the priority policy of riscv_csrrw_check()
      target/riscv: Use g_assert() for the predicate() NULL check
      target/riscv: gdbstub: Minor change for better readability
      target/riscv: gdbstub: Do not generate CSR XML if Zicsr is disabled
      target/riscv: Coding style fixes in csr.c
      target/riscv: Use 'bool' type for read_only
      target/riscv: Simplify {read, write}_pmpcfg() a little bit
      target/riscv: Simplify getting RISCVCPU pointer from env
      target/riscv: Avoid reporting odd-numbered pmpcfgX in the CSR XML for RV64
      target/riscv: gdbstub: Turn on debugger mode before calling CSR predicate()
      target/riscv: gdbstub: Drop the vector CSRs in riscv-vector.xml
      target/riscv: Allow debugger to access user timer and counter CSRs
      target/riscv: Allow debugger to access seed CSR
      target/riscv: Allow debugger to access {h, s}stateen CSRs
      target/riscv: Allow debugger to access sstc CSRs
      target/riscv: Drop priv level check in mseccfg predicate()
      target/riscv: Group all predicate() routines together
      hw/riscv: Skip re-generating DT nodes for a given DTB
      hw/riscv: Move the dtb load bits outside of create_fdt()

Christoph Müllner (1):
      RISC-V: XTheadMemPair: Remove register restrictions for store-pair

Daniel Henrique Barboza (16):
      target/riscv: introduce riscv_cpu_cfg()
      target/riscv: do not mask unsupported QEMU extensions in write_misa()
      target/riscv: allow MISA writes as experimental
      target/riscv: remove RISCV_FEATURE_DEBUG
      target/riscv/cpu.c: error out if EPMP is enabled without PMP
      target/riscv: remove RISCV_FEATURE_EPMP
      target/riscv: remove RISCV_FEATURE_PMP
      hw/riscv/virt.c: do not use RISCV_FEATURE_MMU in create_fdt_socket_cpus()
      target/riscv: remove RISCV_FEATURE_MMU
      target/riscv/cpu: remove CPUArchState::features and friends
      target/riscv/csr.c: use env_archcpu() in ctr()
      target/riscv/csr.c: simplify mctr()
      target/riscv/csr.c: use riscv_cpu_cfg() to avoid env_cpu() pointers
      target/riscv/csr.c: avoid env_archcpu() usages when reading RISCVCPUConfig
      target/riscv/vector_helper.c: create vext_set_tail_elems_1s()
      target/riscv/vector_helper.c: avoid env_archcpu() when reading RISCVCPUConfig

Palmer Dabbelt (6):
      Merge patch series "make write_misa a no-op and FEATURE_* cleanups"
      Merge patch series "target/riscv: Some updates to float point related extensions"
      Merge patch series "target/riscv: Various fixes to gdbstub and CSR access"
      Merge patch series "target/riscv: Add support for Svadu extension"
      Merge patch series "RISCVCPUConfig related cleanups"
      Merge patch series "target/riscv: some vector_helper.c cleanups"

Shaobo Song (1):
      target/riscv: Fix checking of whether instruciton at 'pc_next' spans pages

Weiwei Li (21):
      target/riscv: Fix the relationship between Zfhmin and Zfh
      target/riscv: Fix the relationship between Zhinxmin and Zhinx
      target/riscv: Simplify the check for Zfhmin and Zhinxmin
      target/riscv: Add cfg properties for Zv* extensions
      target/riscv: Fix relationship between V, Zve*, F and D
      target/riscv: Add property check for Zvfh{min} extensions
      target/riscv: Indent fixes in cpu.c
      target/riscv: Simplify check for Zve32f and Zve64f
      target/riscv: Replace check for F/D to Zve32f/Zve64d in trans_rvv.c.inc
      target/riscv: Remove redundunt check for zve32f and zve64f
      target/riscv: Add support for Zvfh/zvfhmin extensions
      target/riscv: Fix check for vector load/store instructions when EEW=64
      target/riscv: Simplify check for EEW = 64 in trans_rvv.c.inc
      target/riscv: Expose properties for Zv* extensions
      target/riscv: Add support for Zicond extension
      target/riscv: Fix the relationship between menvcfg.PBMTE/STCE and Svpbmt/Sstc extensions
      target/riscv: Fix the relationship of PBMTE/STCE fields between menvcfg and henvcfg
      target/riscv: Add csr support for svadu
      target/riscv: Add *envcfg.PBMTE related check in address translation
      target/riscv: Add *envcfg.HADE related check in address translation
      target/riscv: Export Svadu property

 hw/riscv/sifive_u.c                          |  30 +--
 hw/riscv/virt.c                              |  35 +--
 include/hw/riscv/sifive_u.h                  |   1 +
 target/riscv/cpu.c                           | 134 ++++++----
 target/riscv/cpu.h                           |  34 +--
 target/riscv/cpu_bits.h                      |   4 +
 target/riscv/cpu_helper.c                    |  24 +-
 target/riscv/csr.c                           | 354 ++++++++++++++-------------
 target/riscv/gdbstub.c                       | 100 ++------
 target/riscv/insn32.decode                   |   4 +
 target/riscv/insn_trans/trans_rvv.c.inc      | 184 +++++---------
 target/riscv/insn_trans/trans_rvzfh.c.inc    |  25 +-
 target/riscv/insn_trans/trans_rvzicond.c.inc |  49 ++++
 target/riscv/insn_trans/trans_xthead.c.inc   |   4 -
 target/riscv/machine.c                       |  11 +-
 target/riscv/monitor.c                       |   2 +-
 target/riscv/op_helper.c                     |   2 +-
 target/riscv/pmp.c                           |   8 +-
 target/riscv/translate.c                     |   3 +-
 target/riscv/vector_helper.c                 | 104 +++-----
 20 files changed, 538 insertions(+), 574 deletions(-)
 create mode 100644 target/riscv/insn_trans/trans_rvzicond.c.inc




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

end of thread, other threads:[~2023-03-03 13:35 UTC | newest]

Thread overview: 62+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-03  8:36 [PULL 00/59] Fifth RISC-V PR for QEMU 8.0 Palmer Dabbelt
2023-03-03  8:36 ` [PULL 01/59] target/riscv: introduce riscv_cpu_cfg() Palmer Dabbelt
2023-03-03  8:36 ` [PULL 02/59] target/riscv: do not mask unsupported QEMU extensions in write_misa() Palmer Dabbelt
2023-03-03  8:36 ` [PULL 03/59] target/riscv: allow MISA writes as experimental Palmer Dabbelt
2023-03-03  8:36 ` [PULL 04/59] target/riscv: remove RISCV_FEATURE_DEBUG Palmer Dabbelt
2023-03-03  8:36 ` [PULL 05/59] target/riscv/cpu.c: error out if EPMP is enabled without PMP Palmer Dabbelt
2023-03-03  8:36 ` [PULL 06/59] target/riscv: remove RISCV_FEATURE_EPMP Palmer Dabbelt
2023-03-03  8:36 ` [PULL 07/59] target/riscv: remove RISCV_FEATURE_PMP Palmer Dabbelt
2023-03-03  8:36 ` [PULL 08/59] hw/riscv/virt.c: do not use RISCV_FEATURE_MMU in create_fdt_socket_cpus() Palmer Dabbelt
2023-03-03  8:36 ` [PULL 09/59] target/riscv: remove RISCV_FEATURE_MMU Palmer Dabbelt
2023-03-03  8:36 ` [PULL 10/59] target/riscv/cpu: remove CPUArchState::features and friends Palmer Dabbelt
2023-03-03  8:36 ` [PULL 11/59] target/riscv: Fix the relationship between Zfhmin and Zfh Palmer Dabbelt
2023-03-03  8:36 ` [PULL 12/59] target/riscv: Fix the relationship between Zhinxmin and Zhinx Palmer Dabbelt
2023-03-03  8:36 ` [PULL 13/59] target/riscv: Simplify the check for Zfhmin and Zhinxmin Palmer Dabbelt
2023-03-03  8:36 ` [PULL 14/59] target/riscv: Add cfg properties for Zv* extensions Palmer Dabbelt
2023-03-03  8:36 ` [PULL 15/59] target/riscv: Fix relationship between V, Zve*, F and D Palmer Dabbelt
2023-03-03  8:36 ` [PULL 16/59] target/riscv: Add property check for Zvfh{min} extensions Palmer Dabbelt
2023-03-03  8:36 ` [PULL 17/59] target/riscv: Indent fixes in cpu.c Palmer Dabbelt
2023-03-03  8:36 ` [PULL 18/59] target/riscv: Simplify check for Zve32f and Zve64f Palmer Dabbelt
2023-03-03  8:37 ` [PULL 19/59] target/riscv: Replace check for F/D to Zve32f/Zve64d in trans_rvv.c.inc Palmer Dabbelt
2023-03-03  8:37 ` [PULL 20/59] target/riscv: Remove redundunt check for zve32f and zve64f Palmer Dabbelt
2023-03-03  8:37 ` [PULL 21/59] target/riscv: Add support for Zvfh/zvfhmin extensions Palmer Dabbelt
2023-03-03  8:37 ` [PULL 22/59] target/riscv: Fix check for vector load/store instructions when EEW=64 Palmer Dabbelt
2023-03-03  8:37 ` [PULL 23/59] target/riscv: Simplify check for EEW = 64 in trans_rvv.c.inc Palmer Dabbelt
2023-03-03  8:37 ` [PULL 24/59] target/riscv: Expose properties for Zv* extensions Palmer Dabbelt
2023-03-03  8:37 ` [PULL 25/59] target/riscv: gdbstub: Check priv spec version before reporting CSR Palmer Dabbelt
2023-03-03  8:37 ` [PULL 26/59] target/riscv: Add some comments to clarify the priority policy of riscv_csrrw_check() Palmer Dabbelt
2023-03-03  8:37 ` [PULL 27/59] target/riscv: Use g_assert() for the predicate() NULL check Palmer Dabbelt
2023-03-03  8:37 ` [PULL 28/59] target/riscv: gdbstub: Minor change for better readability Palmer Dabbelt
2023-03-03  8:37 ` [PULL 29/59] target/riscv: gdbstub: Do not generate CSR XML if Zicsr is disabled Palmer Dabbelt
2023-03-03  8:37 ` [PULL 30/59] target/riscv: Coding style fixes in csr.c Palmer Dabbelt
2023-03-03  8:37 ` [PULL 31/59] target/riscv: Use 'bool' type for read_only Palmer Dabbelt
2023-03-03  8:37 ` [PULL 32/59] target/riscv: Simplify {read, write}_pmpcfg() a little bit Palmer Dabbelt
2023-03-03  8:37 ` [PULL 33/59] target/riscv: Simplify getting RISCVCPU pointer from env Palmer Dabbelt
2023-03-03  8:37 ` [PULL 34/59] target/riscv: Avoid reporting odd-numbered pmpcfgX in the CSR XML for RV64 Palmer Dabbelt
2023-03-03  8:37 ` [PULL 35/59] target/riscv: gdbstub: Turn on debugger mode before calling CSR predicate() Palmer Dabbelt
2023-03-03  8:37 ` [PULL 36/59] target/riscv: gdbstub: Drop the vector CSRs in riscv-vector.xml Palmer Dabbelt
2023-03-03  8:37 ` [PULL 37/59] target/riscv: Allow debugger to access user timer and counter CSRs Palmer Dabbelt
2023-03-03  8:37 ` [PULL 38/59] target/riscv: Allow debugger to access seed CSR Palmer Dabbelt
2023-03-03  8:37 ` [PULL 39/59] target/riscv: Allow debugger to access {h, s}stateen CSRs Palmer Dabbelt
2023-03-03  8:37 ` [PULL 40/59] target/riscv: Allow debugger to access sstc CSRs Palmer Dabbelt
2023-03-03  8:37 ` [PULL 41/59] target/riscv: Drop priv level check in mseccfg predicate() Palmer Dabbelt
2023-03-03  8:37 ` [PULL 42/59] target/riscv: Group all predicate() routines together Palmer Dabbelt
2023-03-03  8:37 ` [PULL 43/59] target/riscv: Fix checking of whether instruciton at 'pc_next' spans pages Palmer Dabbelt
2023-03-03  8:37 ` [PULL 44/59] RISC-V: XTheadMemPair: Remove register restrictions for store-pair Palmer Dabbelt
2023-03-03  8:37 ` [PULL 45/59] target/riscv: Add support for Zicond extension Palmer Dabbelt
2023-03-03  8:37 ` [PULL 46/59] hw/riscv: Skip re-generating DT nodes for a given DTB Palmer Dabbelt
2023-03-03  8:37 ` [PULL 47/59] hw/riscv: Move the dtb load bits outside of create_fdt() Palmer Dabbelt
2023-03-03  8:37 ` [PULL 48/59] target/riscv: Fix the relationship between menvcfg.PBMTE/STCE and Svpbmt/Sstc extensions Palmer Dabbelt
2023-03-03  8:37 ` [PULL 49/59] target/riscv: Fix the relationship of PBMTE/STCE fields between menvcfg and henvcfg Palmer Dabbelt
2023-03-03  8:37 ` [PULL 50/59] target/riscv: Add csr support for svadu Palmer Dabbelt
2023-03-03  8:37 ` [PULL 51/59] target/riscv: Add *envcfg.PBMTE related check in address translation Palmer Dabbelt
2023-03-03  8:37 ` [PULL 52/59] target/riscv: Add *envcfg.HADE " Palmer Dabbelt
2023-03-03  8:37 ` [PULL 53/59] target/riscv: Export Svadu property Palmer Dabbelt
2023-03-03  8:37 ` [PULL 54/59] target/riscv/csr.c: use env_archcpu() in ctr() Palmer Dabbelt
2023-03-03  8:37 ` [PULL 55/59] target/riscv/csr.c: simplify mctr() Palmer Dabbelt
2023-03-03  8:37 ` [PULL 56/59] target/riscv/csr.c: use riscv_cpu_cfg() to avoid env_cpu() pointers Palmer Dabbelt
2023-03-03  8:37 ` [PULL 57/59] target/riscv/csr.c: avoid env_archcpu() usages when reading RISCVCPUConfig Palmer Dabbelt
2023-03-03  8:37 ` [PULL 58/59] target/riscv/vector_helper.c: create vext_set_tail_elems_1s() Palmer Dabbelt
2023-03-03  8:37 ` [PULL 59/59] target/riscv/vector_helper.c: avoid env_archcpu() when reading RISCVCPUConfig Palmer Dabbelt
2023-03-03 12:20 ` [PULL 00/59] Fifth RISC-V PR for QEMU 8.0 Peter Maydell
2023-03-03 13:35 ` Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).