freebsd-dev/sys/x86
Mark Johnston 97edfc1b45 Implement kernel support for early loading of Intel microcode updates.
Updates in the format described in section 9.11 of the Intel SDM can
now be applied as one of the first steps in booting the kernel.  Updates
that are loaded this way are automatically re-applied upon exit from
ACPI sleep states, in contrast with the existing cpucontrol(8)-based
method.  For the time being only Intel updates are supported.

Microcode update files are passed to the kernel via loader(8).  The
file type must be "cpu_microcode" in order for the file to be recognized
as a candidate microcode update.  Updates for multiple CPU types may be
concatenated together into a single file, in which case the kernel
will select and apply a matching update.  Memory used to store the
update file will be freed back to the system once the update is applied,
so this approach will not consume more memory than required.

Reviewed by:	kib
MFC after:	6 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D16370
2018-08-13 17:13:09 +00:00
..
acpica Implement kernel support for early loading of Intel microcode updates. 2018-08-13 17:13:09 +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 Implement kernel support for early loading of Intel microcode updates. 2018-08-13 17:13:09 +00:00
iommu Make timespecadd(3) and friends public 2018-07-30 15:46:40 +00:00
isa Provide a helper function acpi_get_fadt_bootflags() to fetch the FADT 2018-06-25 11:01:12 +00:00
pci Add ISA PNP tables to ISA drivers. Fix a few incidental comments. 2018-01-29 00:22:30 +00:00
x86 Implement kernel support for early loading of Intel microcode updates. 2018-08-13 17:13:09 +00:00
xen xen: implement early init helper for PVHv2 2018-07-19 08:44:52 +00:00