diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2014-01-04 11:02:45 +0200 |
---|---|---|
committer | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2014-01-15 15:33:54 +0100 |
commit | 78938481eb3b4a11950d7c37627bf4704eb6e7da (patch) | |
tree | 326709d3d340e5c7a0238392fb29a2f6ad06b5b9 /src/mainboard/google | |
parent | 1e5cacc8f81666818450ec2ca783367af2fdf56c (diff) |
Intel (sandy/ivy): Avoid calling cbmem_initialize() twice
Delay the copying of MRC cache data from CAR to CBMEM until after
sdram_initialize() returns and cbmem_initialize() completes.
Calling cbmem_initialize() twice would complicate the decision logic
of when CBMEM area needs to be wiped clean.
Change-Id: Ic59e94cb2436293efc47b52f7418f5dbf76c714a
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/4666
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@google.com>
Diffstat (limited to 'src/mainboard/google')
-rw-r--r-- | src/mainboard/google/butterfly/romstage.c | 2 | ||||
-rw-r--r-- | src/mainboard/google/link/romstage.c | 2 | ||||
-rw-r--r-- | src/mainboard/google/parrot/romstage.c | 2 | ||||
-rw-r--r-- | src/mainboard/google/stout/romstage.c | 2 |
4 files changed, 8 insertions, 0 deletions
diff --git a/src/mainboard/google/butterfly/romstage.c b/src/mainboard/google/butterfly/romstage.c index 67e509ebee..b7ec01107d 100644 --- a/src/mainboard/google/butterfly/romstage.c +++ b/src/mainboard/google/butterfly/romstage.c @@ -245,6 +245,8 @@ void main(unsigned long bist) MCHBAR16(SSKPD) = 0xCAFE; cbmem_was_initted = !cbmem_initialize(); + if (boot_mode!=2) + save_mrc_data(&pei_data); #if CONFIG_HAVE_ACPI_RESUME /* If there is no high memory area, we didn't boot before, so diff --git a/src/mainboard/google/link/romstage.c b/src/mainboard/google/link/romstage.c index 1aa309a4fa..1e4b42c393 100644 --- a/src/mainboard/google/link/romstage.c +++ b/src/mainboard/google/link/romstage.c @@ -289,6 +289,8 @@ void main(unsigned long bist) MCHBAR16(SSKPD) = 0xCAFE; cbmem_was_initted = !cbmem_initialize(); + if (boot_mode!=2) + save_mrc_data(&pei_data); #if CONFIG_HAVE_ACPI_RESUME /* If there is no high memory area, we didn't boot before, so diff --git a/src/mainboard/google/parrot/romstage.c b/src/mainboard/google/parrot/romstage.c index 2fe61d6449..b6bacaedfe 100644 --- a/src/mainboard/google/parrot/romstage.c +++ b/src/mainboard/google/parrot/romstage.c @@ -245,6 +245,8 @@ void main(unsigned long bist) MCHBAR16(SSKPD) = 0xCAFE; cbmem_was_initted = !cbmem_initialize(); + if (boot_mode!=2) + save_mrc_data(&pei_data); #if CONFIG_HAVE_ACPI_RESUME /* If there is no high memory area, we didn't boot before, so diff --git a/src/mainboard/google/stout/romstage.c b/src/mainboard/google/stout/romstage.c index a0700af2eb..a775e69cdf 100644 --- a/src/mainboard/google/stout/romstage.c +++ b/src/mainboard/google/stout/romstage.c @@ -297,6 +297,8 @@ void main(unsigned long bist) MCHBAR16(SSKPD) = 0xCAFE; cbmem_was_initted = !cbmem_initialize(); + if (boot_mode!=2) + save_mrc_data(&pei_data); #if CONFIG_HAVE_ACPI_RESUME /* If there is no high memory area, we didn't boot before, so |