df3b4b92 | 20-Sep-2024 |
Anzooooo <[email protected]> |
feat(rv64v): support first only fault instruction |
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 |
f20002a0 | 02-Oct-2024 |
Zhaoyang You <[email protected]> |
fix(csr): add support Non-registers interrupt pending to diff xip (#3572) |
b2e314e0 | 30-Sep-2024 |
Xu, Zefan <[email protected]> |
fix(csr): not skip read/write menvcfg/henvcfg (#3686)
Previously, menvcfg and henvcfg were added to "PerfCnt" to skip
read/write them, because its implementation is different between
XiangShan and
fix(csr): not skip read/write menvcfg/henvcfg (#3686)
Previously, menvcfg and henvcfg were added to "PerfCnt" to skip
read/write them, because its implementation is different between
XiangShan and NEMU. This patch removes this workaround as both XiangShan
and NEMU support menvcfg and henvcfg. This could solve the pbmte diff
problem.
show more ...
|
ca0aa835 | 28-Sep-2024 |
Xuan Hu <[email protected]> |
feat(CSR): add No.16,18 and 19 exceptions (#3640) |
97e37a22 | 27-Sep-2024 |
Ziyue Zhang <[email protected]> |
fix(rv64v): not modify fflags when vl is zero (#3658) |
bbaa6b7c | 27-Sep-2024 |
Xuan Hu <[email protected]> |
fix(CSR): remove reg in mhartid (#3665)
* mhartid should be assigned directly to multicycle hartid from top. |
44467224 | 26-Sep-2024 |
Zhaoyang You <[email protected]> |
fix(csr): intermediate data should be stored when output not fire (#3634)
* Normal csr instrctions could fire by one cycle, while support IMSIC now.
* IMSIC and CSR have different clocks.
* Theref
fix(csr): intermediate data should be stored when output not fire (#3634)
* Normal csr instrctions could fire by one cycle, while support IMSIC now.
* IMSIC and CSR have different clocks.
* Therefore, CSR interacts with IMSIC through asynchronous reading.
* Implementd by fsm, and its state includes idle, waitIMSIC, finish.
* Output can fire when NewCSR requests an IMSIC response, and the
intermediate data should be stored.
---------
Co-authored-by: lewislzh <[email protected]>
show more ...
|
e2216eca | 26-Sep-2024 |
Xuan Hu <[email protected]> |
fix(CSR,interrupt): use rdata instead of regOut to produce interrupt (#3644)
* Make rdataFields as Output for InterruptFilter usage.
* This commit fix the problem that SEIP cannot be raised. |
65b2b1ea | 26-Sep-2024 |
xiaofeibao-xjtu <[email protected]> |
fix(csr): change connect0LatencyCtrlSingal to connectNonPipedCtrlSingal (#3647) |
d88d4328 | 25-Sep-2024 |
Ziyue Zhang <[email protected]> |
fix(vlwakeup): fix vl write back wakeup from intExu or vfExu (#3643) |
44f2941b | 24-Sep-2024 |
Jiru Sun <[email protected]> |
refactor(HPM): move HPMs from utils to utility repo (#3631)
Because HPMs will be used in Coupled L2 as well, delete
`PerfCounterUtils.scala` in Xiangshan and create
`HardwarePerfMonitor.scala` in
refactor(HPM): move HPMs from utils to utility repo (#3631)
Because HPMs will be used in Coupled L2 as well, delete
`PerfCounterUtils.scala` in Xiangshan and create
`HardwarePerfMonitor.scala` in Utility.
See also [Pull Request in
CoupledL2](https://github.com/OpenXiangShan/CoupledL2/pull/251#discussion_r1770738535).
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 ...
|
5860cb70 | 21-Sep-2024 |
Zhaoyang You <[email protected]> |
fix(csr): fix trap inst update when CSRR insts raise trap and remove useless io (#3620)
This PR fix trap inst update.
Because of CSRR inst is out of order insts, trap inst should select the
oldest
fix(csr): fix trap inst update when CSRR insts raise trap and remove useless io (#3620)
This PR fix trap inst update.
Because of CSRR inst is out of order insts, trap inst should select the
oldest trap inst when CSRR inst raise trap.
---------
Co-authored-by: Xuan Hu <[email protected]>
show more ...
|
45def856 | 21-Sep-2024 |
Tang Haojin <[email protected]> |
refactor(Pmem): use `Seq` for physical memory ranges (#3622) |
cb36ac0f | 20-Sep-2024 |
Xuan Hu <[email protected]> |
fix(CSR): Add legalization code for mstatus.MPP, mnstatus.MNPP and dcsr.PRV (#3577) |
d10d7061 | 14-Sep-2024 |
linzhida <[email protected]> |
fix(imisc): fix exception generate when access imsic. |
af95bc32 | 20-Sep-2024 |
Haoyuan Feng <[email protected]> |
fix(prefetch): MMIO address should not send prefetch requests (#3615)
TODO: Prefetcher should check pmp & pma in order to decide whether to
send requests |
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 ...
|
9d9b0bfa | 19-Sep-2024 |
junxiong-ji <[email protected]> |
fix(CSR): add a finite state machine in NewCSR (#3597)
CSR instructions used to be executed without pipelining, so a state
machine is not needed inside the CSR module. After adding an
optimization
fix(CSR): add a finite state machine in NewCSR (#3597)
CSR instructions used to be executed without pipelining, so a state
machine is not needed inside the CSR module. After adding an
optimization that allows certain CSRR instructions to be pipelined, a
state machine is required, since the arbiter to integer register files
must allow a write request before a CSRR instructions is successfully
executed.
show more ...
|
c0a99c00 | 19-Sep-2024 |
Guanghui Cheng <[email protected]> |
fix(VCVT): disable logic about scalar move instructions. (#3607) |
7e1c6071 | 14-Sep-2024 |
Xuan Hu <[email protected]> |
fix(vstopi): wrong API usage in InterruptFilter (#3557)
* Don't use asTypeOf to convert UInt to CSRBundle, since CSRBundle's
assign follows the different rule with other chisel3.Data type. |
e9f7c490 | 14-Sep-2024 |
Xuan Hu <[email protected]> |
feat(Zicbom,Zicboz): add permission check and convert CBO.INVAL to CBO.FLUSH when CBIE=0b01 (#3559)
* CSR
* When reset, xenvcfg.CBZE = 1, xenvcfg.CBCFE = 1, xenvcfg.CBIE = 0b11,
while x in {m, s,
feat(Zicbom,Zicboz): add permission check and convert CBO.INVAL to CBO.FLUSH when CBIE=0b01 (#3559)
* CSR
* When reset, xenvcfg.CBZE = 1, xenvcfg.CBCFE = 1, xenvcfg.CBIE = 0b11,
while x in {m, s, h}.
* Support xenvcfg.CBIE = Flush(0b01)
* Decode
* Use the illegalInst and virtualInst conditions from CSR to assert
EX_II or EX_VI.
* Convert CBO.INVAL to CBO.FLUSH when envcfg.CBIE === EnvCBIE.Flush.
show more ...
|