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 | |
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 | #define cc_vendor (CC_VENDOR_NONE) |
28 | |
29 | static inline u64 cc_mkenc(u64 val) |
30 | { |
31 | return val; |
32 | } |
33 | |
34 | static inline u64 cc_mkdec(u64 val) |
35 | { |
36 | return val; |
37 | } |
38 | static inline void cc_random_init(void) { } |
39 | #endif |
40 | |
41 | #endif /* _ASM_X86_COCO_H */ |
42 | |