Re: [PATCH 0/2] KVM: PPC: BookE: Fix boot hang on preemptible kernels

From: Shrikanth Hegde

Date: Sat Nov 07 2026 - 10:38:24 EST


Hi.

On 9/28/26 4:34 PM, Shrikanth Hegde wrote:
Christian Zigotzky had reported that preemptible kernels don't boot on
his FSL Cyrus+ board. The board freezes on running either full/lazy
preemption and has been an issue for a while now.

https://lore.kernel.org/all/b897b0fd-90f2-4215-bcd4-3714e497d773@xxxxxxxxxxx/#t

After 7.0, there is only preempt=full/lazy which removed the
preempt=none/voluntary workaround used to mask the issue. There was
challenge is getting the console logs which made the fixes difficult since
one couldn't know where the issue is.

Thanks to Michal for helping in getting the logs. That pointed at few
places where the issue could be. This series is an attempt at fixing
those.

Christian, KVM team,
Please *test* the patches.

Shrikanth Hegde (2):
KVM: PPC: BookE: Disable preemption before loading guest FP and
Altivec
KVM: PPC: Replay pending interrupts before entering the guest

arch/powerpc/kvm/booke.c | 9 ++++++++-
arch/powerpc/kvm/powerpc.c | 13 +++++++++++++
2 files changed, 21 insertions(+), 1 deletion(-)


All the suggested changes makes sense. I will plan to send out version soon.
Hopefully mid next week.

1. Re-order in below way.
kvmppc_load_guest_fp(vcpu);
kvmppc_load_guest_altivec(vcpu);
kvmppc_fix_ee_before_entry();

2. Define a common helper. I am thinking to name it as ppc_hard_irq_disable().
Since suggestion was also to be used in the entry code.
Other names i could think of are local_hard_irq_disable,
arch_hard_irq_disable, local_irq_disable_hard.