mirror of https://github.com/xemu-project/xemu.git
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>
This commit is contained in:
parent
eef11ce325
commit
01d09525da
|
@ -500,12 +500,12 @@ vext_ldff(void *vd, void *v0, target_ulong base,
|
|||
cpu_mmu_index(env, false));
|
||||
if (host) {
|
||||
#ifdef CONFIG_USER_ONLY
|
||||
if (page_check_range(addr, nf << esz, PAGE_READ) < 0) {
|
||||
if (page_check_range(addr, offset, PAGE_READ) < 0) {
|
||||
vl = i;
|
||||
goto ProbeSuccess;
|
||||
}
|
||||
#else
|
||||
probe_pages(env, addr, nf << esz, ra, MMU_DATA_LOAD);
|
||||
probe_pages(env, addr, offset, ra, MMU_DATA_LOAD);
|
||||
#endif
|
||||
} else {
|
||||
vl = i;
|
||||
|
|
Loading…
Reference in New Issue