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/[email protected]/#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.

Reply via email to