X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fs390%2Fsysinfo.c;h=19343f9675c31ba368c0f57d2ebfd66de06cf625;hb=04c71976500352d02f60616d2b960267d8c5fe24;hp=090743d2f914aec39990cdca66f40455df512450;hpb=d3f8fd765e94b9137e1f27bbb0ac25289f9e565c;p=linux-2.6 diff --git a/drivers/s390/sysinfo.c b/drivers/s390/sysinfo.c index 090743d2f9..19343f9675 100644 --- a/drivers/s390/sysinfo.c +++ b/drivers/s390/sysinfo.c @@ -357,6 +357,24 @@ static __init int create_proc_sysinfo(void) __initcall(create_proc_sysinfo); +int get_cpu_capability(unsigned int *capability) +{ + struct sysinfo_1_2_2 *info; + int rc; + + info = (void *) get_zeroed_page(GFP_KERNEL); + if (!info) + return -ENOMEM; + rc = stsi(info, 1, 2, 2); + if (rc == -ENOSYS) + goto out; + rc = 0; + *capability = info->capability; +out: + free_page((unsigned long) info); + return rc; +} + /* * CPU capability might have changed. Therefore recalculate loops_per_jiffy. */