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 */ 36