Move IBRS/IBPB to scattered features for easier feature rescan.
This help to rescan feature on microcode reload later.
Orabug:
27344012
CVE: CVE-2017-5715
Signed-off-by: Tim Chen <tim.c.chen@linux.intel.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: John Haxby <john.haxby@oracle.com>
Signed-off-by: Kirtikar Kashyap <kirtikar.kashyap@oracle.com>
wrmsrl(MSR_IA32_ENERGY_PERF_BIAS, epb);
}
}
-
- if (!c->cpu_index) {
- if (boot_cpu_has(X86_FEATURE_SPEC_CTRL)) {
- printk(KERN_INFO "FEATURE SPEC_CTRL Present\n");
- set_ibrs_supported();
- set_ibpb_supported();
- if (ibrs_inuse)
- sysctl_ibrs_enabled = 1;
- if (ibpb_inuse)
- sysctl_ibpb_enabled = 1;
- } else {
- printk(KERN_INFO "FEATURE SPEC_CTRL Not Present\n");
- }
- }
}
#ifdef CONFIG_X86_32
if (cap & 2) /* IBRS all the time */
set_cpu_cap(c, X86_FEATURE_IBRS_ATT);
}
+
+ if (!c->cpu_index) {
+ if (boot_cpu_has(X86_FEATURE_SPEC_CTRL)) {
+ printk(KERN_INFO "FEATURE SPEC_CTRL Present\n");
+ set_ibrs_supported();
+ set_ibpb_supported();
+ if (ibrs_inuse)
+ sysctl_ibrs_enabled = 1;
+ if (ibpb_inuse)
+ sysctl_ibpb_enabled = 1;
+ } else {
+ printk(KERN_INFO "FEATURE SPEC_CTRL Not Present\n");
+ }
+ }
}