Blame SOURCES/intel_readme

383126
Older RHEL 7 kernels try to early load microcode even inside virtual
383126
machine, which may lead to panic on some hypervisors.  In order to circumvent
383126
that, microcode is installed into a kernel-version-specific directory (which
383126
is not scanned by the dracut script, that constructs early microcode binary
383126
in initramfs, by default), and path to microcode files provided only in case
383126
initramfs is generated for the kernel version that properly handles early
383126
microcode inside a virtual machine (i.e. do not attempts yo load it).
383126
The versions of the kernel package that properly handle early microcode load
383126
inside a virtual machine are as follows:
383126
 * RHEL 7.6 onwards: kernel-3.10.0-930 or newer;
383126
 * RHEL 7.5: kernel-3.10.0-862.14.1 or newer;
383126
 * RHEL 7.4: kernel-3.10.0-693.38.1 or newer;
383126
 * RHEL 7.3: kernel-3.10.0-514.57.1 or newer;
383126
 * RHEL 7.2: kernel-3.10.0-327.73.1 or newer.
383126
RHEL 8 kernels are not affected.
383126
383126
If you want to avoid early load of microcode for a specific kernel, please
383126
create "disallow-early-intel" file inside /lib/firmware/<kernel_version>
383126
directory and run dracut -f --kver "<kernel_version>":
383126
383126
    touch /lib/firmware/3.10.0-862.9.1/disallow-early-intel
383126
    dracut -f --kver 3.10.0-862.9.1
383126
383126
If you want to avoid early load of microcode for all kernels, please create
383126
"disallow-early-intel" file inside the "/etc/microcode_ctl/ucode_with_caveats"
383126
directory and run dracut -f --regenerate-all:
383126
383126
    mkdir -p /etc/microcode_ctl/ucode_with_caveats
383126
    touch /etc/microcode_ctl/ucode_with_caveats/disallow-early-intel
383126
    dracut -f --regenerate-all
383126
383126
If you want to enforce early load of microcode for a specific kernel, please
383126
create "force-early-intel" file inside /lib/firmware/<kernel_version> directory
383126
and run dracut -f --kver "<kernel_version>":
383126
383126
    touch /lib/firmware/3.10.0-862.9.1/force-early-intel
383126
    dracut -f --kver 3.10.0-862.9.1
383126
383126
If you want to enforce early load of microcode for all kernels, please create
383126
"force-early-intel" file inside /etc/microcode_ctl/ucode_with_caveats
383126
directory and run dracut -f --kver "<kernel_version>":
383126
383126
    mkdir -p /etc/microcode_ctl/ucode_with_caveats
383126
    touch /etc/microcode_ctl/ucode_with_caveats/force-early-intel
383126
    dracut -f --regenerate-all
383126
383126
In order to override the late load behaviour, the "early" part of file names
383126
should be replaced with "late" (and there is no need to call dracut
383126
in that case).
383126
383126
383126
Please refer to /usr/share/doc/microcode_ctl/README.caveats for additional
383126
information.