diff mbox

arm: Fix invalid assert logic in op_helper.c

Message ID 1433232329-14983-1-git-send-email-mkletzan@redhat.com
State New
Headers show

Commit Message

Martin Kletzander June 2, 2015, 8:05 a.m. UTC
Boolean value '!arm_current_el(env)' can never be equal to 3.  Fix it
according to the comment above as currently the build fails with
gcc-5.1.0.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
---
 target-arm/op_helper.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Peter Maydell June 2, 2015, 8:10 a.m. UTC | #1
On 2 June 2015 at 09:05, Martin Kletzander <mkletzan@redhat.com> wrote:
> Boolean value '!arm_current_el(env)' can never be equal to 3.  Fix it
> according to the comment above as currently the build fails with
> gcc-5.1.0.
>
> Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
> ---
>  target-arm/op_helper.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/target-arm/op_helper.c b/target-arm/op_helper.c
> index 3f5b9ab5963b..7583ae71217b 100644
> --- a/target-arm/op_helper.c
> +++ b/target-arm/op_helper.c
> @@ -421,7 +421,7 @@ void HELPER(access_check_cp_reg)(CPUARMState *env, void *rip, uint32_t syndrome)
>          /* Requesting a trap to EL2 when we're in EL3 or S-EL0/1 is
>           * a bug in the access function.
>           */
> -        assert(!arm_is_secure(env) && !arm_current_el(env) == 3);
> +        assert(!arm_is_secure(env) && arm_current_el(env) != 3);
>          target_el = 2;
>          break;
>      case CP_ACCESS_TRAP_EL3:

Thanks, but there are already two versions of this patch on the list.

-- PMM
Martin Kletzander June 2, 2015, 8:41 a.m. UTC | #2
On Tue, Jun 02, 2015 at 09:10:23AM +0100, Peter Maydell wrote:
>On 2 June 2015 at 09:05, Martin Kletzander <mkletzan@redhat.com> wrote:
>> Boolean value '!arm_current_el(env)' can never be equal to 3.  Fix it
>> according to the comment above as currently the build fails with
>> gcc-5.1.0.
>>
>> Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
>> ---
>>  target-arm/op_helper.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/target-arm/op_helper.c b/target-arm/op_helper.c
>> index 3f5b9ab5963b..7583ae71217b 100644
>> --- a/target-arm/op_helper.c
>> +++ b/target-arm/op_helper.c
>> @@ -421,7 +421,7 @@ void HELPER(access_check_cp_reg)(CPUARMState *env, void *rip, uint32_t syndrome)
>>          /* Requesting a trap to EL2 when we're in EL3 or S-EL0/1 is
>>           * a bug in the access function.
>>           */
>> -        assert(!arm_is_secure(env) && !arm_current_el(env) == 3);
>> +        assert(!arm_is_secure(env) && arm_current_el(env) != 3);
>>          target_el = 2;
>>          break;
>>      case CP_ACCESS_TRAP_EL3:
>
>Thanks, but there are already two versions of this patch on the list.
>

Oh, I'm very sorry for that, I must've missed them.  I'm still missing
the skill to not miss relevant information from the list.

Have a nice day,
Martin
Michael Tokarev June 2, 2015, 8:52 a.m. UTC | #3
02.06.2015 11:10, Peter Maydell wrote:
> On 2 June 2015 at 09:05, Martin Kletzander <mkletzan@redhat.com> wrote:
>> Boolean value '!arm_current_el(env)' can never be equal to 3.  Fix it
>> according to the comment above as currently the build fails with
>> gcc-5.1.0.
>>
>> Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
>> ---
>>  target-arm/op_helper.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/target-arm/op_helper.c b/target-arm/op_helper.c
>> index 3f5b9ab5963b..7583ae71217b 100644
>> --- a/target-arm/op_helper.c
>> +++ b/target-arm/op_helper.c
>> @@ -421,7 +421,7 @@ void HELPER(access_check_cp_reg)(CPUARMState *env, void *rip, uint32_t syndrome)
>>          /* Requesting a trap to EL2 when we're in EL3 or S-EL0/1 is
>>           * a bug in the access function.
>>           */
>> -        assert(!arm_is_secure(env) && !arm_current_el(env) == 3);
>> +        assert(!arm_is_secure(env) && arm_current_el(env) != 3);
>>          target_el = 2;
>>          break;
>>      case CP_ACCESS_TRAP_EL3:
> 
> Thanks, but there are already two versions of this patch on the list.

