1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _ASM_X86_COCO_H 3 #define _ASM_X86_COCO_H 4 5 #include <asm/asm.h> 6 #include <asm/types.h> 7 8 enum cc_vendor { 9 CC_VENDOR_NONE, 10 CC_VENDOR_AMD, 11 CC_VENDOR_INTEL, 12 }; 13 14 #ifdef CONFIG_ARCH_HAS_CC_PLATFORM 15 extern enum cc_vendor cc_vendor; 16 extern u64 cc_mask; 17 cc_get_mask(void)18static inline u64 cc_get_mask(void) 19 { 20 return cc_mask; 21 } 22 cc_set_mask(u64 mask)23static inline void cc_set_mask(u64 mask) 24 { 25 RIP_REL_REF(cc_mask) = mask; 26 } 27 28 u64 cc_mkenc(u64 val); 29 u64 cc_mkdec(u64 val); 30 void cc_random_init(void); 31 #else 32 #define cc_vendor (CC_VENDOR_NONE) cc_get_mask(void)33static inline u64 cc_get_mask(void) 34 { 35 return 0; 36 } 37 cc_mkenc(u64 val)38static inline u64 cc_mkenc(u64 val) 39 { 40 return val; 41 } 42 cc_mkdec(u64 val)43static inline u64 cc_mkdec(u64 val) 44 { 45 return val; 46 } cc_random_init(void)47static inline void cc_random_init(void) { } 48 #endif 49 50 #endif /* _ASM_X86_COCO_H */ 51