Skip to content

Commit 45d522d

Browse files
committed
KVM: SVM: Macrofy SEV=n versions of sev_xxx_guest()
Define sev_{,es_,snp_}guest() as "false" when SEV is disabled via Kconfig, i.e. when CONFIG_KVM_AMD_SEV=n. Despite the helpers being __always_inline, gcc-12 is somehow incapable of realizing that the return value is a compile-time constant and generates sub-optimal code. Opportunistically clump the paths together to reduce the amount of ifdeffery. No functional change intended. Link: https://lore.kernel.org/r/20241127234659.4046347-1-seanjc@google.com Signed-off-by: Sean Christopherson <seanjc@google.com>
1 parent 3522c41 commit 45d522d

File tree

1 file changed

+5
-12
lines changed

1 file changed

+5
-12
lines changed

arch/x86/kvm/svm/svm.h

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -358,39 +358,32 @@ static __always_inline struct kvm_sev_info *to_kvm_sev_info(struct kvm *kvm)
358358
return &to_kvm_svm(kvm)->sev_info;
359359
}
360360

361+
#ifdef CONFIG_KVM_AMD_SEV
361362
static __always_inline bool sev_guest(struct kvm *kvm)
362363
{
363-
#ifdef CONFIG_KVM_AMD_SEV
364364
struct kvm_sev_info *sev = &to_kvm_svm(kvm)->sev_info;
365365

366366
return sev->active;
367-
#else
368-
return false;
369-
#endif
370367
}
371-
372368
static __always_inline bool sev_es_guest(struct kvm *kvm)
373369
{
374-
#ifdef CONFIG_KVM_AMD_SEV
375370
struct kvm_sev_info *sev = &to_kvm_svm(kvm)->sev_info;
376371

377372
return sev->es_active && !WARN_ON_ONCE(!sev->active);
378-
#else
379-
return false;
380-
#endif
381373
}
382374

383375
static __always_inline bool sev_snp_guest(struct kvm *kvm)
384376
{
385-
#ifdef CONFIG_KVM_AMD_SEV
386377
struct kvm_sev_info *sev = &to_kvm_svm(kvm)->sev_info;
387378

388379
return (sev->vmsa_features & SVM_SEV_FEAT_SNP_ACTIVE) &&
389380
!WARN_ON_ONCE(!sev_es_guest(kvm));
381+
}
390382
#else
391-
return false;
383+
#define sev_guest(kvm) false
384+
#define sev_es_guest(kvm) false
385+
#define sev_snp_guest(kvm) false
392386
#endif
393-
}
394387

395388
static inline bool ghcb_gpa_is_registered(struct vcpu_svm *svm, u64 val)
396389
{

0 commit comments

Comments
 (0)