diff options
author | Martin Roth <gaumless@gmail.com> | 2015-01-11 14:58:47 -0700 |
---|---|---|
committer | Martin Roth <gaumless@gmail.com> | 2015-01-31 22:30:03 +0100 |
commit | 9cd155334baa28331f2cf2e6e7bf57c912d7a731 (patch) | |
tree | d165738b5a9d3a7cfdda6143e553ee16a1686a77 | |
parent | 4e6f0c289b533155c1e447eedec862523bbf04a1 (diff) |
FSP platforms: Clear area in CAR for cbmem
This patch clears the CAR area. The FSP loads the entire CAR area with a
pattern instead of clearing it. At least the cbmem area needs to be
cleared or cbmem will not use it.
Change-Id: I829ddc26133353a784dfc01729af9b3bf427e889
Signed-off-by: Martin Roth <gaumless@gmail.com>
Reviewed-on: http://review.coreboot.org/8195
Reviewed-by: Aaron Durbin <adurbin@google.com>
Tested-by: build bot (Jenkins)
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
-rw-r--r-- | src/drivers/intel/fsp/cache_as_ram.inc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/drivers/intel/fsp/cache_as_ram.inc b/src/drivers/intel/fsp/cache_as_ram.inc index 9e8b2a2e6f..8604c3b0b0 100644 --- a/src/drivers/intel/fsp/cache_as_ram.inc +++ b/src/drivers/intel/fsp/cache_as_ram.inc @@ -91,14 +91,22 @@ CAR_init_done: * ecx: stack base * edx: stack top */ - lea -4(%edx), %esp + mov %edx, %esp movl %esp, %ebp - pushl %ebx + + /* Clear the cbmem CAR memory region. */ + movl %ecx, %edi + movl %edx, %ecx + sub %edi, %ecx + shr $2, %ecx + xorl %eax, %eax + rep stosl before_romstage: post_code(0x23) /* Call romstage.c main function. */ + pushl %ebx /* main takes FSP_INFO_HEADER as its argument */ call main /* does not return */ movb $0xB8, %ah jmp .Lhlt |