Environment
- Host OS: Ubuntu 24.04
CPU: AMD EPYC (SEV-SNP capable, API v1.55, build 39)
GPU: NVIDIA H100 PCIe (10DE:2331)
KubeVirt: v1.7.0
QEMU: qemu-kvm-10.1.0-10.el9
Machine Type: pc-q35-rhel9.8.0
OVMF: OVMF.amdsev.fd
Guest OS: Ubuntu 24.04 Cloud Image (noble-server-cloudimg-amd64.img)
Problem Description
SEV-SNP confidential VM with H100 GPU passthrough pauses immediately after kernel message “Freeing SMP alternatives memory: 48K” with QEMU reporting internal-error status.
Test Matrix
| Configuration | Result |
|---|---|
| KubeVirt + SNP + H100 GPU | ❌ FAILS - pauses at “Freeing SMP alternatives memory” |
| KubeVirt + SNP + No GPU | ✅ Works - boots fully |
| KubeVirt + No SNP + H100 GPU | ✅ Works - boots fully |
| Bare-metal QEMU + SNP + H100 GPU | ✅ Works - boots fully |
QEMU Status When Failed
json
{"return":{"status":"internal-error","running":false}}
SEV Status (SNP is enabled)
json
{"return":{"enabled":true,"api-minor":55,"state":"running","api-major":1,"snp-policy":196608,"sev-type":"sev-snp","build-id":39}}
```
### Last Kernel Messages Before Pause
```
[ 2.182403] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'compacted' format.
[ 2.211898] Freeing SMP alternatives memory: 48K
```
### Key QEMU Command Line Parameters
```
-machine pc-q35-rhel9.8.0,usb=off,vmport=off,dump-guest-core=off,acpi=on
-cpu EPYC-v4,mpx=off
-bios /var/run/kubevirt-private/vmi-disks/ovmf-hostdisk/OVMF.amdsev.fd
-object {"qom-type":"memory-backend-memfd","id":"ram-node0","share":true,"size":17179869184}
-object sev-snp-guest,id=sev0,cbitpos=51,reduced-phys-bits=1
-machine confidential-guest-support=sev0
-device {"driver":"vfio-pci","host":"0000:21:00.0","id":"ua-hostdevice-gpu1","bus":"pci.11","addr":"0x0","rombar":0}
Working Bare-Metal Configuration
The same SNP + H100 configuration works when running QEMU directly on bare-metal with:
- QEMU: qemu-system-x86_64 9.2.1 (Ubuntu)
Machine type: q35 (generic)
Same OVMF, same guest image, same GPU
Steps to Reproduce
-
Deploy KubeVirt v1.7.0 with RHEL QEMU 10.1.0
-
Create SEV-SNP enabled VM with H100 GPU passthrough
-
Use standard OVMF.amdsev.fd and Ubuntu 24.04 cloud image
-
VM boots but pauses at “Freeing SMP alternatives memory: 48K”
Request
-
Is SEV-SNP + H100 GPU passthrough supported in KubeVirt/QEMU?
-
Recommended QEMU version and configuration for this use case
-
Any known workarounds or patches