RISC-V Smstateen support
Status from this message: Applied to riscv-to-apply.next
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v8 posting 2/21 patch 7 repliesIn review
- v7 posting 2/21 patch 1 replySuperseded
- v6 posting 2/21 patch 2 repliesSuperseded
Earlier versions · 18
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v5 posting 2/2 | 1 patch | 2 replies | Superseded | |
| v4 posting 2/2 | 1 patch | 4 replies | Superseded | |
| v11 Latest | 5 patches | 8 replies | Applied | |
| v10 | 5 patches | 6 replies | Superseded | |
| v9 | 4 patches | 6 replies | Superseded | |
| v3 RFC posting 3/3 | 2 patches | 0 replies | Superseded | |
| v8 posting 1/2 | 4 patches | 0 replies | Superseded | |
| v7 posting 1/2 | 4 patches | 6 replies | Superseded | |
| v6 posting 1/2 | 5 patches | 16 replies | Superseded | |
| v5 RFC posting 1/2 | 4 patches | 17 replies | Superseded | |
| v4 RFC posting 1/2 | 4 patches | 1 reply | Superseded | |
| v2 RFC posting 4/4 | 2 patches | 5 replies | Superseded | |
| v3 posting 2/3 | 3 patches | 0 replies | Superseded | |
| v2 posting 3/4 | 0 of 3 patches | 0 replies | Superseded | |
| v2 posting 2/4 | 3 patches | 0 replies | Superseded | |
| v3 RFC posting 1/3 | 4 patches | 1 reply | Superseded | |
| v2 RFC posting 1/4 | 4 patches | 6 replies | Superseded | |
| v1 RFC | 4 patches | 0 replies | Superseded |
Changes in v11 from the cover letter
- Rebase to latest riscv-to-apply.next
- set virt_inst_excp at the begining of decode_opc
- Add reviewed by in patch 4
Patches in v11 Applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | target/riscv: Add smstateen supporttarget/ target/ target/ +1 more | +378 | 1 reply | |
| 2/5 | target/riscv: smstateen check for h/s/envcfgtarget/ | +80 | 0 replies | |
| 3/5 | target/riscv: generate virtual instruction exceptiontarget/ | +7 | 2 replies | |
| 4/5 | target/riscv: smstateen check for fcsrtarget/ target/ target/ | +75 | 4 replies | |
| 5/5 | target/riscv: smstateen knobstarget/ | +2 | 0 replies |
Reviews trailers per patch
All 5 patches have a Reviewed-by or Acked-by.
| Patch | Weiwei Li | Alistair Francis |
|---|---|---|
| 1/5 | R-b | R-b |
| 2/5 | R-b | R-b |
| 3/5 | R-b | R-b |
| 4/5 | R-b | R-b |
| 5/5 | R-b | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v11 0/5] RISC-V Smstateen support
This series adds support for the Smstateen specification which provides a mechanism to plug the potential covert channels which are opened by extensions that add to processor state that may not get context-switched. Currently access to *envcfg registers and floating point(fcsr) is controlled via smstateen.
These patches can also be found on riscv_smstateen_v11 branch at:
https://github.com/mdchitale/qemu.git
Changes in v11:
- Rebase to latest riscv-to-apply.next
- set virt_inst_excp at the begining of decode_opc
- Add reviewed by in patch 4
Changes in v10:
- Add support to generate virt instruction exception after decode failure. Use this change for smstateen fcsr failure when virt is enabled.
- Implement single write function for *smstateen1 to *smstateen3 registers.
Changes in v9:
- Rebase to latest riscv-to-apply.next
- Add reviewed by in patches 2 and 4
Changes in v8:
- Rebase to latest riscv-to-apply.next
- Fix m-mode check for hstateen
- Fix return exception type for VU mode
- Improve commit description for patch3
Changes in v7:
- Update smstateen check as per discussion on the following issue:
https://github.com/riscv/riscv-state-enable/issues/9
- Drop the smstateen AIA patch for now.
- Indentation and other fixes
Changes in v6:
- Sync with latest riscv-to-apply.next
- Make separate read/write ops for m/h/s/stateen1/2/3 regs
- Add check for mstateen.staten when reading or using h/s/stateen regs
- Add smstateen fcsr check for all floating point operations
- Move knobs to enable smstateen in a separate patch.
Changes in v5:
- Fix the order in which smstateen extension is added to the isa_edata_arr as
described in rule #3 the comment.
Changes in v4:
- Fix build issue with riscv32/riscv64-linux-user targets
Changes in v3:
- Fix coding style issues
- Fix *stateen0h index calculation
Changes in v2:
- Make h/s/envcfg bits in m/h/stateen registers as writeable by default.
Mayuresh Chitale (5):
target/riscv: Add smstateen support target/riscv: smstateen check for h/s/envcfg target/riscv: generate virtual instruction exception target/riscv: smstateen check for fcsr target/riscv: smstateen knobs
target/riscv/cpu.c | 2 + target/riscv/cpu.h | 4 + target/riscv/cpu_bits.h | 37 ++ target/riscv/csr.c | 414 +++++++++++++++++++++- target/riscv/insn_trans/trans_rvf.c.inc | 43 ++- target/riscv/insn_trans/trans_rvzfh.c.inc | 12 + target/riscv/machine.c | 21 ++ target/riscv/translate.c | 8 +- 8 files changed, 536 insertions(+), 5 deletions(-)
Signature · 1 line
2.25.1