Memory Map

SBL internal memory map layout (BootloaderCoreLib.h):

        Reserved MEM
+------------------------------+  Top of Low MEM
|       SOC Reserved MEM       |
+------------------------------+  Top of usable MEM Base
|       FSP Reserved MEM       |
+------------------------------+  FSP Reserved MEM Base
|       LDR Reserved MEM       |
+------------------------------+  LDR Reserved MEM Base
|         ACPI NVS MEM         |
+------------------------------+  ACPI NVS MEM Base
|       ACPI Reclaim MEM       |
+------------------------------+  ACPI Reclaim MEM Base
|       PLD Reserved MEM       |
+------------------------------+  PLD Reserved MEM Base

      Loader Reserved MEM
+------------------------------+  StackTop
|       LDR Stack (Down)       |
|                              |
|         LDR HOB (Up)         |
+------------------------------+  MemPoolEnd (Fixed)
|                              |
|   Permanant MEM Pool (Down)  |
|                              |
+------------------------------+  MemPoolCurrTop (Moving down)
|                              |
+------------------------------+  MemPoolCurrBottom (Moving up)
|                              |
|   Temporary MEM Pool (Up)    |
|                              |
+------------------------------+  MemPoolStart (Fixed)