[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] hw/ppc: fix decrementer with BookE timers
|
From: |
Clément Chigot |
|
Subject: |
Re: [PATCH] hw/ppc: fix decrementer with BookE timers |
|
Date: |
Tue, 27 Aug 2024 13:49:44 +0200 |
Hey,
Gentle ping
Thanks Clément
On Mon, Jul 29, 2024 at 10:33 AM Clément Chigot <chigot@adacore.com> wrote:
>
> Hi,
>
> Gentle ping + CC missing maintainers.
>
> Thanks Clément
>
> On Mon, Jul 15, 2024 at 10:46 AM Clément Chigot <chigot@adacore.com> wrote:
> >
> > The BookE decrementer stops at 0, meaning that it won't decremented
> > towards "negative" values.
> > However, the current logic is inverted: decr is updated solely when
> > the resulting value would be negative.
> >
> > Signed-off-by: Clément Chigot <chigot@adacore.com>
> > Fixed: 8e0a5ac87800 ("hw/ppc: Avoid decrementer rounding errors")
> > ---
> > hw/ppc/ppc.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c
> > index e6fa5580c0..9fc85c7de0 100644
> > --- a/hw/ppc/ppc.c
> > +++ b/hw/ppc/ppc.c
> > @@ -729,7 +729,9 @@ static inline int64_t __cpu_ppc_load_decr(CPUPPCState
> > *env, int64_t now,
> > int64_t decr;
> >
> > n = ns_to_tb(tb_env->decr_freq, now);
> > - if (next > n && tb_env->flags & PPC_TIMER_BOOKE) {
> > +
> > + /* BookE timers stop when reaching 0. */
> > + if (next < n && tb_env->flags & PPC_TIMER_BOOKE) {
> > decr = 0;
> > } else {
> > decr = next - n;
> > --
> > 2.25.1
> >
- Re: [PATCH] hw/ppc: fix decrementer with BookE timers,
Clément Chigot <=