xref: /linux/arch/powerpc/include/asm/svm.h (revision 3c4fc7bf4c9e66fe71abcbf93f62f4ddb89b7f15)
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 #include <asm/reg.h>
14 
15 static inline bool is_secure_guest(void)
16 {
17 	return mfmsr() & MSR_S;
18 }
19 
20 void dtl_cache_ctor(void *addr);
21 #define get_dtl_cache_ctor()	(is_secure_guest() ? dtl_cache_ctor : NULL)
22 
23 #else /* CONFIG_PPC_SVM */
24 
25 static inline bool is_secure_guest(void)
26 {
27 	return false;
28 }
29 
30 #define get_dtl_cache_ctor() NULL
31 
32 #endif /* CONFIG_PPC_SVM */
33 #endif /* _ASM_POWERPC_SVM_H */
34