All of lore.kernel.org
 help / color / mirror / Atom feed
* [BUG] [powerpc] KVM guest boot failure - hangs on startup after commit 98884e0c
@ 2026-03-06 10:52 Misbah Anjum N
  2026-03-09  8:28 ` Misbah Anjum N
  0 siblings, 1 reply; 19+ messages in thread
From: Misbah Anjum N @ 2026-03-06 10:52 UTC (permalink / raw)
  To: qemu-ppc; +Cc: qemu-devel, anisinha, pbonzini

Hi,
I'm reporting a critical regression on ppc64le that causes all KVM 
guests to hang immediately during startup. Git bisect identified commit 
98884e0cc10997a17ce9abfd6ff10be19224ca6a as the first bad commit. The 
commit completely breaks KVM functionality on ppc64le.

Regression Details:
Working Version: QEMU 10.2.50 (v10.2.0-1669-gffcf1a7981)
Broken Version: QEMU 10.2.50 (v10.2.0-1816-g3fb456e9a0)
Bad Commit: 98884e0cc10997a17ce9abfd6ff10be19224ca6a "accel/kvm: add 
changes required to support KVM VM file descriptor change"
Commit Link: 
https://gitlab.com/qemu-project/qemu/-/commit/98884e0cc10997a17ce9abfd6ff10be19224ca6a

Environment:
Host: Fedora 42, Kernel 7.0.0-rc2, Power11 (ppc64le)
Libvirt: 12.1.0
Guest: Fedora 42, Kernel 7.0.0-rc2
Machine Type: pseries with KVM acceleration

Build Configuration:
git clone https://gitlab.com/qemu-project/qemu.git
cd qemu
git submodule init
git submodule update --recursive
./configure --target-list=ppc64-softmmu --disable-tcg --prefix=/usr
make && make install

Reproduction:
Using virt-install:
/usr/bin/virt-install --connect=qemu:///system --hvm --accelerate --name 
'avocado-vt-vm1' --machine pseries --memory=32768 
--vcpu=32,sockets=1,cores=32,threads=1 --import --nographics 
--os-variant rhel8.0 --serial pty --memballoon model=virtio --controller 
type=scsi,model=virtio-scsi --disk 
path=/home/kvmci/tests/data/avocado-vt/images/rhel8.0devel-ppc64le.qcow2,bus=scsi,size=10,format=qcow2 
--network=bridge=virbr0,model=virtio --boot 
emulator=/usr/bin/qemu-system-ppc64
Result: Starting install...
         <hangs indefinitely with no output>

Using direct QEMU command:
/usr/bin/qemu-system-ppc64 -name avocado-vt-vm1 -machine 
pseries,accel=kvm -enable-kvm -m 32768 -smp 
32,sockets=1,cores=32,threads=1 -nographic -serial pty -device 
virtio-balloon -device virtio-scsi-pci,id=scsi0 -drive 
file=/home/kvmci/tests/data/avocado-vt/images/rhel8.0devel-ppc64le.qcow2,if=none,id=drive-scsi0-0-0,format=qcow2 
-device scsi-hd,bus=scsi0.0,drive=drive-scsi0-0-0 -netdev 
bridge,id=net0,br=virbr0 -device virtio-net-pci,netdev=net0
Result: <hangs indefinitely with no output>

Analysis:
The commit introduces VM file descriptor change support with 
architecture-specific hooks.
I attempted the following fixes without success:
1. Changed abort() to return 0; in stubs/kvm.c
2. Added early return in kvm_reset_vmfd() when 
kvm_arch_supports_vmfd_change() returns false

Git Bisect Log:
# git bisect bad
98884e0cc10997a17ce9abfd6ff10be19224ca6a is the first bad commit
commit 98884e0cc10997a17ce9abfd6ff10be19224ca6a (HEAD)
Author: Ani Sinha <anisinha@redhat.com>
Date:   Wed Feb 25 09:19:10 2026 +0530

     accel/kvm: add changes required to support KVM VM file descriptor 
change

     This change adds common kvm specific support to handle KVM VM file 
descriptor
     change. KVM VM file descriptor can change as a part of confidential 
guest reset
     mechanism. A new function api kvm_arch_on_vmfd_change() per
     architecture platform is added in order to implement architecture 
specific
     changes required to support it. A subsequent patch will add x86 
specific
     implementation for kvm_arch_on_vmfd_change() as currently only x86 
supports
     confidential guest reset.

     Signed-off-by: Ani Sinha <anisinha@redhat.com>
     Link: 
https://lore.kernel.org/r/20260225035000.385950-6-anisinha@redhat.com
     Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

  MAINTAINERS            |  6 ++++++
  accel/kvm/kvm-all.c    | 88 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
  accel/kvm/trace-events |  1 +
  include/system/kvm.h   |  3 +++
  stubs/kvm.c            | 22 ++++++++++++++++++++++
  stubs/meson.build      |  1 +
  target/i386/kvm/kvm.c  | 10 ++++++++++
  7 files changed, 128 insertions(+), 3 deletions(-)
  create mode 100644 stubs/kvm.c

# git bisect log
git bisect start
git bisect good ffcf1a7981793973ffbd8100a7c3c6042d02ae23
git bisect bad 3fb456e9a0e9eef6a71d9b49bfff596a0f0046e9
git bisect bad e76c30bb13ecb9dc716fa629954bfb6253056ce2
git bisect good 9bdc612a18588975f5776ee4e562df607fea1b2c
git bisect bad 40c015e96942fd2a3e4d5ace6063b3333a3dd372
git bisect good df8df3cb6b743372ebb335bd8404bc3d748da350
git bisect bad 0f53f021ad1ede28dc8944686544e496cab02e5e
git bisect bad 9f0c2b3032639315faf141010a2603b0dbf56230
git bisect bad 98884e0cc10997a17ce9abfd6ff10be19224ca6a
first bad commit: [98884e0cc10997a17ce9abfd6ff10be19224ca6a]

Thanks,
Misbah Anjum N <misanjum@linux.ibm.com>


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2026-04-09 16:19 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-06 10:52 [BUG] [powerpc] KVM guest boot failure - hangs on startup after commit 98884e0c Misbah Anjum N
2026-03-09  8:28 ` Misbah Anjum N
2026-03-09 11:04   ` Harsh Prateek Bora
2026-03-09 13:11     ` Ani Sinha
2026-03-09 13:23       ` Ani Sinha
2026-03-10  8:39         ` Misbah Anjum N
2026-03-10  8:54           ` Ani Sinha
2026-03-10  9:08             ` Misbah Anjum N
2026-03-10  9:34               ` Ani Sinha
2026-03-10 10:05                 ` Misbah Anjum N
2026-03-10 10:12                   ` Ani Sinha
2026-03-18  8:19                     ` Misbah Anjum N
2026-03-18  8:39                       ` Ani Sinha
2026-03-18  9:30                         ` Ani Sinha
2026-04-06  8:54                           ` Misbah Anjum N
2026-04-07  4:09                             ` Ani Sinha
2026-04-07 13:45                               ` Ani Sinha
2026-04-09 16:18                             ` Harsh Prateek Bora
2026-03-09 13:30     ` Ani Sinha

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.