arm64: add the initrd region to the linear mapping explicitly
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Wed, 30 Mar 2016 13:18:42 +0000 (15:18 +0200)
committerWill Deacon <will.deacon@arm.com>
Thu, 14 Apr 2016 15:20:45 +0000 (16:20 +0100)
commit177e15f0c1444cd392374ec7175c4787fd911369
tree9259c8fc1afb276bc606efb72aa34f5ac9b2ff72
parent3bab79edc67152cb6cadb12773b7c7d05228eb77
arm64: add the initrd region to the linear mapping explicitly

Instead of going out of our way to relocate the initrd if it turns out
to occupy memory that is not covered by the linear mapping, just add the
initrd to the linear mapping. This puts the burden on the bootloader to
pass initrd= and mem= options that are mutually consistent.

Note that, since the placement of the linear region in the PA space is
also dependent on the placement of the kernel Image, which may reside
anywhere in memory, we may still end up with a situation where the initrd
and the kernel Image are simply too far apart to be covered by the linear
region.

Since we now leave it up to the bootloader to pass the initrd in memory
that is guaranteed to be accessible by the kernel, add a mention of this to
the arm64 boot protocol specification as well.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Documentation/arm64/booting.txt
arch/arm64/mm/init.c