Merge tag 'dt-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.git] / arch / powerpc / include / asm / svm.h
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 __init svm_swiotlb_init(void);
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 static inline void svm_swiotlb_init(void) {}
31
32 #define get_dtl_cache_ctor() NULL
33
34 #endif /* CONFIG_PPC_SVM */
35 #endif /* _ASM_POWERPC_SVM_H */