History log of /XiangShan/src/main/scala/xiangshan/backend/fu/NewCSR/NewCSR.scala (Results 1 – 25 of 196)
Revision Date Author Comments
# 6683fc49 25-Apr-2025 Zhaoyang You <[email protected]>

fix(csr): filter out Read-Only CSR in regOut (#4412)


# 1191982f 24-Apr-2025 Zhaoyang You <[email protected]>

fix(intr,difftest): add interrupt delegate (#4516)


# 011d262c 15-Apr-2025 Zhaoyang You <[email protected]>

feat(PMA, CSR): support PMA CSR configurable (#4233)


# 6127035c 09-Apr-2025 Zhaoyang You <[email protected]>

fix(difftest): fix sync aia event valid (#4517)


# 7768a97d 08-Apr-2025 Tang Haojin <[email protected]>

fix(CSR): use GEILEN from IMSICParams (#4520)


# 8cfc24b2 07-Apr-2025 Tang Haojin <[email protected]>

feat(AIA): integrate ChiselAIA again (#4509)


# 69e67bbf 22-Mar-2025 Tang Haojin <[email protected]>

fix(difftest, CSR): sync non-reg interrupt pending right after reset (#4449)


# 529b1cfd 17-Mar-2025 Tang Haojin <[email protected]>

Revert "feat(AIA): integrate ChiselAIA (#4378)" (#4429)

This reverts commit 7fbc1cb42a2c96ef89a1dfd0f5f885ccada40c26.


# a9115dab 14-Mar-2025 sinceforYy <[email protected]>

fix(csr, difftest): do not update difftest framework on reset


# 7fbc1cb4 08-Mar-2025 Tang Haojin <[email protected]>

feat(AIA): integrate ChiselAIA (#4378)


# eca6983f 26-Feb-2025 Zehao Liu <[email protected]>

fix(dbltrp): set sdt to 0 when exe sret to VU (#4313)


# 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 ...


# 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 ...


# 39ec22f6 13-Feb-2025 Guanghui Cheng <[email protected]>

fix(Mcontrol6): fix writing mcontrol6.dmode for trigger chain (#4256)


# 74668295 22-Jan-2025 sinceforYy <[email protected]>

fix(csr, difftest): distinguish external interrupts sources from PLIC or IMSIC


# 50ccead4 22-Jan-2025 sinceforYy <[email protected]>

fix(csr): external interrupt priority from PLIC or IMSIC


# 96292cf5 22-Jan-2025 sinceforYy <[email protected]>

fix(aia): iprio array is masked by xie CSR

* For a given interrupt number, if the corresponding bit in mie
is read-only zero, then the interrupt’s priority number in the
iprio array must be read

fix(aia): iprio array is masked by xie CSR

* For a given interrupt number, if the corresponding bit in mie
is read-only zero, then the interrupt’s priority number in the
iprio array must be read-only zero as well.

show more ...


# 6520f4f4 22-Jan-2025 Tang Haojin <[email protected]>

feat(Zawrs): support Zawrs extension (#4211)

This commit implements a basic nop-based Zawrs extension.

- `wrs.sto` in this commit acts as a nop instruction.
- `wrs.nto` in this commit acts as a nop

feat(Zawrs): support Zawrs extension (#4211)

This commit implements a basic nop-based Zawrs extension.

- `wrs.sto` in this commit acts as a nop instruction.
- `wrs.nto` in this commit acts as a nop instruction, except it:
- raises illegal instruction exception when !isModeM && mstatus.TW=1, or
- raises virtual instruction exception when privState.V && mstatus.TW=0
&& hstatus.VTW=1

Seems that completely raises no exception is also a valid
implementation,
but raises an exception can help OS to do scheduling during waiting.

Also, like WFI, interrupts cannot take on wrs instructions.

show more ...


# 881e32f5 22-Jan-2025 Zifei Zhang <[email protected]>

submodule(CoupledL2, OpenLLC): bump L2 and LLC (#4189)

This pull request includes:
- add compilation support for CHI Issue C (but not yet verified)
- enable DataCheck and Poison
- add requirement fo

submodule(CoupledL2, OpenLLC): bump L2 and LLC (#4189)

This pull request includes:
- add compilation support for CHI Issue C (but not yet verified)
- enable DataCheck and Poison
- add requirement for CHI port width check
- add prefetch control by custom csr
- optimize timing in CoupledL2, mainly paths from SRAM to ICG
- add clock gate to each of the splitted SRAMs in CoupledL2
- fix several bugs concerning WriteEvictOrEvict, SnpQuery,
SnpCleanShared, SnpStash*, etc

---------

Co-authored-by: zhanglinjuan <[email protected]>
Co-authored-by: Ma-YX <[email protected]>
Co-authored-by: Yanqin Li <[email protected]>

show more ...


# e50a46ea 17-Jan-2025 Guanghui Cheng <[email protected]>

fix(dret): clear xstatus.xDT conditionally when dret is executed (#4193)


# 9a35af65 14-Jan-2025 linzhida <[email protected]>

feat(difftest): sync hgeip by difftest


# e733b25b 13-Jan-2025 linzhida <[email protected]>

fix(aia): add the missing AIA-related permission checks

Along the same lines, when hstatus.VGEIN is not the number of an implemented guest external
interrupt, attempts from M-mode or HS-mode to acce

fix(aia): add the missing AIA-related permission checks

Along the same lines, when hstatus.VGEIN is not the number of an implemented guest external
interrupt, attempts from M-mode or HS-mode to access CSR vstopei raise an illegal instruction
exception, and attempts from VS-mode to access stopei raise a virtual instruction exception.

show more ...


# b7a63495 16-Jan-2025 NewPaulWalker <[email protected]>

feat(custom, csr): add two custom CSRs mcorepwr and mflushpwr to control power (#4164)

Co-authored-by: Zhu Yu <[email protected]>


# 37748a0b 13-Jan-2025 NewPaulWalker <[email protected]>

feat(exception): divide the exceptions raised from CSR access into different sources (#4146)

Before this, we assumed that all possible exceptions during CSR read and
write operations should be handl

feat(exception): divide the exceptions raised from CSR access into different sources (#4146)

Before this, we assumed that all possible exceptions during CSR read and
write operations should be handled according to their priority.

Therefore, we ensured that all illegal instruction exceptions take
precedence over virtual instruction exceptions.

However, with the implementation of certain extensions like Smcsrind and
Smstateen, we encounter scenarios where virtual instruction exceptions
must take precedence over illegal instruction exceptions triggered.

For instance, when mstateen0.csrind is set to 1 and hstateen0.csrind is
0, a virtual instruction exception should be raised if VS mode attempts
to access sireg. However, if the vsiselect value is reserved in this
situation, an illegal instruction exception will be raised instead. If
these checks are treated as being at the same priority level, an illegal
instruction exception would ultimately be raised.

In reality, a virtual instruction exception should take precedence
because when the extension is disabled, we should not even evaluate the
value of vsiselect.

Therefore, we divided the sources of exceptions caused by CSR access
into several categories: M-level, S-level, privilege level,
virtualization level, and indirect access level.

Among them, M-level and S-level will only raise illegal instruction
exceptions, the privilege level will raise both illegal instruction and
virtual instruction exceptions, the virtualization level will raise
virtual instruction exceptions, and indirect access will raise both
illegal instruction and virtual instruction exceptions. Therefore, we
handle the exceptions from the previous levels in the same way, and only
check for exceptions caused by indirect access after ensuring that no
exceptions were raised earlier.

show more ...


# 00514503 10-Jan-2025 Zhaoyang You <[email protected]>

fix(CSR): fix xTIP update in sstcIRGen (#4157)

* The STIP signal is updated when:
* time.valid of clint
* stimecmp CSR is written
* menvcfg CSR is written

* The VSTIP signal is upda

fix(CSR): fix xTIP update in sstcIRGen (#4157)

* The STIP signal is updated when:
* time.valid of clint
* stimecmp CSR is written
* menvcfg CSR is written

* The VSTIP signal is updated when:
* time.valid of clint
* vstimecmp CSR is written
* htimedelta CSR is written
* menvcfg CSR is written
* henvcfg CSR is written

Co-authored-by: Xuan Hu <[email protected]>

show more ...


12345678