CBMEM: Always build for x86 romstage

Always build CBMEM for romstage, even for boards that will not use it.
We further restrict car_migrate_variables() runs to non-ROMCC boards without
BROKEN_CAR_MIGRATE.

This fixes regression of commit 71b21455 that broke CBMEM console support
for boards with a combination of !EARLY_CBMEM_INIT && !HAVE_ACPI_RESUME.

Change-Id: Ife91d7baebdc9bd1e086896400059a165d3aa90f
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: http://review.coreboot.org/7877
Tested-by: build bot (Jenkins)
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
This commit is contained in:
Kyösti Mälkki
2014-12-19 09:19:29 +02:00
committed by Jonathan A. Kollasch
parent 773485b892
commit 87accccdc2
6 changed files with 17 additions and 14 deletions

View File

@@ -1,8 +1,7 @@
ifeq ($(CONFIG_ARCH_ROMSTAGE_X86_32),y)
romstage-$(CONFIG_EARLY_CBMEM_INIT) += cbmem.c
romstage-$(CONFIG_BROKEN_CAR_MIGRATE) += cbmem.c
romstage-y += cbmem.c
endif # CONFIG_ARCH_ROMSTAGE_X86_32

View File

@@ -45,16 +45,18 @@ void *car_get_var_ptr(void *var);
#define car_set_var(var, val) \
do { car_get_var(var) = (val); } while(0)
/* Migrate the CAR variables to memory. */
void car_migrate_variables(void);
#else
#define CAR_MIGRATE(migrate_fn_)
static inline void *car_get_var_ptr(void *var) { return var; }
#define car_get_var(var) (var)
#define car_set_var(var, val) do { (var) = (val); } while (0)
#endif
#if defined(__PRE_RAM__) && IS_ENABLED(CONFIG_CACHE_AS_RAM)
/* Migrate the CAR variables to memory. */
void car_migrate_variables(void);
#else
static inline void car_migrate_variables(void) { }
#endif
#endif