summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2014-01-06 17:18:58 +0200
committerKyösti Mälkki <kyosti.malkki@gmail.com>2014-01-22 20:53:48 +0100
commit97e1b11f416aa23787e71b6133702b82daf1552e (patch)
treec184d76f5929ce31dd1d3ffeab6f7200e236f274
parent886a543d60c528fd349b0b0aebf7338ec8350a88 (diff)
downloadcoreboot-97e1b11f416aa23787e71b6133702b82daf1552e.tar.xz
lenovo/x201: Really do EARLY_CBMEM_INIT
The board was missing cbmem_initialize() call in romstage. Selecting EARLY_CBMEM_INIT implies this is done in romstage. Change-Id: I9ec93f89fe4cbb9e729532be36db601b6e62bca6 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/4667 Tested-by: build bot (Jenkins) Reviewed-by: Vladimir Serbinenko <phcoder@gmail.com>
-rw-r--r--src/mainboard/lenovo/x201/romstage.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mainboard/lenovo/x201/romstage.c b/src/mainboard/lenovo/x201/romstage.c
index 8022d7b11d..18645acb05 100644
--- a/src/mainboard/lenovo/x201/romstage.c
+++ b/src/mainboard/lenovo/x201/romstage.c
@@ -230,6 +230,7 @@ static inline u16 read_acpi16(u32 addr)
void main(unsigned long bist)
{
u32 reg32;
+ int cbmem_initted;
int s3resume = 0;
timestamp_init(rdtsc ());
@@ -329,11 +330,14 @@ void main(unsigned long bist)
reg32 = inl(DEFAULT_PMBASE + 0x04);
outl(reg32 & ~(7 << 10), DEFAULT_PMBASE + 0x04);
}
+
+ cbmem_initted = !cbmem_initialize();
+
#if CONFIG_HAVE_ACPI_RESUME
/* If there is no high memory area, we didn't boot before, so
* this is not a resume. In that case we just create the cbmem toc.
*/
- if (s3resume && cbmem_reinit()) {
+ if (s3resume && cbmem_initted) {
void *resume_backup_memory = cbmem_find(CBMEM_ID_RESUME);
/* copy 1MB - 64K to high tables ram_base to prevent memory corruption