Commit c538dc79 authored by Suravee Suthikulpanit's avatar Suravee Suthikulpanit Committed by Paolo Bonzini
Browse files

KVM: SVM: Do not activate AVIC for SEV-enabled guest



Since current AVIC implementation cannot support encrypted memory,
inhibit AVIC for SEV-enabled guest.

Signed-off-by: default avatarSuravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Message-Id: <20220408133710.54275-1-suravee.suthikulpanit@amd.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent af105c9c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1052,6 +1052,7 @@ enum kvm_apicv_inhibit {
	APICV_INHIBIT_REASON_X2APIC,
	APICV_INHIBIT_REASON_BLOCKIRQ,
	APICV_INHIBIT_REASON_ABSENT,
	APICV_INHIBIT_REASON_SEV,
};

struct kvm_arch {
+2 −1
Original line number Diff line number Diff line
@@ -837,7 +837,8 @@ bool avic_check_apicv_inhibit_reasons(enum kvm_apicv_inhibit reason)
			  BIT(APICV_INHIBIT_REASON_IRQWIN) |
			  BIT(APICV_INHIBIT_REASON_PIT_REINJ) |
			  BIT(APICV_INHIBIT_REASON_X2APIC) |
			  BIT(APICV_INHIBIT_REASON_BLOCKIRQ);
			  BIT(APICV_INHIBIT_REASON_BLOCKIRQ) |
			  BIT(APICV_INHIBIT_REASON_SEV);

	return supported & BIT(reason);
}
+2 −0
Original line number Diff line number Diff line
@@ -260,6 +260,8 @@ static int sev_guest_init(struct kvm *kvm, struct kvm_sev_cmd *argp)
	INIT_LIST_HEAD(&sev->regions_list);
	INIT_LIST_HEAD(&sev->mirror_vms);

	kvm_set_apicv_inhibit(kvm, APICV_INHIBIT_REASON_SEV);

	return 0;

e_free: