Adding Cédric

On 27/8/24 13:49, Clément Chigot wrote:
Hey,

Gentle ping

Thanks Clément

On Mon, Jul 29, 2024 at 10:33 AM Clément Chigot <chi...@adacore.com> wrote:

Hi,

Gentle ping + CC missing maintainers.

Thanks Clément

On Mon, Jul 15, 2024 at 10:46 AM Clément Chigot <chi...@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 <chi...@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




Reply via email to