
On 8/27/25 09:33, Andrea Bolognani wrote:
On Mon, Aug 25, 2025 at 11:05:02AM -0600, Jim Fehlig wrote:
On 8/20/25 09:12, Andrea Bolognani wrote:
On Thu, Aug 14, 2025 at 03:07:10PM -0600, Jim Fehlig wrote:
On 8/13/25 09:01, Andrea Bolognani wrote:
Can you be more specific about the issue you're experiencing for SEV(-ES) guests?
I'm seeing the same issue we were trying to solve for SNP guests with this series
ERROR operation failed: Unable to find 'efi' firmware that is compatible with the current configuration
Please share the debug output showing what happens during the firmware selection process. That will tell us why the amdsev.json descriptor is not considered suitable. I'm really surprised by this because things seem to work correctly in the context of the test suite, but clearly there's something going on.
Debug output attached. I've also attached the amdsev.json equivalent I'm using for testing. And for completeness, here's the virt-install command
virt-install --virt-type kvm --hvm --arch x86_64 --name sev-es-temp --vcpus 2,maxvcpus=4 --memory 2048,maxmemory=4096 --memtune hard_limit=4563402 --boot uefi --disk path=/vm_images/jim/images/sev-temp/disk0.qcow2,size=60,format=qcow2 --network bridge=br0,model=virtio --location http://blabla/install/sles15sp7/x86_64 --autoconsole text --extra-args "console=ttyS0,115200n8" --extra-args "textmode=1" --graphics vnc --serial pty --launchSecurity sev,policy=0x03 --machine q35 --events on_reboot=destroy
Here are the relevant bits from the log:
... qemuInteropFetchConfigs:149 : firmware description path '/usr/share/qemu/firmware/50-ovmf-x86_64-sev-snp.json' len=464 qemuInteropFetchConfigs:149 : firmware description path '/usr/share/qemu/firmware/50-ovmf-x86_64-sev.json' len=570 qemuInteropFetchConfigs:149 : firmware description path '/usr/share/qemu/firmware/50-seabios-256k.json' len=664 ... qemuFirmwareMatchDomain:1361 : Domain requires SEV, firmware '/usr/share/qemu/firmware/50-ovmf-x86_64-sev-snp.json' doesn't support it qemuFirmwareMatchDomain:1311 : Discarding loader without split flash qemuFirmwareMatchDomain:1182 : No matching interface in '/usr/share/qemu/firmware/50-seabios-256k.json' ...
So 50-ovmf-x86_64-sev.json is discarded because it advertises a stateless firmware, while libvirt assumes that you want a stateful one. Patch 05/10 from the v2 series should address this very problem by making a stateless firmware eligible for this scenario.
Nod. It's spread across threads and responses therein, but I've mentioned the patch works great for me :-).
Can you please try applying that series and checking whether that makes the issue go away?
I applied the full series on recent master and can verify autoselection works for SEV, SEV-ES and SEV-SNP guests. I wasn't able to verify TDX since the hardware is occupied ATM, but it should work fine. The TDX descriptor advertises the type as 'memory', and in my testing libvirt already correctly handled autoselection for that firmware device type. Regards, Jim