diff options
author | Devarsh Thakkar <devarsht@ti.com> | 2023-12-05 21:25:23 +0530 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2024-01-29 14:49:17 -0500 |
commit | aaeb330cac116a1a41c97c8e7a8349b8aea914c2 (patch) | |
tree | b6c32377c5988cbfe30af47e6ed7044b2d0aab10 | |
parent | b557e9f06e4082faf15df2cd40a2b1842a8888fe (diff) |
doc: spl: Add info regarding memory reservation
Add details regarding scheme which need to be followed in SPL and
further stages for those regions which need to be preserved across
bootstages.
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
Reviewed-by: Simon Glass <sjg@chromium>
-rw-r--r-- | doc/develop/spl.rst | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/doc/develop/spl.rst b/doc/develop/spl.rst index 814530d3486..0a3e572310a 100644 --- a/doc/develop/spl.rst +++ b/doc/develop/spl.rst @@ -173,3 +173,31 @@ cflow will spit out a number of warnings as it does not parse the config files and picks functions based on #ifdef. Parsing the '.i' files instead introduces another set of headaches. These warnings are not usually important to understanding the flow, however. + + +Reserving memory in SPL +----------------------- + +If memory needs to be reserved in RAM during SPL stage with the requirement that +the SPL reserved memory remains preserved across further boot stages too +then it needs to be reserved mandatorily starting from end of RAM. This is to +ensure that further stages can simply skip this region before carrying out +further reservations or updating the relocation address. + +Also out of these regions which are to be preserved across further stages of +boot, video framebuffer memory region must be reserved first starting from +end of RAM for which helper function spl_reserve_video_from_ram_top is provided +which makes sure that video memory is placed at top of reservation area with +further reservations below it. + +The corresponding information of reservation for those regions can be passed to +further boot stages using a bloblist. For e.g. the information for +framebuffer area reserved by SPL can be passed onto U-boot using +BLOBLISTT_U_BOOT_VIDEO. + +The further boot stages need to parse each of the bloblist passed from SPL stage +starting from video bloblist and skip this whole SPL reserved memory area from +end of RAM as per the bloblists received, before carrying out further +reservations or updating the relocation address. For e.g, U-boot proper uses +function "setup_relocaddr_from_bloblist" to parse the bloblists passed from +previous stage and skip the memory reserved from previous stage accordingly. |