xref: /openbmc/linux/arch/x86/include/asm/coco.h (revision b577f542)
1655a0fa3SKirill A. Shutemov /* SPDX-License-Identifier: GPL-2.0 */
2655a0fa3SKirill A. Shutemov #ifndef _ASM_X86_COCO_H
3655a0fa3SKirill A. Shutemov #define _ASM_X86_COCO_H
4655a0fa3SKirill A. Shutemov 
5*b577f542SKirill A. Shutemov #include <asm/types.h>
6*b577f542SKirill A. Shutemov 
7655a0fa3SKirill A. Shutemov enum cc_vendor {
8655a0fa3SKirill A. Shutemov 	CC_VENDOR_NONE,
9655a0fa3SKirill A. Shutemov 	CC_VENDOR_AMD,
10655a0fa3SKirill A. Shutemov 	CC_VENDOR_HYPERV,
11655a0fa3SKirill A. Shutemov 	CC_VENDOR_INTEL,
12655a0fa3SKirill A. Shutemov };
13655a0fa3SKirill A. Shutemov 
14655a0fa3SKirill A. Shutemov void cc_set_vendor(enum cc_vendor v);
15*b577f542SKirill A. Shutemov void cc_set_mask(u64 mask);
16*b577f542SKirill A. Shutemov 
17*b577f542SKirill A. Shutemov #ifdef CONFIG_ARCH_HAS_CC_PLATFORM
18*b577f542SKirill A. Shutemov u64 cc_mkenc(u64 val);
19*b577f542SKirill A. Shutemov u64 cc_mkdec(u64 val);
20*b577f542SKirill A. Shutemov #else
21*b577f542SKirill A. Shutemov static inline u64 cc_mkenc(u64 val)
22*b577f542SKirill A. Shutemov {
23*b577f542SKirill A. Shutemov 	return val;
24*b577f542SKirill A. Shutemov }
25*b577f542SKirill A. Shutemov 
26*b577f542SKirill A. Shutemov static inline u64 cc_mkdec(u64 val)
27*b577f542SKirill A. Shutemov {
28*b577f542SKirill A. Shutemov 	return val;
29*b577f542SKirill A. Shutemov }
30*b577f542SKirill A. Shutemov #endif
31655a0fa3SKirill A. Shutemov 
32655a0fa3SKirill A. Shutemov #endif /* _ASM_X86_COCO_H */
33