Skip to content

Add support for the Intel min_rev field in microcode loads

Description

Intel has retyped a previously reserved field of their microcode header in order to assist OSs in determining whether the Universe (CPUID / MSRs) will change under their feet after applying the microcode update. Xen doesn't yet support it, and it would be good to do so.

Tasks

  • Modify the current microcode header definition to add the new min_rev: u32 field in place of the 2nd reserved dword
  • Modify the current late-loading logic to block updates based on whether is_legacy(microcode) || min_rev(microcode) > cur_rev holds.
  • Modify xen-ucode to allow bypassing the microcode late-loading blocking logic (e.g: with a --force flag). xen-ucode should be able to tell the admin that the preferred course of action is to reboot, but allow them to really do the update if they wish in case they really do know what they're doing.
  • Deprecate the ucode=allow-same cmdline option.
Edited by Alejandro Garcia Vallejo
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information