History log of /XiangShan/src/main/scala/xiangshan/backend/fu/NewCSR/Debug.scala (Results 1 – 14 of 14)
Revision Date Author Comments
# 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