xref: /linux/arch/powerpc/include/asm/svm.h (revision 17cfcb68af3bc7d5e8ae08779b1853310a2949f3)
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * SVM helper functions
4  *
5  * Copyright 2018 Anshuman Khandual, IBM Corporation.
6  */
7 
8 #ifndef _ASM_POWERPC_SVM_H
9 #define _ASM_POWERPC_SVM_H
10 
11 #ifdef CONFIG_PPC_SVM
12 
13 static inline bool is_secure_guest(void)
14 {
15 	return mfmsr() & MSR_S;
16 }
17 
18 void dtl_cache_ctor(void *addr);
19 #define get_dtl_cache_ctor()	(is_secure_guest() ? dtl_cache_ctor : NULL)
20 
21 #else /* CONFIG_PPC_SVM */
22 
23 static inline bool is_secure_guest(void)
24 {
25 	return false;
26 }
27 
28 #define get_dtl_cache_ctor() NULL
29 
30 #endif /* CONFIG_PPC_SVM */
31 #endif /* _ASM_POWERPC_SVM_H */
32