Vladimir Serbinenko (phcoder@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@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@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 */