From 7f5897a1c5bcd6062169368b827975faa9feeebf Mon Sep 17 00:00:00 2001 From: Aaron Durbin Date: Fri, 21 Jun 2013 18:02:26 +0300 Subject: Do CAR variable migration only once MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Non-S3 resume paths of sandy/ivybridge call cbmem_initialize() more than once. Doing car_migrate_variables() more than twice caused at least loss of some lines in CBMEM console. Change-Id: Idd14aba9384984aa3a7d38937a4b3572aa5dc088 Signed-off-by: Kyösti Mälkki Reviewed-on: http://review.coreboot.org/3512 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- src/cpu/x86/car.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/cpu') diff --git a/src/cpu/x86/car.c b/src/cpu/x86/car.c index 31fc67c57a..88f280796b 100644 --- a/src/cpu/x86/car.c +++ b/src/cpu/x86/car.c @@ -80,6 +80,10 @@ void car_migrate_variables(void) car_migration_func_t *migrate_func; size_t car_data_size = &_car_data_end[0] - &_car_data_start[0]; + /* Check if already migrated. */ + if (car_migrated) + return; + migrated_base = cbmem_add(CBMEM_ID_CAR_GLOBALS, car_data_size); if (migrated_base == NULL) { -- cgit v1.2.3