diff options
author | Aaron Durbin <adurbin@chromium.org> | 2015-06-09 13:55:51 -0500 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2015-06-09 22:06:40 +0200 |
commit | 42e6856436e6ee1f9b8ae1039ac5a0921e001377 (patch) | |
tree | 3a9d4dc8c13154aa92436d6a24a170ead884f4ce /src/soc/intel | |
parent | 41607a4682c75b716e342cfc773926c753fb6086 (diff) | |
download | coreboot-42e6856436e6ee1f9b8ae1039ac5a0921e001377.tar.xz |
stage_cache: use cbmem init hooks
Instead of having the chipset code make the approrpiate
calls at the appropriate places use the cbmem init hooks
to take the appropriate action. That way no chipset code
needs to be changed in order to support the external
stage cache.
Change-Id: If74e6155ae86646bde02b2e1b550ade92b8ba9bb
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/10481
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Diffstat (limited to 'src/soc/intel')
-rw-r--r-- | src/soc/intel/baytrail/romstage/raminit.c | 17 | ||||
-rw-r--r-- | src/soc/intel/braswell/romstage/raminit.c | 17 | ||||
-rw-r--r-- | src/soc/intel/broadwell/romstage/raminit.c | 13 |
3 files changed, 16 insertions, 31 deletions
diff --git a/src/soc/intel/baytrail/romstage/raminit.c b/src/soc/intel/baytrail/romstage/raminit.c index 191821ad5b..d4f1711e36 100644 --- a/src/soc/intel/baytrail/romstage/raminit.c +++ b/src/soc/intel/baytrail/romstage/raminit.c @@ -25,7 +25,6 @@ #include <console/console.h> #include <device/pci_def.h> #include <halt.h> -#include <stage_cache.h> #include <soc/gpio.h> #include <soc/intel/common/mrc_cache.h> #include <soc/iomap.h> @@ -169,16 +168,12 @@ void raminit(struct mrc_params *mp, int prev_sleep_state) if (prev_sleep_state != 3) { cbmem_initialize_empty(); - stage_cache_create_empty(); - } else { - stage_cache_recover(); - if (cbmem_initialize()) { - #if CONFIG_HAVE_ACPI_RESUME - printk(BIOS_DEBUG, "Failed to recover CBMEM in S3 resume.\n"); - /* Failed S3 resume, reset to come up cleanly */ - reset_system(); - #endif - } + } else if (cbmem_initialize()) { + #if CONFIG_HAVE_ACPI_RESUME + printk(BIOS_DEBUG, "Failed to recover CBMEM in S3 resume.\n"); + /* Failed S3 resume, reset to come up cleanly */ + reset_system(); + #endif } printk(BIOS_DEBUG, "MRC Wrapper returned %d\n", ret); diff --git a/src/soc/intel/braswell/romstage/raminit.c b/src/soc/intel/braswell/romstage/raminit.c index 191821ad5b..d4f1711e36 100644 --- a/src/soc/intel/braswell/romstage/raminit.c +++ b/src/soc/intel/braswell/romstage/raminit.c @@ -25,7 +25,6 @@ #include <console/console.h> #include <device/pci_def.h> #include <halt.h> -#include <stage_cache.h> #include <soc/gpio.h> #include <soc/intel/common/mrc_cache.h> #include <soc/iomap.h> @@ -169,16 +168,12 @@ void raminit(struct mrc_params *mp, int prev_sleep_state) if (prev_sleep_state != 3) { cbmem_initialize_empty(); - stage_cache_create_empty(); - } else { - stage_cache_recover(); - if (cbmem_initialize()) { - #if CONFIG_HAVE_ACPI_RESUME - printk(BIOS_DEBUG, "Failed to recover CBMEM in S3 resume.\n"); - /* Failed S3 resume, reset to come up cleanly */ - reset_system(); - #endif - } + } else if (cbmem_initialize()) { + #if CONFIG_HAVE_ACPI_RESUME + printk(BIOS_DEBUG, "Failed to recover CBMEM in S3 resume.\n"); + /* Failed S3 resume, reset to come up cleanly */ + reset_system(); + #endif } printk(BIOS_DEBUG, "MRC Wrapper returned %d\n", ret); diff --git a/src/soc/intel/broadwell/romstage/raminit.c b/src/soc/intel/broadwell/romstage/raminit.c index edc87905d7..82c88cb893 100644 --- a/src/soc/intel/broadwell/romstage/raminit.c +++ b/src/soc/intel/broadwell/romstage/raminit.c @@ -29,7 +29,6 @@ #include <ec/google/chromeec/ec.h> #include <ec/google/chromeec/ec_commands.h> #endif -#include <stage_cache.h> #include <vendorcode/google/chromeos/chromeos.h> #include <soc/intel/common/mrc_cache.h> #include <soc/iomap.h> @@ -111,16 +110,12 @@ void raminit(struct pei_data *pei_data) if (pei_data->boot_mode != SLEEP_STATE_S3) { cbmem_initialize_empty(); - stage_cache_create_empty(); - } else { - stage_cache_recover(); - if (cbmem_initialize()) { + } else if (cbmem_initialize()) { #if CONFIG_HAVE_ACPI_RESUME - printk(BIOS_DEBUG, "Failed to recover CBMEM in S3 resume.\n"); - /* Failed S3 resume, reset to come up cleanly */ - reset_system(); + printk(BIOS_DEBUG, "Failed to recover CBMEM in S3 resume.\n"); + /* Failed S3 resume, reset to come up cleanly */ + reset_system(); #endif - } } printk(BIOS_DEBUG, "MRC data at %p %d bytes\n", pei_data->data_to_save, |