Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/x86/include/asm/coco.h
26481 views
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 u64 cc_get_mask(void)
19
{
20
return cc_mask;
21
}
22
23
static inline void cc_set_mask(u64 mask)
24
{
25
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)
33
static inline u64 cc_get_mask(void)
34
{
35
return 0;
36
}
37
38
static inline u64 cc_mkenc(u64 val)
39
{
40
return val;
41
}
42
43
static inline u64 cc_mkdec(u64 val)
44
{
45
return val;
46
}
47
static inline void cc_random_init(void) { }
48
#endif
49
50
#endif /* _ASM_X86_COCO_H */
51
52