[PATCH] doc: Move the generic memory-documentation to doc/

Alexander Dahl ada at thorsis.com
Thu Sep 19 17:28:04 CEST 2024


Hello Simon,

Am Thu, Sep 19, 2024 at 05:14:22PM +0200 schrieb Simon Glass:
> Move this section of the README into doc/ with some minor updates to
> mention SPL and user lower-case hex.

Maybe try not to rewrap unchanged paragraphs,
so `git show --color-moved` can detect those as just moved?

> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> 
>  README                 | 45 ------------------------------------------
>  doc/develop/index.rst  |  1 +
>  doc/develop/memory.rst | 45 ++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 46 insertions(+), 45 deletions(-)
>  create mode 100644 doc/develop/memory.rst
> 
> diff --git a/README b/README
> index 4be1e8c22a0..d73042406b6 100644
> --- a/README
> +++ b/README
> @@ -2516,51 +2516,6 @@ On RISC-V, the following registers are used:
>  
>      ==> U-Boot will use gp to hold a pointer to the global data
>  
> -Memory Management:
> -------------------
> -
> -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 the first 128 kB of the first Flash bank (on
> -TQM8xxL modules this is the range 0x40000000 ... 0x4001FFFF). After
> -booting and sizing and initializing 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 is 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]
> -
> -
>  System Initialization:
>  ----------------------
>  
> diff --git a/doc/develop/index.rst b/doc/develop/index.rst
> index 0d0e60ab56c..cbea38d4323 100644
> --- a/doc/develop/index.rst
> +++ b/doc/develop/index.rst
> @@ -13,6 +13,7 @@ General
>     codingstyle
>     designprinciples
>     docstyle
> +   memory
>     patman
>     process
>     release_cycle
> diff --git a/doc/develop/memory.rst b/doc/develop/memory.rst
> new file mode 100644
> index 00000000000..fa1ae5e97ed
> --- /dev/null
> +++ b/doc/develop/memory.rst
> @@ -0,0 +1,45 @@
> +.. SPDX-License-Identifier: GPL-2.0+:
> +
> +Memory Management
> +-----------------
> +
> +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

Arena?

`make htmldocs` runs fine, page looks okay, thus:

Acked-by: Alexander Dahl <ada at thorsis.com>

Greets
Alex

> +	      :
> +	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]
> -- 
> 2.43.0
> 


More information about the U-Boot mailing list