• Thomas Gleixner's avatar
    x86/microcode: Provide new control functions · 6067788f
    Thomas Gleixner authored
    The current all in one code is unreadable and really not suited for
    adding future features like uniform loading with package or system
    scope.
    
    Provide a set of new control functions which split the handling of the
    primary and secondary CPUs. These will replace the current rendezvous
    all in one function in the next step. This is intentionally a separate
    change because diff makes an complete unreadable mess otherwise.
    
    So the flow separates the primary and the secondary CPUs into their own
    functions which use the control field in the per CPU ucode_ctrl struct.
    
       primary()			secondary()
        wait_for_all()		 wait_for_all()
        apply_ucode()		 wait_for_release()
        release()			 apply_ucode()
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
    Link: https://lore.kernel.org/r/20231002115903.377922731@linutronix.de
    6067788f
core.c 16.6 KB