-
Notifications
You must be signed in to change notification settings - Fork 1
Home
araj edited this page Feb 10, 2023
·
3 revisions
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.
- 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.
- ucode_patch and microcode_cache should go. Only need one patch per system.
- microcode loading for early/late/_bsp/_ap should all merge into one function. They all do the same, with small differences.
- min_rev ID to enable late-loading (posted v2, but stalled)
- Place siblings in NMI while primary completes loading. (Done, not yet posted)
- Verify before exit rendezvous microcode_reload_late(): wait_for_siblings: that all revisions match the BSP
- 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:
- Warn when early loading fails, since its silent and not easily detectable.
- https://lore.kernel.org/lkml/Y8rGxrED55ssgxnl@a4bf019067fa.jf.intel.com/
- Boris doesn't like those warnings. So dropping it.