Hm.  So why are you sending it to -trivial, while neither of the
3 versions has been sent there?

I found this:

Message-ID: <1432881807-18164-2-git-send-email-edgar.iglesias@gmail.com>
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Subject: [Qemu-devel] [PATCH v3 01/15] target-arm: Correct check for non-EL3
Date: Fri, 29 May 2015 16:43:13 +1000

Launchpad #1460523
https://bugs.launchpad.net/qemu/+bug/1460523

Message-Id: <1433161632-5752-1-git-send-email-chianglungyu@gmail.com>
From: Leon Yu <chianglungyu@gmail.com>
Subject: [Qemu-devel] [PATCH] target-arm: fix incorrect assertion in access_check_cp_reg helper
Date: Mon,  1 Jun 2015 12:27:12 +0000

And this incarnation.

Maybe I should queue one of these to -trivial, is it what you mean?

Thanks,

/mjt
Peter Maydell June 2, 2015, 8:55 a.m. UTC | #4
On 2 June 2015 at 09:52, Michael Tokarev <mjt@tls.msk.ru> wrote:
> 02.06.2015 11:10, Peter Maydell wrote:
>> On 2 June 2015 at 09:05, Martin Kletzander <mkletzan@redhat.com> wrote:
>>> Boolean value '!arm_current_el(env)' can never be equal to 3.  Fix it
>>> according to the comment above as currently the build fails with
>>> gcc-5.1.0.
>>>
>>> Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
>>> ---
>>>  target-arm/op_helper.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/target-arm/op_helper.c b/target-arm/op_helper.c
>>> index 3f5b9ab5963b..7583ae71217b 100644
>>> --- a/target-arm/op_helper.c
>>> +++ b/target-arm/op_helper.c
>>> @@ -421,7 +421,7 @@ void HELPER(access_check_cp_reg)(CPUARMState *env, void *rip, uint32_t syndrome)
>>>          /* Requesting a trap to EL2 when we're in EL3 or S-EL0/1 is
>>>           * a bug in the access function.
>>>           */
>>> -        assert(!arm_is_secure(env) && !arm_current_el(env) == 3);
>>> +        assert(!arm_is_secure(env) && arm_current_el(env) != 3);
>>>          target_el = 2;
>>>          break;
>>>      case CP_ACCESS_TRAP_EL3:
>>
>> Thanks, but there are already two versions of this patch on the list.
>
> Hm.  So why are you sending it to -trivial, while neither of the
> 3 versions has been sent there?
>
> I found this:
>
> Message-ID: <1432881807-18164-2-git-send-email-edgar.iglesias@gmail.com>
> From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
> Subject: [Qemu-devel] [PATCH v3 01/15] target-arm: Correct check for non-EL3
> Date: Fri, 29 May 2015 16:43:13 +1000
>
> Launchpad #1460523
> https://bugs.launchpad.net/qemu/+bug/1460523
>
> Message-Id: <1433161632-5752-1-git-send-email-chianglungyu@gmail.com>
> From: Leon Yu <chianglungyu@gmail.com>
> Subject: [Qemu-devel] [PATCH] target-arm: fix incorrect assertion in access_check_cp_reg helper
> Date: Mon,  1 Jun 2015 12:27:12 +0000
>
> And this incarnation.
>
> Maybe I should queue one of these to -trivial, is it what you mean?

I'm planning to apply Edgar's patch direct to master as a buildfix today.

-- PMM
diff mbox

Patch

diff --git a/target-arm/op_helper.c b/target-arm/op_helper.c
index 3f5b9ab5963b..7583ae71217b 100644
--- a/target-arm/op_helper.c
+++ b/target-arm/op_helper.c
@@ -421,7 +421,7 @@  void HELPER(access_check_cp_reg)(CPUARMState *env, void *rip, uint32_t syndrome)
         /* Requesting a trap to EL2 when we're in EL3 or S-EL0/1 is
          * a bug in the access function.
          */
-        assert(!arm_is_secure(env) && !arm_current_el(env) == 3);
+        assert(!arm_is_secure(env) && arm_current_el(env) != 3);
         target_el = 2;
         break;
     case CP_ACCESS_TRAP_EL3: