Thomas Gleixner 8f849ff63b x86/microcode: Handle "offline" CPUs correctly
Offline CPUs need to be parked in a safe loop when microcode update is
in progress on the primary CPU. Currently, offline CPUs are parked in
mwait_play_dead(), and for Intel CPUs, its not a safe instruction,
because the MWAIT instruction can be patched in the new microcode update
that can cause instability.

  - Add a new microcode state 'UCODE_OFFLINE' to report status on per-CPU
  basis.
  - Force NMI on the offline CPUs.

Wake up offline CPUs while the update is in progress and then return
them back to mwait_play_dead() after microcode update is complete.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20231002115903.660850472@linutronix.de
2023-10-24 15:05:55 +02:00
..
2023-09-05 11:01:47 -07:00
2023-09-04 15:38:24 -07:00
2023-09-30 18:41:37 -07:00
2023-10-12 13:07:00 -07:00
2023-09-01 08:02:45 -07:00
2023-08-31 12:20:12 -07:00
2023-09-05 12:37:28 -07:00
2023-09-05 10:15:22 -07:00
2023-08-31 12:20:12 -07:00
2023-09-05 10:09:31 -07:00
2023-10-15 08:48:53 -07:00
2023-10-13 09:17:48 -07:00
2023-08-31 12:20:12 -07:00