arch/x86: Remove spinlocks inside CAR

This was only used with amdfam10h-15h, where cache
coherency between nodes was supposed to be guaranteed
with this code. We could want a cleaner and more generic
approach for this, possibly utilising .data sections.

Change-Id: I00da5c2b0570c26f2e3bb464274485cc2c08c8f0
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/34929
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Kyösti Mälkki
2019-08-19 16:14:15 +03:00
parent 9bb16cd9c5
commit f8dc4bc022
3 changed files with 6 additions and 50 deletions

View File

@ -23,9 +23,7 @@
#include <trace.h>
#include <timer.h>
#if (!defined(__PRE_RAM__) && CONFIG(HAVE_ROMSTAGE_CONSOLE_SPINLOCK)) || !CONFIG(HAVE_ROMSTAGE_CONSOLE_SPINLOCK)
DECLARE_SPIN_LOCK(console_lock)
#endif
#define TRACK_CONSOLE_TIME (CONFIG(HAVE_MONOTONIC_TIMER) && \
(ENV_RAMSTAGE || !CONFIG(CAR_GLOBAL_MIGRATION)))
@ -95,13 +93,7 @@ int do_vprintk(int msg_level, const char *fmt, va_list args)
return 0;
DISABLE_TRACE;
#ifdef __PRE_RAM__
#if CONFIG(HAVE_ROMSTAGE_CONSOLE_SPINLOCK)
spin_lock(romstage_console_lock());
#endif
#else
spin_lock(&console_lock);
#endif
console_time_run();
@ -114,13 +106,7 @@ int do_vprintk(int msg_level, const char *fmt, va_list args)
console_time_stop();
#ifdef __PRE_RAM__
#if CONFIG(HAVE_ROMSTAGE_CONSOLE_SPINLOCK)
spin_unlock(romstage_console_lock());
#endif
#else
spin_unlock(&console_lock);
#endif
ENABLE_TRACE;
return i;