On Mon, Feb 17, 2025 at 01:08:12PM +0100, Paolo Bonzini wrote:
> It is possible to start QEMU with a confidential-guest-support object
> even in TCG mode.  While there is already a check in 
> qemu_machine_creation_done:
> 
>     if (machine->cgs && !machine->cgs->ready) {
>         error_setg(errp, "accelerator does not support confidential guest %s",
>                    object_get_typename(OBJECT(machine->cgs)));
>         exit(1);
>     }
> 
> the creation of RAMBlocks happens earlier, in qemu_init_board(), if
> the command line does not override the default memory backend with
> -M memdev.  Then the RAMBlock will try to use guest_memfd (because
> machine_require_guest_memfd correctly returns true; at least correctly
> according to the current implementation) and trigger the assertion
> failure for kvm_enabled().  This happend with a command line as
> simple as the following:
> 
>     qemu-system-x86_64 -m 512 -nographic -object 
> sev-snp-guest,reduced-phys-bits=48,id=sev0 \
>        -M q35,kernel-irqchip=split,confidential-guest-support=sev0
>     qemu-system-x86_64: ../system/physmem.c:1871: ram_block_add: Assertion 
> `kvm_enabled()' failed.
> 
> Cc: Xiaoyao Li <xiaoyao...@intel.com>
> Cc: qemu-sta...@nongnu.org
> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
> ---
>  system/physmem.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)

Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


Reply via email to