Skip to content
araj edited this page Feb 10, 2023 · 3 revisions

Welcome to the linux-ucode wiki!

This has some ongoing upstream work related to microcode loader in the kernel.

For a guide on performing microcode loading and internal details, please refer to Documentation/x86/microcode.rst in the kernel tree.

Cleanup List

  1. struct ucode_cpu_info needs to go. per-cpu is overkill given we don't support multi-stepping. This really ought to be system wide. dhansen: Separate sig/pf and microcode .. also update generic cpuinfo_x86 only in the core, not vendor specific.
  2. ucode_patch and microcode_cache should go. Only need one patch per system.
  3. microcode loading for early/late/_bsp/_ap should all merge into one function. They all do the same, with small differences.
  4. min_rev ID to enable late-loading (posted v2, but stalled)
  5. Place siblings in NMI while primary completes loading. (Done, not yet posted)
  6. Verify before exit rendezvous microcode_reload_late(): wait_for_siblings: that all revisions match the BSP
  7. If you ever do a request_microcode_fw(), its already saved in the microcode cache. If the loading fails for some reason, it still stays in the cache and never replaceable. Need to fix that!

Rejected ideas:

  1. Warn when early loading fails, since its silent and not easily detectable.
Clone this wiki locally