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