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