xref: /openbmc/linux/arch/x86/include/asm/coco.h (revision 453b5f2d)
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 extern enum cc_vendor cc_vendor;
15 extern u64 cc_mask;
16 
17 #ifdef CONFIG_ARCH_HAS_CC_PLATFORM
18 static inline void cc_set_mask(u64 mask)
19 {
20 	RIP_REL_REF(cc_mask) = mask;
21 }
22 
23 u64 cc_mkenc(u64 val);
24 u64 cc_mkdec(u64 val);
25 void cc_random_init(void);
26 #else
27 static inline u64 cc_mkenc(u64 val)
28 {
29 	return val;
30 }
31 
32 static inline u64 cc_mkdec(u64 val)
33 {
34 	return val;
35 }
36 static inline void cc_random_init(void) { }
37 #endif
38 
39 #endif /* _ASM_X86_COCO_H */
40