Skip to content

Commit c538dc7

Browse files
ssuthiku-amdbonzini
authored andcommitted
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: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com> Message-Id: <20220408133710.54275-1-suravee.suthikulpanit@amd.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
1 parent af105c9 commit c538dc7

File tree

3 files changed

+5
-1
lines changed

3 files changed

+5
-1
lines changed

arch/x86/include/asm/kvm_host.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1052,6 +1052,7 @@ enum kvm_apicv_inhibit {
10521052
APICV_INHIBIT_REASON_X2APIC,
10531053
APICV_INHIBIT_REASON_BLOCKIRQ,
10541054
APICV_INHIBIT_REASON_ABSENT,
1055+
APICV_INHIBIT_REASON_SEV,
10551056
};
10561057

10571058
struct kvm_arch {

arch/x86/kvm/svm/avic.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -837,7 +837,8 @@ bool avic_check_apicv_inhibit_reasons(enum kvm_apicv_inhibit reason)
837837
BIT(APICV_INHIBIT_REASON_IRQWIN) |
838838
BIT(APICV_INHIBIT_REASON_PIT_REINJ) |
839839
BIT(APICV_INHIBIT_REASON_X2APIC) |
840-
BIT(APICV_INHIBIT_REASON_BLOCKIRQ);
840+
BIT(APICV_INHIBIT_REASON_BLOCKIRQ) |
841+
BIT(APICV_INHIBIT_REASON_SEV);
841842

842843
return supported & BIT(reason);
843844
}

arch/x86/kvm/svm/sev.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,8 @@ static int sev_guest_init(struct kvm *kvm, struct kvm_sev_cmd *argp)
260260
INIT_LIST_HEAD(&sev->regions_list);
261261
INIT_LIST_HEAD(&sev->mirror_vms);
262262

263+
kvm_set_apicv_inhibit(kvm, APICV_INHIBIT_REASON_SEV);
264+
263265
return 0;
264266

265267
e_free:

0 commit comments

Comments
 (0)