On Fri, 25 Oct 2024 at 16:50, Michael Tokarev <m...@tls.msk.ru> wrote:
>
> 25.10.2024 05:48, Ido Plat wrote:
> > Pass the stage size to step function callback,
> > otherwise do_setm would hang when size is larger then page size because 
> > stage size would underflow.
> > This fix changes do_setm to be more inline with do_setp.
> >
> > Fixes: 0e92818887dee ("target/arm: Implement the SET* instructions")
> > Signed-off-by: Ido Plat <ido.pl...@ibm.com>
> > ---
> >   target/arm/tcg/helper-a64.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/target/arm/tcg/helper-a64.c b/target/arm/tcg/helper-a64.c
> > index 56b431faf5..8f42a28d07 100644
> > --- a/target/arm/tcg/helper-a64.c
> > +++ b/target/arm/tcg/helper-a64.c
> > @@ -1348,7 +1348,7 @@ static void do_setm(CPUARMState *env, uint32_t 
> > syndrome, uint32_t mtedesc,
> >       /* Do the actual memset: we leave the last partial page to SETE */
> >       stagesetsize = setsize & TARGET_PAGE_MASK;
> >       while (stagesetsize > 0) {
> > -        step = stepfn(env, toaddr, setsize, data, memidx, &mtedesc, ra);
> > +        step = stepfn(env, toaddr, stagesetsize, data, memidx, &mtedesc, 
> > ra);
> >           toaddr += step;
> >           setsize -= step;
> >           stagesetsize -= step;
> This also seems to be:
>
> Cc: qemu-sta...@nongnu.org
>
> (Cc'ed now, there's no need to add it again).
>
> Please let me know if it shouldn't.

Yes, I think it's stable material.



Applied to target-arm.next, thanks.

-- PMM

Reply via email to