X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?p=kvmfornfv.git;a=blobdiff_plain;f=kernel%2Farch%2Fs390%2Fkernel%2Fprocessor.c;h=7ce00e7a709a946058b4bdeaadecba16f969d326;hp=dc488e13b7e35b216335323a68bd6eac422ce172;hb=e09b41010ba33a20a87472ee821fa407a5b8da36;hpb=f93b97fd65072de626c074dbe099a1fff05ce060 diff --git a/kernel/arch/s390/kernel/processor.c b/kernel/arch/s390/kernel/processor.c index dc488e13b..7ce00e7a7 100644 --- a/kernel/arch/s390/kernel/processor.c +++ b/kernel/arch/s390/kernel/processor.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -20,8 +21,10 @@ static DEFINE_PER_CPU(struct cpuid, cpu_id); void notrace cpu_relax(void) { - if (!smp_cpu_mtid && MACHINE_HAS_DIAG44) + if (!smp_cpu_mtid && MACHINE_HAS_DIAG44) { + diag_stat_inc(DIAG_STAT_X044); asm volatile("diag 0,0,0x44"); + } barrier(); } EXPORT_SYMBOL(cpu_relax); @@ -40,6 +43,15 @@ void cpu_init(void) enter_lazy_tlb(&init_mm, current); } +/* + * cpu_have_feature - Test CPU features on module initialization + */ +int cpu_have_feature(unsigned int num) +{ + return elf_hwcap & (1UL << num); +} +EXPORT_SYMBOL(cpu_have_feature); + /* * show_cpuinfo - Get information on one CPU for use by procfs. */