Paul Menzel has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44904 )
Change subject: cpu/x86/mpinit: Serialize microcode updates for HT threads ......................................................................
Patch Set 5:
Trying to test, if QEMU x86 still works (though it doesn’t use microcode updates, right), it fails to build.
``` CC ramstage/arch/x86/cpu.o In file included from src/arch/x86/cpu.c:15: src/include/smp/spinlock.h:8: error: "DECLARE_SPIN_LOCK" redefined [-Werror] #define DECLARE_SPIN_LOCK(x)
In file included from src/include/cpu/x86/mp.h:6, from src/arch/x86/cpu.c:9: src/arch/x86/include/arch/smp/spinlock.h:20: note: this is the location of the previous definition #define DECLARE_SPIN_LOCK(x) \
In file included from src/arch/x86/cpu.c:15: src/include/smp/spinlock.h:9: error: "spin_is_locked" redefined [-Werror] #define spin_is_locked(lock) 0
In file included from src/include/cpu/x86/mp.h:6, from src/arch/x86/cpu.c:9: src/arch/x86/include/arch/smp/spinlock.h:30: note: this is the location of the previous definition #define spin_is_locked(x) (*(volatile char *)(&(x)->lock) <= 0)
In file included from src/arch/x86/cpu.c:15: src/include/smp/spinlock.h:10: error: "spin_unlock_wait" redefined [-Werror] #define spin_unlock_wait(lock) do {} while (0)
In file included from src/include/cpu/x86/mp.h:6, from src/arch/x86/cpu.c:9: src/arch/x86/include/arch/smp/spinlock.h:31: note: this is the location of the previous definition #define spin_unlock_wait(x) do { barrier(); } while (spin_is_locked(x)) ```