When panic_timeout is set, the user would expect that the system would reboot after some timeout after a panic.
However, on powerpc architecture, a panic notifier may not ever return and even shutdown the system. The main example that impacts platforms we support is pseries calling RTAS ibm,os-term.
That panic notifier and calling RTAS ibm,os-term is useful for fadump, so this should not be impacted.
The Linux code has changed back and forth on considering the panic_timeout setting and checking whether ibm,extended-os-term was available. Unfortunately, recent changes on qemu led to the guest being shut down when calling ibm,os-term even when ibm,extended-os-term was available.
Luckily, upstream Linux already has the change that does not call ibm,os-term on panic, but only during fadump. So, we can use that commit for fixing this. Changing qemu itself is harder as: 1) qemu community already decided some qemu settings should override PAPR; 2) updating deployed hypervisor is harder than updating our guest kernels.
When panic_timeout is set, the user would expect that the system would reboot after some timeout after a panic.
However, on powerpc architecture, a panic notifier may not ever return and even shutdown the system. The main example that impacts platforms we support is pseries calling RTAS ibm,os-term.
That panic notifier and calling RTAS ibm,os-term is useful for fadump, so this should not be impacted.
The Linux code has changed back and forth on considering the panic_timeout setting and checking whether ibm,extended- os-term was available. Unfortunately, recent changes on qemu led to the guest being shut down when calling ibm,os-term even when ibm,extended- os-term was available.
Luckily, upstream Linux already has the change that does not call ibm,os-term on panic, but only during fadump. So, we can use that commit for fixing this. Changing qemu itself is harder as: 1) qemu community already decided some qemu settings should override PAPR; 2) updating deployed hypervisor is harder than updating our guest kernels.
Cascardo.