• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Revision01d09525da655fed6cabc49a6088c4e11f93612a (tree)
Time2022-01-21 14:52:57
AuthorLIU Zhiwei <zhiwei_liu@c-sk...>
CommiterAlistair Francis

Log Message

target/riscv: Fix check range for first fault only

Only check the range that has passed the address translation.

Signed-off-by: LIU Zhiwei <zhiwei_liu@c-sky.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-id: 20220120122050.41546-19-zhiwei_liu@c-sky.com
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>

Change Summary

Incremental Difference

--- a/target/riscv/vector_helper.c
+++ b/target/riscv/vector_helper.c
@@ -500,12 +500,12 @@ vext_ldff(void *vd, void *v0, target_ulong base,
500500 cpu_mmu_index(env, false));
501501 if (host) {
502502 #ifdef CONFIG_USER_ONLY
503- if (page_check_range(addr, nf << esz, PAGE_READ) < 0) {
503+ if (page_check_range(addr, offset, PAGE_READ) < 0) {
504504 vl = i;
505505 goto ProbeSuccess;
506506 }
507507 #else
508- probe_pages(env, addr, nf << esz, ra, MMU_DATA_LOAD);
508+ probe_pages(env, addr, offset, ra, MMU_DATA_LOAD);
509509 #endif
510510 } else {
511511 vl = i;