diff options
Diffstat (limited to 'arch/powerpc/kernel/firmware.c')
| -rw-r--r-- | arch/powerpc/kernel/firmware.c | 19 | 
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/firmware.c b/arch/powerpc/kernel/firmware.c index cc4a5e3f51f1..fe48d319d490 100644 --- a/arch/powerpc/kernel/firmware.c +++ b/arch/powerpc/kernel/firmware.c @@ -11,8 +11,27 @@  #include <linux/export.h>  #include <linux/cache.h> +#include <linux/of.h>  #include <asm/firmware.h> +#ifdef CONFIG_PPC64  unsigned long powerpc_firmware_features __read_mostly;  EXPORT_SYMBOL_GPL(powerpc_firmware_features); +#endif + +#if defined(CONFIG_PPC_PSERIES) || defined(CONFIG_KVM_GUEST) +bool is_kvm_guest(void) +{ +	struct device_node *hyper_node; + +	hyper_node = of_find_node_by_path("/hypervisor"); +	if (!hyper_node) +		return 0; + +	if (!of_device_is_compatible(hyper_node, "linux,kvm")) +		return 0; + +	return 1; +} +#endif  |