diff options
Diffstat (limited to 'arch/x86/include/asm/coco.h')
| -rw-r--r-- | arch/x86/include/asm/coco.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/arch/x86/include/asm/coco.h b/arch/x86/include/asm/coco.h new file mode 100644 index 000000000000..e1dbf8df1b69 --- /dev/null +++ b/arch/x86/include/asm/coco.h @@ -0,0 +1,50 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _ASM_X86_COCO_H +#define _ASM_X86_COCO_H + +#include <asm/asm.h> +#include <asm/types.h> + +enum cc_vendor { + CC_VENDOR_NONE, + CC_VENDOR_AMD, + CC_VENDOR_INTEL, +}; + +#ifdef CONFIG_ARCH_HAS_CC_PLATFORM +extern enum cc_vendor cc_vendor; +extern u64 cc_mask; + +static inline u64 cc_get_mask(void) +{ + return cc_mask; +} + +static inline void cc_set_mask(u64 mask) +{ + cc_mask = mask; +} + +u64 cc_mkenc(u64 val); +u64 cc_mkdec(u64 val); +void cc_random_init(void); +#else +#define cc_vendor (CC_VENDOR_NONE) +static inline u64 cc_get_mask(void) +{ + return 0; +} + +static inline u64 cc_mkenc(u64 val) +{ + return val; +} + +static inline u64 cc_mkdec(u64 val) +{ + return val; +} +static inline void cc_random_init(void) { } +#endif + +#endif /* _ASM_X86_COCO_H */ |
