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 | |
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 | |
24 | static inline void hypervisor_pin_vcpu(int cpu) |
25 | { |
26 | } |
27 | |
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 | |
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 | |