diff mbox series

target/riscv: Fix page_check_range use in fault-only-first

Message ID 20230729031618.821-1-zhiwei_liu@linux.alibaba.com (mailing list archive)
State New, archived
Headers show
Series target/riscv: Fix page_check_range use in fault-only-first | expand

Commit Message

LIU Zhiwei July 29, 2023, 3:16 a.m. UTC
Commit bef6f008b98(accel/tcg: Return bool from page_check_range) converts
integer return value to bool type. However, it wrongly converted the use
of the API in riscv fault-only-first, where page_check_range < = 0, should
be converted to !page_check_range.

Signed-off-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
---
 target/riscv/vector_helper.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Richard Henderson July 29, 2023, 9:18 p.m. UTC | #1
On 7/28/23 20:16, LIU Zhiwei wrote:
> Commit bef6f008b98(accel/tcg: Return bool from page_check_range) converts
> integer return value to bool type. However, it wrongly converted the use
> of the API in riscv fault-only-first, where page_check_range < = 0, should
> be converted to !page_check_range.
> 
> Signed-off-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
> ---
>   target/riscv/vector_helper.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)

As far as it goes,

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

though the test will never fail, because tlb_vaddr_to_host just succeeded.


r~
LIU Zhiwei Aug. 1, 2023, 3:37 a.m. UTC | #2
On 2023/7/30 5:18, Richard Henderson wrote:
> On 7/28/23 20:16, LIU Zhiwei wrote:
>> Commit bef6f008b98(accel/tcg: Return bool from page_check_range) 
>> converts
>> integer return value to bool type. However, it wrongly converted the use
>> of the API in riscv fault-only-first, where page_check_range < = 0, 
>> should
>> be converted to !page_check_range.
>>
>> Signed-off-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
>> ---
>>   target/riscv/vector_helper.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> As far as it goes,
>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>
> though the test will never fail, because tlb_vaddr_to_host just 
> succeeded.

It fails one test case in linux-user mode, where tlb_vaddr_to_host 
always succeeded.

Zhiwei

>
>
> r~
Alistair Francis Aug. 2, 2023, 1:30 p.m. UTC | #3
On Fri, Jul 28, 2023 at 11:34 PM LIU Zhiwei
<zhiwei_liu@linux.alibaba.com> wrote:
>
> Commit bef6f008b98(accel/tcg: Return bool from page_check_range) converts
> integer return value to bool type. However, it wrongly converted the use
> of the API in riscv fault-only-first, where page_check_range < = 0, should
> be converted to !page_check_range.
>
> Signed-off-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>

Thanks!

Applied to riscv-to-apply.next

Alistair

> ---
>  target/riscv/vector_helper.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c
> index 4d06754826..a059ef3900 100644
> --- a/target/riscv/vector_helper.c
> +++ b/target/riscv/vector_helper.c
> @@ -583,7 +583,7 @@ 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, offset, PAGE_READ)) {
> +                    if (!page_check_range(addr, offset, PAGE_READ)) {
>                          vl = i;
>                          goto ProbeSuccess;
>                      }
> --
> 2.17.1
>
>
diff mbox series

Patch

diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c
index 4d06754826..a059ef3900 100644
--- a/target/riscv/vector_helper.c
+++ b/target/riscv/vector_helper.c
@@ -583,7 +583,7 @@  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, offset, PAGE_READ)) {
+                    if (!page_check_range(addr, offset, PAGE_READ)) {
                         vl = i;
                         goto ProbeSuccess;
                     }