|
32 | 32 | #define SNP_POLICY_MASK_MIGRATE_MA BIT_ULL(18) |
33 | 33 | #define SNP_POLICY_MASK_DEBUG BIT_ULL(19) |
34 | 34 | #define SNP_POLICY_MASK_SINGLE_SOCKET BIT_ULL(20) |
| 35 | +#define SNP_POLICY_MASK_CXL_ALLOW BIT_ULL(21) |
| 36 | +#define SNP_POLICY_MASK_MEM_AES_256_XTS BIT_ULL(22) |
| 37 | +#define SNP_POLICY_MASK_RAPL_DIS BIT_ULL(23) |
| 38 | +#define SNP_POLICY_MASK_CIPHERTEXT_HIDING_DRAM BIT_ULL(24) |
| 39 | +#define SNP_POLICY_MASK_PAGE_SWAP_DISABLE BIT_ULL(25) |
| 40 | + |
| 41 | +/* Base SEV-SNP policy bitmask for minimum supported SEV firmware version */ |
| 42 | +#define SNP_POLICY_MASK_BASE (SNP_POLICY_MASK_API_MINOR | \ |
| 43 | + SNP_POLICY_MASK_API_MAJOR | \ |
| 44 | + SNP_POLICY_MASK_SMT | \ |
| 45 | + SNP_POLICY_MASK_RSVD_MBO | \ |
| 46 | + SNP_POLICY_MASK_MIGRATE_MA | \ |
| 47 | + SNP_POLICY_MASK_DEBUG | \ |
| 48 | + SNP_POLICY_MASK_SINGLE_SOCKET) |
35 | 49 |
|
36 | 50 | #define SEV_FW_BLOB_MAX_SIZE 0x4000 /* 16KB */ |
37 | 51 |
|
@@ -868,7 +882,10 @@ struct snp_feature_info { |
868 | 882 | u32 edx; |
869 | 883 | } __packed; |
870 | 884 |
|
| 885 | +#define SNP_RAPL_DISABLE_SUPPORTED BIT(2) |
871 | 886 | #define SNP_CIPHER_TEXT_HIDING_SUPPORTED BIT(3) |
| 887 | +#define SNP_AES_256_XTS_POLICY_SUPPORTED BIT(4) |
| 888 | +#define SNP_CXL_ALLOW_POLICY_SUPPORTED BIT(5) |
872 | 889 |
|
873 | 890 | #ifdef CONFIG_CRYPTO_DEV_SP_PSP |
874 | 891 |
|
@@ -1014,6 +1031,7 @@ void *snp_alloc_firmware_page(gfp_t mask); |
1014 | 1031 | void snp_free_firmware_page(void *addr); |
1015 | 1032 | void sev_platform_shutdown(void); |
1016 | 1033 | bool sev_is_snp_ciphertext_hiding_supported(void); |
| 1034 | +u64 sev_get_snp_policy_bits(void); |
1017 | 1035 |
|
1018 | 1036 | #else /* !CONFIG_CRYPTO_DEV_SP_PSP */ |
1019 | 1037 |
|
|
0 commit comments