summaryrefslogtreecommitdiffstats
path: root/resources/libreboot/patch/kgpe-d16/0032-src-console-Add-x86-printk-spinlock-support.patch
diff options
context:
space:
mode:
authorFrancis Rowe <info@gluglug.org.uk>2015-10-18 19:12:53 (EDT)
committer Francis Rowe <info@gluglug.org.uk>2015-10-18 21:32:36 (EDT)
commit0622df6194dbb1b2120743c0fd1cc5e72c380128 (patch)
tree4c858b8c5667fe001a9907ae0578b4ec28a8f513 /resources/libreboot/patch/kgpe-d16/0032-src-console-Add-x86-printk-spinlock-support.patch
parent5999dba5f71f1c05040a551d2420ab8c7f3a9da4 (diff)
downloadlibreboot-0622df6194dbb1b2120743c0fd1cc5e72c380128.zip
libreboot-0622df6194dbb1b2120743c0fd1cc5e72c380128.tar.gz
libreboot-0622df6194dbb1b2120743c0fd1cc5e72c380128.tar.bz2
KGPE-D16: update patch set (also update coreboot and vboot)
Also contains other fixes from coreboot, like: * 551cff0 Derive lvds_dual_channel from EDID timings. ^ makes single/dual channel LVDS selection on GM45 automatic * 26fc544 lenovo/t60: Enable native intel gfx init. ^ was being maintained in libreboot, now upstreamed so not needed Framebuffer mode was disabled for the KGPE-D16, because only text-mode works at the moment.
Diffstat (limited to 'resources/libreboot/patch/kgpe-d16/0032-src-console-Add-x86-printk-spinlock-support.patch')
-rw-r--r--resources/libreboot/patch/kgpe-d16/0032-src-console-Add-x86-printk-spinlock-support.patch126
1 files changed, 0 insertions, 126 deletions
diff --git a/resources/libreboot/patch/kgpe-d16/0032-src-console-Add-x86-printk-spinlock-support.patch b/resources/libreboot/patch/kgpe-d16/0032-src-console-Add-x86-printk-spinlock-support.patch
deleted file mode 100644
index 9f4c705..0000000
--- a/resources/libreboot/patch/kgpe-d16/0032-src-console-Add-x86-printk-spinlock-support.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From c15c778ced025a5a778e4c1d7ad03a40529f4d41 Mon Sep 17 00:00:00 2001
-From: Timothy Pearson <kb9vqf@pearsoncomputing.net>
-Date: Sat, 5 Sep 2015 19:23:49 -0500
-Subject: [PATCH 032/146] src/console: Add x86 printk spinlock support
-
----
- src/Kconfig | 4 ++++
- src/arch/x86/include/arch/smp/spinlock.h | 1 +
- src/console/printk.c | 6 +++---
- src/cpu/amd/car/post_cache_as_ram.c | 22 +++++++++++++++-------
- 4 files changed, 23 insertions(+), 10 deletions(-)
-
-diff --git a/src/Kconfig b/src/Kconfig
-index bab05f2..2e6b5bc 100644
---- a/src/Kconfig
-+++ b/src/Kconfig
-@@ -447,6 +447,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 a5904c7..5000779 100644
---- a/src/arch/x86/include/arch/smp/spinlock.h
-+++ b/src/arch/x86/include/arch/smp/spinlock.h
-@@ -13,6 +13,7 @@ typedef struct {
-
- #ifdef __PRE_RAM__
- spinlock_t* romstage_console_lock(void);
-+void initialize_romstage_console_lock(void);
- #endif
-
- #define SPIN_LOCK_UNLOCKED (spinlock_t) { 1 }
-diff --git a/src/console/printk.c b/src/console/printk.c
-index 2aae980..5a23db0 100644
---- a/src/console/printk.c
-+++ b/src/console/printk.c
-@@ -14,7 +14,7 @@
- #include <stddef.h>
- #include <trace.h>
-
--#if defined(CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK)
-+#if IS_ENABLED(CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK)
- #ifndef __PRE_RAM__
- DECLARE_SPIN_LOCK(console_lock)
- #endif
-@@ -47,7 +47,7 @@ int do_printk(int msg_level, const char *fmt, ...)
-
- DISABLE_TRACE;
- #ifdef __PRE_RAM__
--#ifdef CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK
-+#if IS_ENABLED(CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK)
- spin_lock(romstage_console_lock());
- #endif
- #else
-@@ -61,7 +61,7 @@ int do_printk(int msg_level, const char *fmt, ...)
- console_tx_flush();
-
- #ifdef __PRE_RAM__
--#ifdef CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK
-+#if IS_ENABLED(CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK)
- spin_unlock(romstage_console_lock());
- #endif
- #else
-diff --git a/src/cpu/amd/car/post_cache_as_ram.c b/src/cpu/amd/car/post_cache_as_ram.c
-index e265de1..e7a41e5 100644
---- a/src/cpu/amd/car/post_cache_as_ram.c
-+++ b/src/cpu/amd/car/post_cache_as_ram.c
-@@ -84,6 +84,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");
- }
-
-@@ -92,18 +96,19 @@ static void prepare_ramstage_region(void *resume_backup_memory)
- static void vErrata343(void)
- {
- #ifdef BU_CFG2_MSR
-- msr_t msr;
-- unsigned int uiMask = 0xFFFFFFF7;
--
-- msr = rdmsr(BU_CFG2_MSR);
-- msr.hi &= uiMask; // set bit 35 to 0
-- wrmsr(BU_CFG2_MSR, msr);
-+ msr_t msr;
-+ unsigned int uiMask = 0xFFFFFFF7;
-+
-+ msr = rdmsr(BU_CFG2_MSR);
-+ msr.hi &= uiMask; // IcDisSpecTlbWr (bit 35) = 0
-+ wrmsr(BU_CFG2_MSR, msr);
- #endif
- }
-
- void post_cache_as_ram(void)
- {
- void *resume_backup_memory = NULL;
-+ uint32_t family = amd_fam1x_cpu_family();
-
- struct romstage_handoff *handoff;
- handoff = romstage_handoff_find_or_add();
-@@ -120,7 +125,10 @@ void post_cache_as_ram(void)
- prepare_romstage_ramstack(resume_backup_memory);
-
- /* from here don't store more data in CAR */
-- vErrata343();
-+ if (family < 0x6f) {
-+ /* Family 10h or earlier */
-+ vErrata343();
-+ }
-
- size_t car_size = car_data_size();
- void *migrated_car = (void *)(CONFIG_RAMTOP - car_size);
---
-1.7.9.5
-