#
075d4937 |
| 30-Dec-2024 |
junxiong-ji <[email protected]> |
feat(CSR): allow most CSRR can be out-of-order issued and executed
* Add some comment on rdata in NewCSR. * Allow CSRR not to block backward instruction. * Here is **Inorder** CSRR list, * fflags,
feat(CSR): allow most CSRR can be out-of-order issued and executed
* Add some comment on rdata in NewCSR. * Allow CSRR not to block backward instruction. * Here is **Inorder** CSRR list, * fflags, fcsr, * vxsat, vcsr, vstart, * mstatus, sstatus, hstatus, vsstatus, mnstatus, * dcsr. * The reason for Inorder CSRR executed is that these CSR will be changed by Use-Level instruction without any fence, and executing OoO would get wrong result. * Since there must be FENCE before reading any PMC CSRs, there is no need to let reading PMC CSRs inorder.
show more ...
|
#
3c808de0 |
| 17-Feb-2025 |
Anzo <[email protected]> |
fix(LSU): fix cbo instr exceptions and implementation (#4262)
1. typo.
2. `cbo` instr not produce misaligned exception.
3. `cbo zero` instr need flush `sbuffer`.
4. `cbo zero` sets mask correctly
fix(LSU): fix cbo instr exceptions and implementation (#4262)
1. typo.
2. `cbo` instr not produce misaligned exception.
3. `cbo zero` instr need flush `sbuffer`.
4. `cbo zero` sets mask correctly
5. Adding RAW checks to `cbo zero`.
6. Adding trigger(Debug Mode) checks to `cbo zero`.
7. Fixed several issues with the CBO instruction in NEMU.
----
In order not to create ambiguity with `io.mmioStout`, a new port of
`StoreQueue` is introduced for writeback `cbo zero` after flush sbuffer.
arbitration is performed in `MemBlock`, and currently, `cbo zero` has
higher priority by default.
`cbo zero` should not be writteback at the same time as `mmio`.
---
A check on `CacheLine` has been added to `RAWQueue` to ensure memory
consistency when executing `cbo zero`.
See this issues:https://github.com/OpenXiangShan/XiangShan/issues/4240
for specific issues.
---
The `cbo` instruction requires a trigger check.
---------
Co-authored-by: zhanglinjuan <[email protected]>
show more ...
|
#
22872cfd |
| 02-Dec-2024 |
sinceforYy <[email protected]> |
area(csr): intr NO bits is reduced from 64 to 8
|
#
a751b11a |
| 11-Nov-2024 |
chengguanghui <[email protected]> |
fix(dcsr): debug support critical error state
* support nmip, cetrig, extcause fileds in dcsr. * critical error state enter dmode when dcsr.cetrig assert.
|
#
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 ...
|
#
cc6e4cb5 |
| 29-Sep-2024 |
chengguanghui <[email protected]> |
feat(Trigger): Trigger Module support mcontrol6.
|
#
726c5ee8 |
| 17-Sep-2024 |
Anzooooo <[email protected]> |
feat(VLSU, Trigger): add vector segment access Trigger logic
|
#
d0d2c22d |
| 15-Sep-2024 |
Anzooooo <[email protected]> |
feat(VLSU): element in which the exception occurs needs to retain its old value
|
#
506ca2a3 |
| 11-Sep-2024 |
Anzooooo <[email protected]> |
feat(Trigger): add vector memory access Trigger logic
|
#
94998b06 |
| 04-Sep-2024 |
happy-lx <[email protected]> |
fix(Zicclsm, trigger): fix the problem of missing breakpoint exception (#3470)
+ @wissygh Refactored Trigger check code of Memblock.
+ Move Trigger address cmp from load S3 to S1. In addition, the
fix(Zicclsm, trigger): fix the problem of missing breakpoint exception (#3470)
+ @wissygh Refactored Trigger check code of Memblock.
+ Move Trigger address cmp from load S3 to S1. In addition, the
detection of trigger is moved from Memblock to LoadUnit.
- Once the breakpoint exception is detected, enter the exception Buffer
directly to handle the exception (previously, the
load instruction was executed first and then the exception was handled,
which would cause the mmio load to change the
status of the peripheral).
+ If Trigger address matches and the action is to enter debug mode, both
loadUnit and storeUnit will directly write this instruction back without
any execution (by setting this instruction as an exception).
+ Match trigger addresses for vector instructions in LoadUnit.
+ If both a misalign exception and a breakpoint occur, the breakpoint
exception will be processed first.
---------
Co-authored-by: chengguanghui <[email protected]>
show more ...
|
#
3a9ac3ca |
| 03-Sep-2024 |
Guanghui Cheng <[email protected]> |
fix(Trigger): Breakpoint exception generated by trigger shouldn't enter dmode (#3472)
|
#
7e0f64b0 |
| 21-Aug-2024 |
Guanghui Cheng <[email protected]> |
Trigger: refactor trigger information in pipeline. (#3403)
|
#
04b415db |
| 02-Jul-2024 |
chengguanghui <[email protected]> |
Trigger: add breakpoint exception for `STORE`
*prevent `STORE` from writing sbuffer when trigger fire.
|
#
4ac3bf33 |
| 28-Jun-2024 |
chengguanghui <[email protected]> |
NewCSR: only refactor content about debug in CSR
|