]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
KVM: SEV: Consolidate the SEV policy bits in a single header file
authorTom Lendacky <thomas.lendacky@amd.com>
Mon, 27 Oct 2025 19:33:49 +0000 (14:33 -0500)
committerSean Christopherson <seanjc@google.com>
Fri, 14 Nov 2025 18:29:43 +0000 (10:29 -0800)
Consolidate SEV policy bit definitions into a single file. Use
include/linux/psp-sev.h to hold the definitions and remove the current
definitions from the arch/x86/kvm/svm/sev.c and arch/x86/include/svm.h
files.

No functional change intended.

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Link: https://patch.msgid.link/d9639f88a0b521a1a67aeac77cc609fdea1f90bd.1761593632.git.thomas.lendacky@amd.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/svm/sev.c
arch/x86/kvm/svm/svm.h
include/linux/psp-sev.h

index 0835c664fbfdb35a049c4e65d648051fd54af4dd..f04589ae76bb5d489bcd631bb3c362e6a4a438ae 100644 (file)
@@ -65,15 +65,7 @@ module_param_named(ciphertext_hiding_asids, nr_ciphertext_hiding_asids, uint, 04
 #define AP_RESET_HOLD_NAE_EVENT                1
 #define AP_RESET_HOLD_MSR_PROTO                2
 
-/* As defined by SEV-SNP Firmware ABI, under "Guest Policy". */
-#define SNP_POLICY_MASK_API_MINOR      GENMASK_ULL(7, 0)
-#define SNP_POLICY_MASK_API_MAJOR      GENMASK_ULL(15, 8)
-#define SNP_POLICY_MASK_SMT            BIT_ULL(16)
-#define SNP_POLICY_MASK_RSVD_MBO       BIT_ULL(17)
-#define SNP_POLICY_MASK_DEBUG          BIT_ULL(19)
-#define SNP_POLICY_MASK_SINGLE_SOCKET  BIT_ULL(20)
-
-#define SNP_POLICY_MASK_VALID          (SNP_POLICY_MASK_API_MINOR      | \
+#define KVM_SNP_POLICY_MASK_VALID      (SNP_POLICY_MASK_API_MINOR      | \
                                         SNP_POLICY_MASK_API_MAJOR      | \
                                         SNP_POLICY_MASK_SMT            | \
                                         SNP_POLICY_MASK_RSVD_MBO       | \
@@ -2207,7 +2199,7 @@ static int snp_launch_start(struct kvm *kvm, struct kvm_sev_cmd *argp)
        if (params.flags)
                return -EINVAL;
 
-       if (params.policy & ~SNP_POLICY_MASK_VALID)
+       if (params.policy & ~KVM_SNP_POLICY_MASK_VALID)
                return -EINVAL;
 
        /* Check for policy bits that must be set */
@@ -5085,10 +5077,10 @@ struct vmcb_save_area *sev_decrypt_vmsa(struct kvm_vcpu *vcpu)
 
        /* Check if the SEV policy allows debugging */
        if (sev_snp_guest(vcpu->kvm)) {
-               if (!(sev->policy & SNP_POLICY_DEBUG))
+               if (!(sev->policy & SNP_POLICY_MASK_DEBUG))
                        return NULL;
        } else {
-               if (sev->policy & SEV_POLICY_NODBG)
+               if (sev->policy & SEV_POLICY_MASK_NODBG)
                        return NULL;
        }
 
index 6765a5e433cea3b92e0aa77db81e18bcdc29efef..a9f6c1ece63d422d3c6393dca5a2e1e8e706b52e 100644 (file)
@@ -117,9 +117,6 @@ struct kvm_sev_info {
        cpumask_var_t have_run_cpus; /* CPUs that have done VMRUN for this VM. */
 };
 
-#define SEV_POLICY_NODBG       BIT_ULL(0)
-#define SNP_POLICY_DEBUG       BIT_ULL(19)
-
 struct kvm_svm {
        struct kvm kvm;
 
index e0dbcb4b4fd9a449d5142ae0326a69a188e3357f..27c92543bf389b7b569c5c9dc07c214ed5952acb 100644 (file)
 
 #include <uapi/linux/psp-sev.h>
 
+/* As defined by SEV API, under "Guest Policy". */
+#define SEV_POLICY_MASK_NODBG                  BIT(0)
+#define SEV_POLICY_MASK_NOKS                   BIT(1)
+#define SEV_POLICY_MASK_ES                     BIT(2)
+#define SEV_POLICY_MASK_NOSEND                 BIT(3)
+#define SEV_POLICY_MASK_DOMAIN                 BIT(4)
+#define SEV_POLICY_MASK_SEV                    BIT(5)
+#define SEV_POLICY_MASK_API_MAJOR              GENMASK(23, 16)
+#define SEV_POLICY_MASK_API_MINOR              GENMASK(31, 24)
+
+/* As defined by SEV-SNP Firmware ABI, under "Guest Policy". */
+#define SNP_POLICY_MASK_API_MINOR              GENMASK_ULL(7, 0)
+#define SNP_POLICY_MASK_API_MAJOR              GENMASK_ULL(15, 8)
+#define SNP_POLICY_MASK_SMT                    BIT_ULL(16)
+#define SNP_POLICY_MASK_RSVD_MBO               BIT_ULL(17)
+#define SNP_POLICY_MASK_MIGRATE_MA             BIT_ULL(18)
+#define SNP_POLICY_MASK_DEBUG                  BIT_ULL(19)
+#define SNP_POLICY_MASK_SINGLE_SOCKET          BIT_ULL(20)
+
 #define SEV_FW_BLOB_MAX_SIZE   0x4000  /* 16KB */
 
 /**