Hi Mark,
On 18/09/26 6:49 pm, Mark Cave-Ayland wrote:
On 03/09/2026 12:50, Kirill A. Korinsky wrote:
OpenBSD writes zero to an edge triggered decrementer, then enters idle
expecting its interrupt. QEMU defers the already due edge to a timer at
the current virtual time, leaving the guest stalled.
Signed-off-by: Kirill A. Korinsky <[email protected]>
---
hw/ppc/ppc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c
index b123b4cc1c..d99e47d532 100644
--- a/hw/ppc/ppc.c
+++ b/hw/ppc/ppc.c
@@ -885,6 +885,7 @@ static void __cpu_ppc_store_decr(PowerPCCPU *cpu,
int64_t now, uint64_t *nextp,
* an edge interrupt, so raise it here too.
*/
if (((flags & PPC_DECR_UNDERFLOW_LEVEL) && signed_value < 0) ||
+ ((flags & PPC_DECR_UNDERFLOW_TRIGGERED) && value == 0) ||
((flags & PPC_DECR_UNDERFLOW_TRIGGERED) && signed_value < 0
&& signed_decr >= 0)) {
(*raise_excp)(cpu);
LGTM, however since this is core PPC code I'd like a R-B tag from the
main PPC maintainers above. Chinmay/Harsh?
Thanks for your review feedback on this series.
Chinmay is on vacation till next week and I had asked Amit and Anushree
offline to provide their review/test feedback on this (considering this
2/5 generic change). I see Kirill has posted v2 based on Amit's review
feedback now. Since it is going to land in 11.2, I think we can give it
a little more time for review feedback (if any), before pulling it in
along with other PPC patches. Let me know if any other concerns? Thanks!
regards,
Harsh
ATB,
Mark.