From: Tom Dohrmann <erbse...@gmx.de> KVM_CAP_READONLY_MEM used to be a global capability, but with the introduction of AMD SEV-SNP confidential VMs, this extension is not always available on all VM types [1,2].
Query the extension on the VM level instead of on the KVM level. [1] https://patchwork.kernel.org/project/kvm/patch/20240809190319.1710470-2-sea...@google.com/ [2] https://patchwork.kernel.org/project/kvm/patch/20240902144219.3716974-1-erbse...@gmx.de/ Cc: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Tom Dohrmann <erbse...@gmx.de> Link: https://lore.kernel.org/r/20240903062953.3926498-1-erbse...@gmx.de Cc: qemu-sta...@nongnu.org Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> (cherry picked from commit 64e0e63ea16aa0122dc0c41a0679da0ae4616208) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 6a9d10b1af..a103ae2ae8 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -2589,7 +2589,7 @@ static int kvm_init(MachineState *ms) } kvm_readonly_mem_allowed = - (kvm_check_extension(s, KVM_CAP_READONLY_MEM) > 0); + (kvm_vm_check_extension(s, KVM_CAP_READONLY_MEM) > 0); kvm_resamplefds_allowed = (kvm_check_extension(s, KVM_CAP_IRQFD_RESAMPLE) > 0); -- 2.39.5