OpenXiangShan / XiangShan

Open-source high-performance RISC-V processor
Other
4.45k stars 619 forks source link

CoupledL2, Uncache, LSQ: support non-data error handling #3042

Closed linjuanZ closed 3 weeks ago

linjuanZ commented 3 weeks ago

According to CHI specification, a non-data error should be reported when an error is detected that is not related to data corruption. Typically this error is reported for:

While the second kind of errors can be resolved by PMA, the first and the third kind of errors were not supported yet.

This commit implements non-data error handling path. MMIOBridge in CoupledL2 transfers CHI RespErr field downwards into TileLink denied field upwards. Uncache in DCache passes the error to LSQ to generate access fault exception:

BTW, data error is still not supported.

XiangShanRobot commented 3 weeks ago
[Generated by IPC robot] commit: 2e2f0458448c24c824328787c77e7da5bbd2ff66 commit astar copy_and_run coremark gcc gromacs lbm linux mcf microbench milc namd povray wrf xalancbmk
2e2f045 1.822 0.448 2.060 1.180 2.944 2.503 2.291 0.932 1.419 1.328 3.437 2.644 2.399 2.931
master branch: commit astar copy_and_run coremark gcc gromacs lbm linux mcf microbench milc namd povray wrf xalancbmk
202ef6b 1.815 0.448 2.060 1.182 2.953 2.504 2.291 0.930 1.403 1.319 3.426 2.660 2.397 2.940
4c46d75 1.815 0.448 2.060 1.182 2.953 2.504 2.291 0.930 1.403 1.319 3.426 2.660 2.397 2.940
807e518 1.815 0.448 2.060 1.182 2.953 2.504 2.291 0.930 1.403 1.319 3.426 2.660 2.397 2.940
5820cff 1.815 0.448 2.060 1.182 2.953 2.504 2.291 0.930 1.403 1.319 3.426 2.660 2.397 2.940
8daac0b
c41a9f7
31fae68 1.815 0.448 2.060 1.182 2.953 2.504 2.291 0.930 1.403 1.319 3.426 2.660 2.397 2.940
071c63e 1.815 0.448 2.060 1.182 2.953 2.504 2.291 0.930 1.403 1.319 3.426 2.660 2.397 2.940
6b742a1 1.821 0.448 2.054 1.173 2.950 2.500 2.291 0.923 1.376 1.265 3.448 2.667 2.398 2.940
dc30dd9 1.821 0.448 2.054 1.173 2.950 2.500 2.291 0.923 1.376 1.265 3.448 2.667 2.398 2.940