Author: Vladimir Davydov Email: vdavy...@parallels.com Subject: arch: x86: report cpuid:0000000d_1 in cpuinfo Date: Mon, 8 Dec 2014 12:40:43 +0300
We want to mask it, therefore we should obtain it with raw cpuid instruction while reporting /proc/cpuinfo. https://jira.sw.ru/browse/PSBM-30577 Signed-off-by: Vladimir Davydov <vdavy...@parallels.com> Acked-by: Cyrill Gorcunov <gorcu...@openvz.org> ============================================================================= https://jira.sw.ru/browse/PSBM-33638 Signed-off-by: Vladimir Davydov <vdavy...@virtuozzo.com> --- arch/x86/kernel/cpu/proc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel/cpu/proc.c b/arch/x86/kernel/cpu/proc.c index 77c7c825f95d..1a95a06b8f9a 100644 --- a/arch/x86/kernel/cpu/proc.c +++ b/arch/x86/kernel/cpu/proc.c @@ -67,7 +67,7 @@ static void init_cpu_flags(void *dummy) int cpu = smp_processor_id(); struct cpu_flags *flags = &per_cpu(cpu_flags, cpu); struct cpuinfo_x86 *c = &cpu_data(cpu); - unsigned int tmp1, tmp2; + unsigned int tmp1, tmp2, tmp3; int i; bitmap_zero((unsigned long *)flags, 32*NCAPINTS); @@ -83,6 +83,10 @@ static void init_cpu_flags(void *dummy) c->extended_cpuid_level >= 0x80000001) __do_cpuid_fault(0x80000001, 0, &tmp1, &tmp2, &flags->val[6], &flags->val[1]); + + if (c->cpuid_level >= 0x0000000d) + __do_cpuid_fault(0x0000000d, 1, &flags->val[10], + &tmp1, &tmp2, &tmp3); } static int show_cpuinfo(struct seq_file *m, void *v) -- 2.1.4 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel