On Tue, Aug 27, 2024 at 7:40 PM Cédric Le Goater <clg@kaod.org> wrote:
Hello Clément,
On 7/15/24 10:46, Clément Chigot 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.
How did you hit the issue ? which machine ? I didn't see any error
when booting Linux 6.6.3 on mpc8544ds, e500mc, e5500 and e6500.
I hit this issue while running some version of VxWorks on a custom
machine: p3041ds (description [1] and our local implementation [2]).
So, I'm not that surprised you were not able to reproduce.
Signed-off-by: Clément Chigot <chigot@adacore.com>
Fixed: 8e0a5ac87800 ("hw/ppc: Avoid decrementer rounding errors")
LGTM,
Reviewed-by: Cédric Le Goater <clg@redhat.com>
We have some automated tests with the ppce500 machine which it would be
interesting to extend to have a better coverage of booke.
Thanks for the pointer, I'll see if I can extend them.
Thanks,
C.
[1]
https://www.nxp.com/design/design-center/software/qoriq-developer-resources/p3041-qoriq-development-system:P3041DS
[2] https://github.com/AdaCore/qemu/blob/qemu-stable-9.0.0/hw/ppc/p3041ds.c