diff options
Diffstat (limited to 'arch/powerpc/kernel/sysfs.c')
| -rw-r--r-- | arch/powerpc/kernel/sysfs.c | 20 | 
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/sysfs.c b/arch/powerpc/kernel/sysfs.c index e2147d7c9e72..80a676da11cb 100644 --- a/arch/powerpc/kernel/sysfs.c +++ b/arch/powerpc/kernel/sysfs.c @@ -19,6 +19,7 @@  #include <asm/smp.h>  #include <asm/pmc.h>  #include <asm/firmware.h> +#include <asm/svm.h>  #include "cacheinfo.h"  #include "setup.h" @@ -715,6 +716,23 @@ static struct device_attribute pa6t_attrs[] = {  #endif /* HAS_PPC_PMC_PA6T */  #endif /* HAS_PPC_PMC_CLASSIC */ +#ifdef CONFIG_PPC_SVM +static ssize_t show_svm(struct device *dev, struct device_attribute *attr, char *buf) +{ +	return sprintf(buf, "%u\n", is_secure_guest()); +} +static DEVICE_ATTR(svm, 0444, show_svm, NULL); + +static void create_svm_file(void) +{ +	device_create_file(cpu_subsys.dev_root, &dev_attr_svm); +} +#else +static void create_svm_file(void) +{ +} +#endif /* CONFIG_PPC_SVM */ +  static int register_cpu_online(unsigned int cpu)  {  	struct cpu *c = &per_cpu(cpu_devices, cpu); @@ -1058,6 +1076,8 @@ static int __init topology_init(void)  	sysfs_create_dscr_default();  #endif /* CONFIG_PPC64 */ +	create_svm_file(); +  	return 0;  }  subsys_initcall(topology_init);  |