[PATCH] arm64: booting: Require placement within 48-bit addressable memory
Ard Biesheuvel
ardb at kernel.org
Tue Nov 22 09:03:42 PST 2022
On Tue, 22 Nov 2022 at 18:02, Ard Biesheuvel <ardb at kernel.org> wrote:
>
> Some configurations (i.e., 64k + LVA/LPA) can tolerate a physical
> placement of the kernel image outside of the 48-bit addressable region,
> but given that the loader has no way of knowing whether or not the image
> in question supports LVA/LPA, it currently has no choice but to place it
> below the 48-bit mark.
>
> Once we add support for LPA2, which allows 52-bit physical and virtual
> addressing when using 4k or 16k pages, but in way that relies on
> increasing the number of paging levels, there will be more variety in
> the configurations that may or may not support this.
>
> So redefine bit #3 in the Image header as 'must be placed within 48-bit
> addressable memory', as this is the current de facto meaning.
>
> Signed-off-by: Ard Biesheuvel <ardb at kernel.org>
> ---
Note that this is a v2 addressing prior feedback from Mark.
> Documentation/arm64/booting.rst | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/arm64/booting.rst b/Documentation/arm64/booting.rst
> index 8c324ad638de2b27..5a764fabfea821f0 100644
> --- a/Documentation/arm64/booting.rst
> +++ b/Documentation/arm64/booting.rst
> @@ -121,8 +121,9 @@ Header notes:
> to the base of DRAM, since memory below it is not
> accessible via the linear mapping
> 1
> - 2MB aligned base may be anywhere in physical
> - memory
> + 2MB aligned base such that all image_size bytes
> + counted from the start of the image are within
> + the 48-bit addressable range of physical memory
> Bits 4-63 Reserved.
> ============= ===============================================================
>
> --
> 2.35.1
>
More information about the linux-arm-kernel
mailing list