Attention is currently required from: Julius Werner, Kyösti Mälkki, Rob Barnes, Patrick Rudolph, Karthik Ramasubramanian. Hello build bot (Jenkins), Julius Werner, Rob Barnes, Kyösti Mälkki, Patrick Rudolph, Karthik Ramasubramanian,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/59321
to look at the new patch set (#8).
Change subject: treewide: Replace spinlock calls with mutex ......................................................................
treewide: Replace spinlock calls with mutex
spinlock does not currently work nicely with coop-threads. If a `udelay` is called while in a critical section, it will context switch. If that second thread also tries to acquire the same lock then we deadlock since we never yield again. There is currently a hack in x86/spinlock.h where we disable coop threads when acquiring a spinlock. This hack only works for ramstage because in romstage we use the noop spinlock implementation. By replacing the spinlocks with mutex we no longer need to rely on the hack in the x86/spinlock.h.
BUG=b:179699789 TEST=Boot guybrush to OS
Signed-off-by: Raul E Rangel rrangel@chromium.org Change-Id: Ibee331a9ccd491e819c7f2c9a19bca7dc4379d9d --- M src/console/printk.c M src/cpu/intel/microcode/microcode.c M src/cpu/x86/lapic/lapic_cpu_init.c M src/cpu/x86/mp_init.c M src/device/device.c M src/drivers/pc80/rtc/post.c 6 files changed, 41 insertions(+), 32 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/21/59321/8