the following patch was just integrated into master: commit c3c95f4dd8516b21a68193072f21418517a8a06f Author: Duncan Laurie dlaurie@chromium.org Date: Sat Jun 23 13:33:32 2012 -0700
SMM: Add support for malloc in SMM if using TSEG
This is used by the SPI driver and ELOG.
It requires SMM TSEG and a _heap/_eheap region defined in the linker script. The first time malloc is called in SMM the start and end pointers to the heap region will be relocated for the TSEG region.
Enable SPI flash and ELOG in SMM and successfully allocate memory. The allocated addresses are verified to be sure they are within the TSEG heap region:
smm.elf:00014000 B _eheap smm.elf:00010000 B _heap TSEG base is 0xad000000
Memory allocated in ELOG: ELOG: MEM @0xad018030
Change-Id: I5cca38e4888d597cbbfcd9983cd6a7ae3600c2a3 Signed-off-by: Duncan Laurie dlaurie@chromium.org
Build-Tested: build bot (Jenkins) at Tue Jul 24 15:42:15 2012, giving +1 Reviewed-By: Ronald G. Minnich rminnich@gmail.com at Tue Jul 24 23:44:19 2012, giving +2 See http://review.coreboot.org/1312 for details.
-gerrit