[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] target/ppc/excp_helper: Add a missing break for POWERPC_EXCP
From: |
David Gibson |
Subject: |
Re: [PATCH] target/ppc/excp_helper: Add a missing break for POWERPC_EXCP_HISI |
Date: |
Wed, 28 Oct 2020 15:27:58 +1100 |
On Wed, Oct 28, 2020 at 12:16:20PM +0800, Chen Qun wrote:
> When using -Wimplicit-fallthrough in our CFLAGS, the compiler showed warning:
> ../target/ppc/excp_helper.c: In function ‘powerpc_excp’:
> ../target/ppc/excp_helper.c:529:13: warning: this statement may fall through
> [-Wimplicit-fallthrough=]
> 529 | msr |= env->error_code;
> | ~~~~^~~~~~~~~~~~~~~~~~
> ../target/ppc/excp_helper.c:530:5: note: here
> 530 | case POWERPC_EXCP_HDECR: /* Hypervisor decrementer exception
> */
> | ^~~~
>
> A break statement may be required to enter this exception.
>
> Reported-by: Euler Robot <euler.robot@huawei.com>
> Signed-off-by: Chen Qun <kuhn.chenqun@huawei.com>
This change is incorrect. We definitely need the fallthrough to set
srr[01] properly. So the correct fix is to annotate the fallthrough,
not remove it.
>
> ---
> I guess there's a break missing in 'POWERPC_EXCP_HISI' branch,
> just like the 'POWERPC_EXCP_ISI' branch.
> ---
> target/ppc/excp_helper.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c
> index a988ba15f4..5e69ac1b33 100644
> --- a/target/ppc/excp_helper.c
> +++ b/target/ppc/excp_helper.c
> @@ -527,6 +527,7 @@ static inline void powerpc_excp(PowerPCCPU *cpu, int
> excp_model, int excp)
> break;
> case POWERPC_EXCP_HISI: /* Hypervisor instruction storage exception
> */
> msr |= env->error_code;
> + break;
> case POWERPC_EXCP_HDECR: /* Hypervisor decrementer exception
> */
> case POWERPC_EXCP_HDSI: /* Hypervisor data storage exception
> */
> case POWERPC_EXCP_HDSEG: /* Hypervisor data segment exception
> */
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature