[U-Boot] [PATCH] armv8/cache: Fix page table creation

Simon Glass sjg at chromium.org
Thu Jul 23 22:18:53 CEST 2015


On 22 July 2015 at 17:10, Stephen Warren <swarren at wwwdotorg.org> wrote:
> From: Thierry Reding <treding at nvidia.com>
>
> While generating the page tables, a running integer index is shifted by
> SECTION_SHIFT (29) and causes overflow for any integer bigger than 7.
> The page tables therefore alias to the same 8 sections and cause U-Boot
> to hang once the MMU is enabled.
>
> Fix this by making the index a 64-bit unsigned integer and so avoid the
> overflow.
>
> swarren notes: currently "i" ranges from 0..8191 on all ARM64 boards, and
> "j" varies depending on RAM size; from 4 to 11 for a board with 4GB at
> physical address 2GB, as some Tegra boards have.
>
> Signed-off-by: Thierry Reding <treding at nvidia.com>
> Signed-off-by: Tom Warren <twarren at nvidia.com>
> Signed-off-by: Stephen Warren <swarren at nvidia.com>
> ---
>  arch/arm/cpu/armv8/cache_v8.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Simon Glass <sjg at chromium.org>


More information about the U-Boot mailing list