qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PULL 2/3] target/mips: Implement emulation of nanoMIPS


From: Aleksandar Markovic
Subject: Re: [Qemu-devel] [PULL 2/3] target/mips: Implement emulation of nanoMIPS EVA instructions
Date: Mon, 29 Oct 2018 11:14:21 +0000

> From: Peter Maydell <address@hidden>
> Sent: Monday, October 29, 2018 11:57 AM
> Subject: Re: [PULL 2/3] target/mips: Implement emulation of nanoMIPS EVA 
> instructions
> 
> On 25 October 2018 at 21:19, Aleksandar Markovic
> <address@hidden> wrote:
> > From: Dimitrije Nikolic <address@hidden>
> >
> > Implement emulation of nanoMIPS EVA instructions. They are all
> > part of P.LS.E0 instruction pool, or one of its subpools.
> >
> > Reviewed-by: Stefan Markovic <address@hidden>
> > Signed-off-by: Dimitrije Nikolic <address@hidden>
> > Signed-off-by: Aleksandar Markovic <address@hidden>
> > --
> 
> Hi; Coverity points out (CID 1396475) that the switch
> cases for NM_LLWPE and NM_SCWPE fall through without
> either a 'break' statement or a '/* fall through */' comment:
> 
> > +                case NM_P_LLE:
> > +                    switch (extract32(ctx->opcode, 2, 2)) {
> > +                    case NM_LLE:
> > +                        check_xnp(ctx);
> > +                        check_eva(ctx);
> > +                        check_cp0_enabled(ctx);
> > +                        gen_ld(ctx, OPC_LLE, rt, rs, s);
> > +                        break;
> > +                    case NM_LLWPE:
> > +                        check_xnp(ctx);
> > +                        check_eva(ctx);
> > +                        check_cp0_enabled(ctx);
> > +                        gen_llwp(ctx, rs, 0, rt, extract32(ctx->opcode, 3, 
> > 5));
> > +                    default:
> > +                        generate_exception_end(ctx, EXCP_RI);
> > +                        break;
> > +                    }
> > +                    break;
> > +                case NM_P_SCE:
> > +                    switch (extract32(ctx->opcode, 2, 2)) {
> > +                    case NM_SCE:
> > +                        check_xnp(ctx);
> > +                        check_eva(ctx);
> > +                        check_cp0_enabled(ctx);
> > +                        gen_st_cond(ctx, OPC_SCE, rt, rs, s);
> > +                        break;
> > +                    case NM_SCWPE:
> > +                        check_xnp(ctx);
> > +                        check_eva(ctx);
> > +                        check_cp0_enabled(ctx);
> > +                        gen_scwp(ctx, rs, 0, rt, extract32(ctx->opcode, 3, 
> > 5));
> > +                    default:
> > +                        generate_exception_end(ctx, EXCP_RI);
> > +                        break;
> > +                    }
> > +                    break;
> > +                }
> > +                break;
> >              case NM_P_LS_WM:
> >              case NM_P_LS_UAWM:
> >                  check_nms(ctx);
> 
> Could you send a patch which adds whichever of the two is correct, please?
>

Sure. 'break' is missing in both cases.

Thanks,
Aleksandar

> thanks
> -- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]