OSDN Git Service

arm64: use fixmap region for permanent FDT mapping
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Mon, 1 Jun 2015 11:40:32 +0000 (13:40 +0200)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 2 Jun 2015 15:31:33 +0000 (16:31 +0100)
commit61bd93ce801bb6df36eda257a9d2d16c02863cdd
treeca3bb08e7b2e8223ca612e51fd44c4e0fd7e1670
parent24bbd929e6b9e62afd263c42b4318d3b603c956c
arm64: use fixmap region for permanent FDT mapping

Currently, the FDT blob needs to be in the same 512 MB region as
the kernel, so that it can be mapped into the kernel virtual memory
space very early on using a minimal set of statically allocated
translation tables.

Now that we have early fixmap support, we can relax this restriction,
by moving the permanent FDT mapping to the fixmap region instead.
This way, the FDT blob may be anywhere in memory.

This also moves the vetting of the FDT to mmu.c, since the early
init code in head.S does not handle mapping of the FDT anymore.
At the same time, fix up some comments in head.S that have gone stale.

Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Documentation/arm64/booting.txt
arch/arm64/include/asm/boot.h [new file with mode: 0644]
arch/arm64/include/asm/fixmap.h
arch/arm64/include/asm/mmu.h
arch/arm64/kernel/head.S
arch/arm64/kernel/setup.c
arch/arm64/mm/Makefile
arch/arm64/mm/init.c
arch/arm64/mm/mmu.c