Message ID | 20211101100143.44356-9-zhiwei_liu@c-sky.com |
---|---|
State | New |
Headers | show |
Series | Support UXL filed in xstatus. | expand |
On 11/1/21 6:01 AM, LIU Zhiwei wrote: > Only check the range that has passed the address translation. > > Signed-off-by: LIU Zhiwei <zhiwei_liu@c-sky.com> > --- > target/riscv/vector_helper.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> > @@ -638,12 +638,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 * msz, PAGE_READ) < 0) { > + if (page_check_range(addr, offset, PAGE_READ) < 0) { > vl = i; > goto ProbeSuccess; > } > #else > - probe_pages(env, addr, nf * msz, ra, MMU_DATA_LOAD); > + probe_pages(env, addr, offset, ra, MMU_DATA_LOAD); > #endif It looks like we could lose the ifdef here and always use probe_pages. But that of course is a different change. r~
diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index 09e76229bc..535420ee66 100644 --- a/target/riscv/vector_helper.c +++ b/target/riscv/vector_helper.c @@ -638,12 +638,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 * msz, PAGE_READ) < 0) { + if (page_check_range(addr, offset, PAGE_READ) < 0) { vl = i; goto ProbeSuccess; } #else - probe_pages(env, addr, nf * msz, ra, MMU_DATA_LOAD); + probe_pages(env, addr, offset, ra, MMU_DATA_LOAD); #endif } else { vl = i;
Only check the range that has passed the address translation. Signed-off-by: LIU Zhiwei <zhiwei_liu@c-sky.com> --- target/riscv/vector_helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)