#
8882eb68 |
| 21-Feb-2025 |
Xin Tian <[email protected]> |
feat(bitmap/memenc): support memory isolation by bitmap checking and memory encrpty used SM4-XTS (#3980)
- Add bitmap module in MMU for memory isolation - Add memory encryption module based on AXI p
feat(bitmap/memenc): support memory isolation by bitmap checking and memory encrpty used SM4-XTS (#3980)
- Add bitmap module in MMU for memory isolation - Add memory encryption module based on AXI protoco - Can don't using these modules by setting the option `HasMEMencryption` & `HasBitmapCheck` to false
show more ...
|
#
26d03c88 |
| 17-Jan-2025 |
Zehao Liu <[email protected]> |
fix(mnret): add the missing mnret output connection (#4194)
|
#
dd980d61 |
| 20-Nov-2024 |
Xu, Zefan <[email protected]> |
fix(CSR): correct the width of PC pgaddr for inst fetch exception (#3795)
We found that the CSR mtval2 truncates the high bits of gpaddr when GPF
occurs in instruction fetching. Actually, there is
fix(CSR): correct the width of PC pgaddr for inst fetch exception (#3795)
We found that the CSR mtval2 truncates the high bits of gpaddr when GPF
occurs in instruction fetching. Actually, there is an GPAMem which
storages the whole 64-bit gpaddr, but it does not pass to CSR correctly,
due to incorrect width of trapPCGPA in module NewCSR and bundle
TrapEntryEventInput. This patch fixes this.
---------
Co-authored-by: ngc7331 <[email protected]>
show more ...
|
#
6808b803 |
| 29-Oct-2024 |
Zehao Liu <[email protected]> |
feat(Ss/Smdbltrp) : Support RISC-V Ss/Smdbltrp Extension (#3789)
* NEMU commit: 066cb1f1c61feb21153399c26ca393dfb3a560d7
* NEMU configs:
* riscv64-xs-ref_defconfig
* riscv64-dual-xs-ref_defco
feat(Ss/Smdbltrp) : Support RISC-V Ss/Smdbltrp Extension (#3789)
* NEMU commit: 066cb1f1c61feb21153399c26ca393dfb3a560d7
* NEMU configs:
* riscv64-xs-ref_defconfig
* riscv64-dual-xs-ref_defconfig
Including:
* fix(format): adjust code format and add one config (OpenXiangShan/NEMU#603)
* fix(vfredusum): set xstatus.fs and xstatus.vs dirty (OpenXiangShan/NEMU#605)
* fix(vf): do not set dirtyFs for some instructions (OpenXiangShan/NEMU#606)
* feat(trigger): add trigger support for rva.
* configs(xs): open Sm/sdbltrp extension and add MDT_INIT config (OpenXiangShan/NEMU#604)
---
* spike commit: c0b18d3913d8ceac83743a053a7dbd2fb8716c83
* spike config: CPU=XIANGSHAN
Including:
* fix(rva, trigger): For rva instr, raise BP from trigger prior to misaligned.
* fix(Makefile): Increase maxdepth for finding .h files.
* fix(tdata1): CPU_XIANGSHAN do not implement hit bit in tdata1.
* fix(icount): place the read before the return of the detect_icount_match.
show more ...
|
#
fe52823c |
| 18-Oct-2024 |
Xuan Hu <[email protected]> |
fix(Breakpoint): memory trigger set {m|s|vs}tval with faulting address (#3762)
* This commit fix the value of {m|s|vs}tval when load/store/atomic
trigger fire. The faulting address should be writte
fix(Breakpoint): memory trigger set {m|s|vs}tval with faulting address (#3762)
* This commit fix the value of {m|s|vs}tval when load/store/atomic
trigger fire. The faulting address should be written to tval.
show more ...
|
#
c08f49a0 |
| 30-Sep-2024 |
chengguanghui <[email protected]> |
fix(Trigger): remove tcontrol in trigger module.
* remove tcontrol. * use xIE to control trigger's breakpoint exception. * modify medelege: bit(EX_BP) is writable. * fix emu.yml to make medelege
fix(Trigger): remove tcontrol in trigger module.
* remove tcontrol. * use xIE to control trigger's breakpoint exception. * modify medelege: bit(EX_BP) is writable. * fix emu.yml to make medelege.EX_BP writable in SMP Linux jobs.
show more ...
|
#
ad415ae0 |
| 21-Sep-2024 |
Xiaokun-Pei <[email protected]> |
feat(trap): support m/htinst for specific G-stage translation (#3604)
According to RISC-V priv spec, mtinst/htinst could be always written
zero on trap into M/HS-mode, except for Guest-Page-Fault t
feat(trap): support m/htinst for specific G-stage translation (#3604)
According to RISC-V priv spec, mtinst/htinst could be always written
zero on trap into M/HS-mode, except for Guest-Page-Fault traps that meet
both of the following conditions:
- the trap is caused by a G-stage translation which supports VS-stage
translation
- a nonzero value is written to mtval2/htval
"isForVSnonLeafPTE" is used only in exceptional circumstances that gpf
happens in the G-stage translation which supports VS-stage translation,
such as searching the non-leaf pte of VS-stage.
This patch adds support for writing proper value to mtinst/htinst when
specific trap occurs. And bump the nemu.
show more ...
|
#
cb36ac0f |
| 20-Sep-2024 |
Xuan Hu <[email protected]> |
fix(CSR): Add legalization code for mstatus.MPP, mnstatus.MNPP and dcsr.PRV (#3577)
|
#
db6cfb5a |
| 19-Sep-2024 |
Haoyuan Feng <[email protected]> |
fix(exception): check high address bits of lsu (#3596)
In previous implementation, we simply truncated the higher bits of jump
target or load & store address, which made it impossible to raise
exc
fix(exception): check high address bits of lsu (#3596)
In previous implementation, we simply truncated the higher bits of jump
target or load & store address, which made it impossible to raise
exceptions in such cases.
Commit
https://github.com/OpenXiangShan/XiangShan/commit/c1b28b66879239a5b3a44741376f3b002e8ac834
has already fixed high address bits checking of jump target. This commit
fixes lsu part, checking full address in tlb and passing full address
directly to csr.
show more ...
|
#
c1b28b66 |
| 09-Sep-2024 |
Tang Haojin <[email protected]> |
fix(exception): check high address bits of jump target (#3003)
This commit contains high address bits checking of jump target. In previous implementation, we simply truncated the higher bits of jump
fix(exception): check high address bits of jump target (#3003)
This commit contains high address bits checking of jump target. In previous implementation, we simply truncated the higher bits of jump target address, which made it impossible to raise exceptions in such cases.
To resolve this problem, we detect the invalid jump target in jump/branch/CSR and, this information to frontend and store the complete invalid target in a single register in backend. The frontend will then raise an exception to backend and backend will also use the invalid target in the register to write xtval and mepc.
---------
Co-authored-by: Muzi <[email protected]> Co-authored-by: ngc7331 <[email protected]>
show more ...
|
#
9205730d |
| 04-Sep-2024 |
sinceforYy <[email protected]> |
fix(csr): add support virtual interrupt for hvictl csr injection
|
#
c2a2229d |
| 05-Sep-2024 |
lewislzh <[email protected]> |
feat(riscv64): support RISC-V Smrnmi extension (#3480)
|
#
92c61038 |
| 16-Aug-2024 |
Xuan Hu <[email protected]> |
Frontend,Backend: add xxtvala support
* utils * Add checkInputWidth function in NamedUInt to check if the UInt arg passed in has the same width as it defined. * Frontend * Pass the unexpanded in
Frontend,Backend: add xxtvala support
* utils * Add checkInputWidth function in NamedUInt to check if the UInt arg passed in has the same width as it defined. * Frontend * Pass the unexpanded instruciton to IBuffer if the C extension 16 bits instruction is illegal. * No need to use bypass illBuf, since the origin 16 bits instruction will be passed in the ctrlflow bundle. * IBuffer * Merge exceptionType and crossPageIPFFix into 3bit field, which type is IBufferExceptionType. * IBufferExceptionType can hold illegal instruction exception. * Backend * CSROpType.ro is removed, since we can use rs1 and rd passed in imm field to distinguish CSRR and CSRW in CSR module. * Create TrapInstMod to store the trap instruction and handle its update.
show more ...
|
#
fa16cf81 |
| 15-Aug-2024 |
lewislzh <[email protected]> |
Backend: support Shvstvala and Sstvala extension
|
#
3ea4388c |
| 20-Aug-2024 |
Haoyuan Feng <[email protected]> |
RVA23: Support Sv48 & Sv48x4 (#3406)
Co-authored-by: Xuan Hu <[email protected]>
|
#
bfac3305 |
| 19-Jul-2024 |
peixiaokun <[email protected]> |
CSR, RVH: fix the wrong stval and htval when igpf happens
|
#
f60da58c |
| 09-Jun-2024 |
Xuan Hu <[email protected]> |
NewCSR: set GVA=1 when hls insts trap load/store exceptions
|
#
657432e4 |
| 29-May-2024 |
chengguanghui <[email protected]> |
NewCSR: Add Trigger CSR tcontrol
* add csr tcontrol.
* medeleg(EX_BP) hard-wired to 0. Parter 5.4 in debug spec. tcontrol is implemented. medeleg(3) is hard-wired to 0.
|
#
a7a6d0a6 |
| 23-May-2024 |
chengguanghui <[email protected]> |
NewCSR: Refactor CSR about Debug
* add CSR: trigger csr & debug csr
* add CSR event: TrapEntryDEvent & DretEvent
* fixed trigger's comparison func between Consecutive pc and tdada2
|
#
260a087d |
| 20-May-2024 |
Xuan Hu <[email protected]> |
NewCSR: correct the produce of exception virtual address
* As specified by RISC-V specification, there are 3 different length of virtual address. They are `Bare`, `Sv39` and `Sv39x4`. * The CSR mepc
NewCSR: correct the produce of exception virtual address
* As specified by RISC-V specification, there are 3 different length of virtual address. They are `Bare`, `Sv39` and `Sv39x4`. * The CSR mepc and mtval use `Bare` address when the privilege mode is M mode or the satp.MODE is Bare. * The CSR mepc and mtval use `Sv39` address when the privilege mode is S/U mode and the satp.MODE is Sv39 and when the privilege mode is VS/VU mode and the vsatp.MODE is Sv39. * The CSR mepc and mtval use `Sv39x4` address when then privilege mode is VS/VU and the hgatp.MODE is Sv39x4 and the vsatp.MODE is Bare. * The `Sv48` and `Sv48x4` support are provided partly in CSREvent for future usage.
show more ...
|
#
94c2cc17 |
| 18-Apr-2024 |
sinceforYy <[email protected]> |
NewCSR: fix tlb IO bundle
|
#
a1cad1a9 |
| 18-Apr-2024 |
sinceforYy <[email protected]> |
NewCSR: fix wfi_event
|
#
0c2ba7ae |
| 15-Apr-2024 |
Xuan Hu <[email protected]> |
NewCSR: fix target pc of trap entry event
|
#
1e7040ba |
| 18-Apr-2024 |
sinceforYy <[email protected]> |
NewCSR: add DretEvent
|
#
237d4cfd |
| 07-Apr-2024 |
Xuan Hu <[email protected]> |
NewCSR: add CSR events
|