[coreboot-gerrit] New patch to review for coreboot: amd/car: avoid wbinvd() that could cause system hang later
Jonathan A. Kollasch (jakllsch@kollasch.net)
gerrit at coreboot.org
Fri Jul 17 14:35:38 CEST 2015
Jonathan A. Kollasch (jakllsch at kollasch.net) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10962
-gerrit
commit 9965dddf08dcd046121a4b00643bf3d1927bd5c2
Author: Jonathan A. Kollasch <jakllsch at kollasch.net>
Date: Fri Jul 17 07:33:20 2015 -0500
amd/car: avoid wbinvd() that could cause system hang later
Relevant to multi-socket K8 rev.F machines.
Change-Id: I36705af7a7672f9f387c0433146c3642123f574b
Signed-off-by: Jonathan A. Kollasch <jakllsch at kollasch.net>
---
src/cpu/amd/car/post_cache_as_ram.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/cpu/amd/car/post_cache_as_ram.c b/src/cpu/amd/car/post_cache_as_ram.c
index 6c32090..d676784 100644
--- a/src/cpu/amd/car/post_cache_as_ram.c
+++ b/src/cpu/amd/car/post_cache_as_ram.c
@@ -135,7 +135,11 @@ void cache_as_ram_new_stack (void)
print_car_debug("Disabling cache as ram now\n");
disable_cache_as_ram_bsp();
- disable_cache();
+ /*
+ * Can not use disable_cache() here because it does a wbinvd() which
+ * will cause problems when other CPUs also do a wbinvd() later.
+ */
+ write_cr0(read_cr0() | CR0_CacheDisable);
set_var_mtrr(0, 0x00000000, CONFIG_RAMTOP, MTRR_TYPE_WRBACK);
enable_cache();
More information about the coreboot-gerrit
mailing list