1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __LINUX_HYPEVISOR_H
3 #define __LINUX_HYPEVISOR_H
4 
5 /*
6  *	Generic Hypervisor support
7  *		Juergen Gross <jgross@suse.com>
8  */
9 
10 #ifdef CONFIG_X86
11 
12 #include <asm/jailhouse_para.h>
13 #include <asm/x86_init.h>
14 
hypervisor_pin_vcpu(int cpu)15 static inline void hypervisor_pin_vcpu(int cpu)
16 {
17 	x86_platform.hyper.pin_vcpu(cpu);
18 }
19 
20 #else /* !CONFIG_X86 */
21 
22 #include <linux/of.h>
23 
hypervisor_pin_vcpu(int cpu)24 static inline void hypervisor_pin_vcpu(int cpu)
25 {
26 }
27 
jailhouse_paravirt(void)28 static inline bool jailhouse_paravirt(void)
29 {
30 	return of_find_compatible_node(NULL, NULL, "jailhouse,cell");
31 }
32 
33 #endif /* !CONFIG_X86 */
34 
hypervisor_isolated_pci_functions(void)35 static inline bool hypervisor_isolated_pci_functions(void)
36 {
37 	if (IS_ENABLED(CONFIG_S390))
38 		return true;
39 
40 	return jailhouse_paravirt();
41 }
42 
43 #endif /* __LINUX_HYPEVISOR_H */
44