freebsd-dev/sys/x86
Konstantin Belousov 986c4ca387 Turn off IBRS on suspend.
Resume starts CPU from the init state, which clears any loaded
microcode updates.  As result, IBRS MSRs are no longer available,
until the microcode is reloaded.

I have to forcibly clear cpu_stdext_feature3, which assumes that CPUID
leaf 7 reg %ebx does not report anything except Meltdown/Spectre bugs
bits.  If future CPUs add new bits there, hw_ibrs_recalculate() and
identify_cpu1()/identify_cpu2() need to be adjusted for that.

Submitted and tested by:	Michael Danilov <mike.d.ft402@gmail.com>
PR:	227866
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D15236
2018-04-30 20:18:32 +00:00
..
acpica Turn off IBRS on suspend. 2018-04-30 20:18:32 +00:00
bios sys/x86: further adoption of SPDX licensing ID tags. 2017-11-27 15:11:47 +00:00
cpufreq cpufreq: Remove error-prone table terminators in favor of automatic sizing 2018-04-14 03:15:05 +00:00
include Turn off IBRS on suspend. 2018-04-30 20:18:32 +00:00
iommu Don't include DMAR map entry zone items in kernel dumps. 2018-02-18 16:03:50 +00:00
isa ANSIfy sys/x86 2018-03-17 01:40:09 +00:00
pci Add ISA PNP tables to ISA drivers. Fix a few incidental comments. 2018-01-29 00:22:30 +00:00
x86 Fix spelling: Appolo -> Apollo [1]. 2018-04-26 19:23:19 +00:00
xen Restore r331606 with a bugfix to setup cpuset_domain[] earlier on all 2018-03-28 18:47:35 +00:00