diff options
| author | Tom Rini <[email protected]> | 2024-10-09 16:58:42 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2024-10-09 22:04:56 -0600 |
| commit | 1ff60b1f0a0973b5acda21232262f6745491e5af (patch) | |
| tree | 84e785eb54ca23b131931569558e6ad7d42c5a20 /doc/develop/memory.rst | |
| parent | 93b9cd792089e536f2bfa85d9903fd4798209f76 (diff) | |
| parent | 5ba825194aa0e04fbd07da6f618c37d9934f4f2d (diff) | |
Merge tag 'efi-2025-01-rc1' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request efi-2025-01-rc1
Documentation:
* Move the generic memory-documentation to doc/
* Fix typo boormethod
UEFI:
* Delete rng-seed if having EFI RNG protocol
* Don't call restart_uboot in EFI watchdog test
* Simplify building EFI binaries in Makefile
* Show FirmwareVendor and FirmwareRevision in helloworld
* Add debug output for efi bootmeth
Other:
* CONFIG_CMD_CLK should depend on CONFIG_CLK
* simplify clk command
* enable clk command on the sandbox
Diffstat (limited to 'doc/develop/memory.rst')
| -rw-r--r-- | doc/develop/memory.rst | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/doc/develop/memory.rst b/doc/develop/memory.rst new file mode 100644 index 00000000000..e9e65ba4c6c --- /dev/null +++ b/doc/develop/memory.rst @@ -0,0 +1,49 @@ +.. SPDX-License-Identifier: GPL-2.0-or-later + +Memory Management +----------------- + +.. note:: + + This information is outdated and needs to be updated. + +U-Boot runs in system state and uses physical addresses, i.e. the +MMU is not used either for address mapping nor for memory protection. + +The available memory is mapped to fixed addresses using the +memory-controller. In this process, a contiguous block is formed for each +memory type (Flash, SDRAM, SRAM), even when it consists of several +physical-memory banks. + +U-Boot is installed in XIP flash memory, or may be loaded into a lower region of +RAM by a secondary program loader (SPL). After +booting and sizing and initialising DRAM, the code relocates itself +to the upper end of DRAM. Immediately below the U-Boot code some +memory is reserved for use by malloc() [see CONFIG_SYS_MALLOC_LEN +configuration setting]. Below that, a structure with global Board-Info +data is placed, followed by the stack (growing downward). + +Additionally, some exception handler code may be copied to the low 8 kB +of DRAM (0x00000000 ... 0x00001fff). + +So a typical memory configuration with 16 MB of DRAM could look like +this:: + + 0x0000 0000 Exception Vector code + : + 0x0000 1fff + 0x0000 2000 Free for Application Use + : + : + + : + : + 0x00fb ff20 Monitor Stack (Growing downward) + 0x00fb ffac Board Info Data and permanent copy of global data + 0x00fc 0000 Malloc Arena + : + 0x00fd ffff + 0x00fe 0000 RAM Copy of Monitor Code + ... eventually: LCD or video framebuffer + ... eventually: pRAM (Protected RAM - unchanged by reset) + 0x00ff ffff [End of RAM] |
