the following patch was just integrated into master: commit 8e4a355773cc64a89b3fc4d79981cfb02bda7e66 Author: Aaron Durbin adurbin@chromium.org Date: Fri Feb 8 17:28:04 2013 -0600
coreboot: introduce CONFIG_RELOCATABLE_RAMSTAGE
This patch adds an option to build the ramstage as a reloctable binary. It uses the rmodule library for the relocation. The main changes consist of the following:
1. The ramstage is loaded just under the cmbem space. 2. Payloads cannot be loaded over where ramstage is loaded. If a payload is attempted to load where the relocatable ramstage resides the load is aborted. 3. The memory occupied by the ramstage is reserved from the OS's usage using the romstage_handoff structure stored in cbmem. This region is communicated to ramstage by an CBMEM_ID_ROMSTAGE_INFO entry in cbmem. 4. There is no need to reserve cbmem space for the OS controlled memory for the resume path because the ramsage region has been reserved in #3. 5. Since no memory needs to be preserved in the wake path, the loading and begin of execution of a elf payload is straight forward.
Change-Id: Ia66cf1be65c29fa25ca7bd9ea6c8f11d7eee05f5 Signed-off-by: Aaron Durbin adurbin@chromium.org Reviewed-on: http://review.coreboot.org/2792 Reviewed-by: Ronald G. Minnich rminnich@gmail.com Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin adurbin@google.com
Build-Tested: build bot (Jenkins) at Thu Mar 21 22:13:27 2013, giving +1 See http://review.coreboot.org/2792 for details.
-gerrit