[coreboot-gerrit] Patch set updated for coreboot: 773c299 sandybridge: Add a parameter to skip mrc.cache usage.

Vladimir Serbinenko (phcoder@gmail.com) gerrit at coreboot.org
Sun Jan 12 18:47:50 CET 2014


Vladimir Serbinenko (phcoder at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4677

-gerrit

commit 773c29955499d8616a4077d9dcc1ef7141fdc509
Author: Vladimir Serbinenko <phcoder at gmail.com>
Date:   Sun Jan 12 14:41:40 2014 +0100

    sandybridge: Add a parameter to skip mrc.cache usage.
    
    On Lenovo X230 MRC fails if mrc.cache is supplied. Until
    better solution is found, allow skipping mrc.cache.
    
    Change-Id: If4f386dcbe3710e5ef0e7b8cda48489c929fdd5c
    Signed-off-by: Vladimir Serbinenko <phcoder at gmail.com>
---
 src/mainboard/google/butterfly/romstage.c   | 2 +-
 src/mainboard/google/link/romstage.c        | 2 +-
 src/mainboard/google/parrot/romstage.c      | 2 +-
 src/mainboard/google/stout/romstage.c       | 2 +-
 src/mainboard/intel/emeraldlake2/romstage.c | 2 +-
 src/mainboard/kontron/ktqm77/romstage.c     | 2 +-
 src/mainboard/samsung/lumpy/romstage.c      | 2 +-
 src/mainboard/samsung/stumpy/romstage.c     | 2 +-
 src/northbridge/intel/sandybridge/raminit.c | 6 +++---
 src/northbridge/intel/sandybridge/raminit.h | 2 +-
 10 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/mainboard/google/butterfly/romstage.c b/src/mainboard/google/butterfly/romstage.c
index 67e509e..0c1b7b5 100644
--- a/src/mainboard/google/butterfly/romstage.c
+++ b/src/mainboard/google/butterfly/romstage.c
@@ -232,7 +232,7 @@ void main(unsigned long bist)
 	post_code(0x3a);
 	pei_data.boot_mode = boot_mode;
 	timestamp_add_now(TS_BEFORE_INITRAM);
-	sdram_initialize(&pei_data);
+	sdram_initialize(&pei_data, 0);
 
 	timestamp_add_now(TS_AFTER_INITRAM);
 	post_code(0x3c);
diff --git a/src/mainboard/google/link/romstage.c b/src/mainboard/google/link/romstage.c
index 1aa309a..9388614 100644
--- a/src/mainboard/google/link/romstage.c
+++ b/src/mainboard/google/link/romstage.c
@@ -276,7 +276,7 @@ void main(unsigned long bist)
 	post_code(0x3a);
 	pei_data.boot_mode = boot_mode;
 	timestamp_add_now(TS_BEFORE_INITRAM);
-	sdram_initialize(&pei_data);
+	sdram_initialize(&pei_data, 0);
 
 	timestamp_add_now(TS_AFTER_INITRAM);
 	post_code(0x3c);
diff --git a/src/mainboard/google/parrot/romstage.c b/src/mainboard/google/parrot/romstage.c
index 2fe61d6..491881d 100644
--- a/src/mainboard/google/parrot/romstage.c
+++ b/src/mainboard/google/parrot/romstage.c
@@ -232,7 +232,7 @@ void main(unsigned long bist)
 	post_code(0x3a);
 	pei_data.boot_mode = boot_mode;
 	timestamp_add_now(TS_BEFORE_INITRAM);
-	sdram_initialize(&pei_data);
+	sdram_initialize(&pei_data, 0);
 
 	timestamp_add_now(TS_AFTER_INITRAM);
 	post_code(0x3c);
diff --git a/src/mainboard/google/stout/romstage.c b/src/mainboard/google/stout/romstage.c
index 8a961ea..b0bc03f 100644
--- a/src/mainboard/google/stout/romstage.c
+++ b/src/mainboard/google/stout/romstage.c
@@ -281,7 +281,7 @@ void main(unsigned long bist)
 	post_code(0x3a);
 	pei_data.boot_mode = boot_mode;
 	timestamp_add_now(TS_BEFORE_INITRAM);
-	sdram_initialize(&pei_data);
+	sdram_initialize(&pei_data, 0);
 
 	timestamp_add_now(TS_AFTER_INITRAM);
 	post_code(0x3b);
diff --git a/src/mainboard/intel/emeraldlake2/romstage.c b/src/mainboard/intel/emeraldlake2/romstage.c
index f116668..c100147 100644
--- a/src/mainboard/intel/emeraldlake2/romstage.c
+++ b/src/mainboard/intel/emeraldlake2/romstage.c
@@ -278,7 +278,7 @@ void main(unsigned long bist)
 	post_code(0x3a);
 	pei_data.boot_mode = boot_mode;
 	timestamp_add_now(TS_BEFORE_INITRAM);
-	sdram_initialize(&pei_data);
+	sdram_initialize(&pei_data, 0);
 
 	timestamp_add_now(TS_AFTER_INITRAM);
 	post_code(0x3b);
diff --git a/src/mainboard/kontron/ktqm77/romstage.c b/src/mainboard/kontron/ktqm77/romstage.c
index 773079d..85dac68 100644
--- a/src/mainboard/kontron/ktqm77/romstage.c
+++ b/src/mainboard/kontron/ktqm77/romstage.c
@@ -283,7 +283,7 @@ void main(unsigned long bist)
 	post_code(0x3a);
 	pei_data.boot_mode = boot_mode;
 	timestamp_add_now(TS_BEFORE_INITRAM);
-	sdram_initialize(&pei_data);
+	sdram_initialize(&pei_data, 0);
 
 	timestamp_add_now(TS_AFTER_INITRAM);
 	post_code(0x3c);
diff --git a/src/mainboard/samsung/lumpy/romstage.c b/src/mainboard/samsung/lumpy/romstage.c
index a4f0c42..1d3f020 100644
--- a/src/mainboard/samsung/lumpy/romstage.c
+++ b/src/mainboard/samsung/lumpy/romstage.c
@@ -301,7 +301,7 @@ void main(unsigned long bist)
 	post_code(0x39);
 	pei_data.boot_mode = boot_mode;
 	timestamp_add_now(TS_BEFORE_INITRAM);
-	sdram_initialize(&pei_data);
+	sdram_initialize(&pei_data, 0);
 
 	timestamp_add_now(TS_AFTER_INITRAM);
 	post_code(0x3a);
diff --git a/src/mainboard/samsung/stumpy/romstage.c b/src/mainboard/samsung/stumpy/romstage.c
index ee715e7..0aea4b0 100644
--- a/src/mainboard/samsung/stumpy/romstage.c
+++ b/src/mainboard/samsung/stumpy/romstage.c
@@ -309,7 +309,7 @@ void main(unsigned long bist)
 	post_code(0x39);
 	pei_data.boot_mode = boot_mode;
 	timestamp_add_now(TS_BEFORE_INITRAM);
-	sdram_initialize(&pei_data);
+	sdram_initialize(&pei_data, 0);
 
 	timestamp_add_now(TS_AFTER_INITRAM);
 	post_code(0x3a);
diff --git a/src/northbridge/intel/sandybridge/raminit.c b/src/northbridge/intel/sandybridge/raminit.c
index 07172fc..13ac616 100644
--- a/src/northbridge/intel/sandybridge/raminit.c
+++ b/src/northbridge/intel/sandybridge/raminit.c
@@ -216,7 +216,7 @@ static void post_system_agent_init(struct pei_data *pei_data)
  *
  * @param pei_data: configuration data for UEFI PEI reference code
  */
-void sdram_initialize(struct pei_data *pei_data)
+void sdram_initialize(struct pei_data *pei_data, int skip_cache)
 {
 	struct sys_info sysinfo;
 	int (*entry) (struct pei_data *pei_data) __attribute__ ((regparm(1)));
@@ -237,7 +237,7 @@ void sdram_initialize(struct pei_data *pei_data)
 	 * Do not pass MRC data in for recovery mode boot,
 	 * Always pass it in for S3 resume.
 	 */
-	if (!recovery_mode_enabled() || pei_data->boot_mode == 2)
+	if ((!recovery_mode_enabled() || pei_data->boot_mode == 2) && !skip_cache)
 		prepare_mrc_cache(pei_data);
 
 	/* If MRC data is not found we cannot continue S3 resume. */
@@ -299,7 +299,7 @@ void sdram_initialize(struct pei_data *pei_data)
 	report_memory_config();
 
 	/* S3 resume: don't save scrambler seed or MRC data */
-	if (pei_data->boot_mode != 2)
+	if (pei_data->boot_mode != 2 && !skip_cache)
 		save_mrc_data(pei_data);
 }
 
diff --git a/src/northbridge/intel/sandybridge/raminit.h b/src/northbridge/intel/sandybridge/raminit.h
index 2e9b1f3..ac317e6 100644
--- a/src/northbridge/intel/sandybridge/raminit.h
+++ b/src/northbridge/intel/sandybridge/raminit.h
@@ -29,7 +29,7 @@ struct sys_info {
 #define BOOT_PATH_RESUME	2
 } __attribute__ ((packed));
 
-void sdram_initialize(struct pei_data *pei_data);
+void sdram_initialize(struct pei_data *pei_data, int skip_cache);
 int fixup_sandybridge_errata(void);
 
 #endif				/* RAMINIT_H */



More information about the coreboot-gerrit mailing list