[PATCH] arm64/Documentation: clarify wording regarding memory below the Image

Mark Rutland mark.rutland at arm.com
Wed Jul 29 04:49:30 PDT 2015


On Wed, Jul 29, 2015 at 12:30:39PM +0100, Ard Biesheuvel wrote:
> Clarify that the memory below the start of the image but inside the
> region covered by the linear mapping has no special significance to
> the kernel, and may be used by the firmware provided that it is marked
> as reserved.
> 
> Also, fix up some whitespace errors.
> 
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>
> ---
>  Documentation/arm64/booting.txt | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/Documentation/arm64/booting.txt b/Documentation/arm64/booting.txt
> index 1690350f16e7..7d9d3c2286b2 100644
> --- a/Documentation/arm64/booting.txt
> +++ b/Documentation/arm64/booting.txt
> @@ -81,7 +81,7 @@ The decompressed kernel image contains a 64-byte header as follows:
>    u64 res3	= 0;		/* reserved */
>    u64 res4	= 0;		/* reserved */
>    u32 magic	= 0x644d5241;	/* Magic number, little endian, "ARM\x64" */
> -  u32 res5;      		/* reserved (used for PE COFF offset) */
> +  u32 res5;			/* reserved (used for PE COFF offset) */
>  
>  
>  Header notes:
> @@ -103,7 +103,7 @@ Header notes:
>  
>  - The flags field (introduced in v3.17) is a little-endian 64-bit field
>    composed as follows:
> -  Bit 0: 	Kernel endianness.  1 if BE, 0 if LE.
> +  Bit 0:	Kernel endianness.  1 if BE, 0 if LE.
>    Bits 1-63:	Reserved.
>  
>  - When image_size is zero, a bootloader should attempt to keep as much
> @@ -115,11 +115,14 @@ The Image must be placed text_offset bytes from a 2MB aligned base
>  address near the start of usable system RAM and called there. Memory
>  below that base address is currently unusable by Linux, and therefore it
>  is strongly recommended that this location is the start of system RAM.
> +The region between the 2 MB aligned base address and the start of the
> +image has no special significance to the kernel, and may be used for
> +other purposes.

This is true since commit bd00cd5f8c8c3c28 ("arm64: place initial page
tables above the kernel") in v3.16, but people were using the region
before then anyway, so I don't know if that deserves a note. Arguably
that patch was a bug fix.

Perhaps prefix this with "Since v3.16"?

>  At least image_size bytes from the start of the image must be free for
>  use by the kernel.
>  
> -Any memory described to the kernel (even that below the 2MB aligned base
> -address) which is not marked as reserved from the kernel e.g. with a
> +Any memory described to the kernel (even that below the start of the
> +image) which is not marked as reserved from the kernel (e.g., with a
>  memreserve region in the device tree) will be considered as available to
>  the kernel.

Looks good to me. With or without the v3.16 note:

Acked-by: Mark Rutland <mark.rutland at arm.com>

Mark.



More information about the linux-arm-kernel mailing list