Skip to content

fix(MMU): use SPVP mode for HLV, HLVX, and HSV PMP checks#6164

Open
fuhuakai wants to merge 1 commit into
kunminghu-v3from
fix-mmu-hlv-hsv-pmp-mode
Open

fix(MMU): use SPVP mode for HLV, HLVX, and HSV PMP checks#6164
fuhuakai wants to merge 1 commit into
kunminghu-v3from
fix-mmu-hlv-hsv-pmp-mode

Conversation

@fuhuakai

Copy link
Copy Markdown

HLV, HLVX, and HSV instructions may execute from M-mode, but their memory access privilege should be selected by hstatus.SPVP. But the MemBlock PMP checker still used tlbcsr.priv.dmode for all DTLB requests.

Fix this by passing the TLB-computed request mode to MemBlock and using it as the PMP check mode for HLV, HLVX, and HSV requests. Normal DTLB requests still use the current privilege mode, and prefetch requests keep the existing prefetch mode.

HLV, HLVX, and HSV instructions may execute from M-mode, but their
memory access privilege should be selected by hstatus.SPVP. But the
MemBlock PMP checker still used tlbcsr.priv.dmode for all DTLB
requests.

Fix this by passing the TLB-computed request mode to MemBlock and using
it as the PMP check mode for HLV, HLVX, and HSV requests. Normal DTLB
requests still use the current privilege mode, and prefetch requests
keep the existing prefetch mode.
@github-actions github-actions Bot added module: memory Memblock, DCache, TLB, Prefetcher, coupledL2, huancun topic: functionality To introduce new function, e.g. new isa extensions, new components, bug fixes... labels Jun 28, 2026
@github-actions

Copy link
Copy Markdown

Emu - Performance Summary

Metadata

- SHA Run ID
Base 88d1c50 28313770427
Current 30658ca 28314714559

IPC Report

Testcase Current Base Diff
GemsFDTD_49458 1.434487 1.434487 0.00%
astar_rivers_8728 2.290011 2.290011 0.00%
bwaves_30350 1.049473 1.049473 0.00%
bzip2_liberty_739 7.498855 7.498855 0.00%
cactusADM_61235 4.158238 4.158238 0.00%
calculix_53456 5.498385 5.498385 0.00%
dealII_13061 4.123817 4.123817 0.00%
gamess_gradient_36450 4.978995 4.978995 0.00%
gcc_s04_2772 2.386143 2.386143 0.00%
gobmk_nngs_453 0.855712 0.855712 0.00%
gromacs_2907 2.060931 2.060931 0.00%
h264ref_foreman.main_10053 4.377441 4.377441 0.00%
hmmer_nph3_33214 5.806736 5.806736 0.00%
lbm_31064 2.563272 2.563272 0.00%
legacy-astar 2.149898 2.149898 0.00%
legacy-gcc 1.529920 1.529920 0.00%
legacy-gromacs 3.069118 3.069118 0.00%
legacy-lbm 2.660675 2.660675 0.00%
legacy-mcf 1.189384 1.189384 0.00%
legacy-milc 1.780752 1.780752 0.00%
legacy-namd 3.707909 3.707909 0.00%
legacy-wrf 2.741996 2.741996 0.00%
legacy-xalancbmk 4.204662 4.204662 0.00%
leslie3d_37552 2.102164 2.102164 0.00%
libquantum_81539 5.227138 5.227138 0.00%
mcf_6388 0.473802 0.473802 0.00%
milc_7124 2.540540 2.540540 0.00%
namd_75757 3.422323 3.422323 0.00%
omnetpp_14042 0.912514 0.912514 0.00%
perlbench_splitmail_3995 4.282669 4.282669 0.00%
povray_8362 2.786947 2.786947 0.00%
sjeng_64284 2.148513 2.148513 0.00%
soplex_ref_10774 4.527690 4.527690 0.00%
sphinx3_141036 3.967985 3.967985 0.00%
tonto_69015 4.184402 4.184402 0.00%
wrf_112496 2.459527 2.459527 0.00%
xalancbmk_9874 3.435078 3.435078 0.00%
zeusmp_45598 3.397137 3.397137 0.00%
GEOMEAN 2.679662164539143 2.679662164539143 0.00%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

module: memory Memblock, DCache, TLB, Prefetcher, coupledL2, huancun topic: functionality To introduce new function, e.g. new isa extensions, new components, bug fixes...

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant