OpenXiangShan / XiangShan

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

PageTableCache, RVH: fix the error fence when sfence_vma or hfence_gvma is executed #3077

Closed pxk27 closed 2 weeks ago

pxk27 commented 2 weeks ago

sfence_vma: When sfence_vma rs1 === x0 and rs2 =/= x0, PageCache incorrectly flush the global mappings in level3. In non-virtmode, sfence_vma fence noS2xlate pte in PageCache. hfence_gvma: When hfence_gvma rs2=/=x0, hfence_gvma will specify a single virtual machine identifier (VMID). In PageCache, the case that rs1 =/= x0 is wrong: when rs1 ===x0, rs2 === x0 specifies a VMID and rs2=/= x0 don't specifies a VMID.

XiangShanRobot commented 2 weeks ago
[Generated by IPC robot] commit: a6386af98b09b7340fabdbf76e0b9c64b0670b3f commit astar copy_and_run coremark gcc gromacs lbm linux mcf microbench milc namd povray wrf xalancbmk
a6386af 1.808 0.447 2.043 1.187 2.938 2.508 2.197 0.921 1.369 1.441 3.454 2.658 2.399 2.932
master branch: commit astar copy_and_run coremark gcc gromacs lbm linux mcf microbench milc namd povray wrf xalancbmk
26c1abd 1.803 0.448 2.039 1.187 2.936 2.508 2.197 0.930 1.378 1.441 3.428 2.669 2.399 2.932
fd3aa05 1.803 0.448 2.040 1.187 2.936 2.508 2.197 0.930 1.378 1.441 3.428 2.669 2.399 2.932
1b0de92 1.808 0.447 2.043 1.187 2.938 2.508 2.197 0.921 1.369 1.441 3.454 2.658 2.399 2.932
d8a998b 1.808 0.447 2.043 1.187 2.938 2.508 2.197 0.921 1.369 1.441 3.454 2.658 2.399 2.932
ee8d1f1 1.808 0.447 2.043 1.187 2.938 2.508 2.197 0.921 1.369 1.441 3.454 2.658 2.399 2.932
fcec058 1.808 0.447 2.043 1.187 2.938 2.508 2.197 0.921 1.369 1.441 3.454 2.658 2.399 2.932
0fbf39a 1.808 0.447 2.043 1.187 2.938 2.508 2.197 0.921 1.369 1.441 3.454 2.658 2.399 2.932