summaryrefslogtreecommitdiffstats
path: root/resources/libreboot/patch/coreboot/369b561315ca68d0cdedc38208105a513c7139b5/grub/kcma-d8/0002-src-console-Add-x86-romstage-spinlock-option-and-pri.patch
diff options
context:
space:
mode:
Diffstat (limited to 'resources/libreboot/patch/coreboot/369b561315ca68d0cdedc38208105a513c7139b5/grub/kcma-d8/0002-src-console-Add-x86-romstage-spinlock-option-and-pri.patch')
-rw-r--r--resources/libreboot/patch/coreboot/369b561315ca68d0cdedc38208105a513c7139b5/grub/kcma-d8/0002-src-console-Add-x86-romstage-spinlock-option-and-pri.patch132
1 files changed, 0 insertions, 132 deletions
diff --git a/resources/libreboot/patch/coreboot/369b561315ca68d0cdedc38208105a513c7139b5/grub/kcma-d8/0002-src-console-Add-x86-romstage-spinlock-option-and-pri.patch b/resources/libreboot/patch/coreboot/369b561315ca68d0cdedc38208105a513c7139b5/grub/kcma-d8/0002-src-console-Add-x86-romstage-spinlock-option-and-pri.patch
deleted file mode 100644
index 31e47fd..0000000
--- a/resources/libreboot/patch/coreboot/369b561315ca68d0cdedc38208105a513c7139b5/grub/kcma-d8/0002-src-console-Add-x86-romstage-spinlock-option-and-pri.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 964824b31218e5e63c2b52a11491e1b44692eb83 Mon Sep 17 00:00:00 2001
-From: Timothy Pearson <tpearson@raptorengineeringinc.com>
-Date: Mon, 18 May 2015 16:04:10 -0500
-Subject: [PATCH 02/45] src/console: Add x86 romstage spinlock option and
- printk spinlock support
-
-This paves the way for AP printk spinlock on AMD platforms
-
-Change-Id: Ice42a0d3177736bf6e1bc601092e413601866f20
-Signed-off-by: Timothy Pearson <tpearson@raptorengineeringinc.com>
----
- src/Kconfig | 4 ++++
- src/arch/x86/include/arch/smp/spinlock.h | 11 ++++++++++-
- src/console/printk.c | 15 +++++++++++++++
- src/cpu/amd/car/post_cache_as_ram.c | 4 ++++
- 4 files changed, 33 insertions(+), 1 deletion(-)
-
-diff --git a/src/Kconfig b/src/Kconfig
-index 8439a00..b8da62a 100644
---- a/src/Kconfig
-+++ b/src/Kconfig
-@@ -468,6 +468,10 @@ config HAVE_HARD_RESET
- This variable specifies whether a given board has a hard_reset
- function, no matter if it's provided by board code or chipset code.
-
-+config HAVE_ROMSTAGE_CONSOLE_SPINLOCK
-+ bool
-+ default n
-+
- config HAVE_MONOTONIC_TIMER
- def_bool n
- help
-diff --git a/src/arch/x86/include/arch/smp/spinlock.h b/src/arch/x86/include/arch/smp/spinlock.h
-index 32be2f2..74e532c 100644
---- a/src/arch/x86/include/arch/smp/spinlock.h
-+++ b/src/arch/x86/include/arch/smp/spinlock.h
-@@ -1,7 +1,7 @@
- #ifndef ARCH_SMP_SPINLOCK_H
- #define ARCH_SMP_SPINLOCK_H
-
--#ifndef __PRE_RAM__
-+#if !defined(__PRE_RAM__) || IS_ENABLED(CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK)
-
- /*
- * Your basic SMP spinlocks, allowing only a single CPU anywhere
-@@ -11,9 +11,18 @@ typedef struct {
- volatile unsigned int lock;
- } spinlock_t;
-
-+#ifdef __PRE_RAM__
-+spinlock_t *romstage_console_lock(void);
-+void initialize_romstage_console_lock(void);
-+#endif
-
- #define SPIN_LOCK_UNLOCKED (spinlock_t) { 1 }
-+
-+#ifndef __PRE_RAM__
- #define DECLARE_SPIN_LOCK(x) static spinlock_t x = SPIN_LOCK_UNLOCKED;
-+#else
-+#define DECLARE_SPIN_LOCK(x)
-+#endif
-
- /*
- * Simple spin lock operations. There are two variants, one clears IRQ's
-diff --git a/src/console/printk.c b/src/console/printk.c
-index aab7ff5..99f90a8 100644
---- a/src/console/printk.c
-+++ b/src/console/printk.c
-@@ -2,6 +2,7 @@
- * blatantly copied from linux/kernel/printk.c
- *
- * Copyright (C) 1991, 1992 Linus Torvalds
-+ * Copyright (C) 2015 Timothy Pearson <tpearson@raptorengineeringinc.com>, Raptor Engineering
- *
- */
-
-@@ -13,7 +14,9 @@
- #include <stddef.h>
- #include <trace.h>
-
-+#if (!defined(__PRE_RAM__) && IS_ENABLED(CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK)) || !IS_ENABLED(CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK)
- DECLARE_SPIN_LOCK(console_lock)
-+#endif
-
- void do_putchar(unsigned char byte)
- {
-@@ -39,7 +42,13 @@ int do_printk(int msg_level, const char *fmt, ...)
- #endif
-
- DISABLE_TRACE;
-+#ifdef __PRE_RAM__
-+#if IS_ENABLED(CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK)
-+ spin_lock(romstage_console_lock());
-+#endif
-+#else
- spin_lock(&console_lock);
-+#endif
-
- va_start(args, fmt);
- i = vtxprintf(wrap_putchar, fmt, args, NULL);
-@@ -47,7 +56,13 @@ int do_printk(int msg_level, const char *fmt, ...)
-
- console_tx_flush();
-
-+#ifdef __PRE_RAM__
-+#if IS_ENABLED(CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK)
-+ spin_unlock(romstage_console_lock());
-+#endif
-+#else
- spin_unlock(&console_lock);
-+#endif
- ENABLE_TRACE;
-
- return i;
-diff --git a/src/cpu/amd/car/post_cache_as_ram.c b/src/cpu/amd/car/post_cache_as_ram.c
-index fb09cd4..8c5757e 100644
---- a/src/cpu/amd/car/post_cache_as_ram.c
-+++ b/src/cpu/amd/car/post_cache_as_ram.c
-@@ -76,6 +76,10 @@ static void prepare_ramstage_region(void *resume_backup_memory)
- memset_((void*)0, 0, CONFIG_RAMTOP - backup_top);
- }
-
-+#if IS_ENABLED(CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK)
-+ initialize_romstage_console_lock();
-+#endif
-+
- print_car_debug(" Done\n");
- }
-
---
-2.1.4
-