linux_dsm_epyc7002/arch/arm64
Ard Biesheuvel a7f8de168a arm64: allow kernel Image to be loaded anywhere in physical memory
This relaxes the kernel Image placement requirements, so that it
may be placed at any 2 MB aligned offset in physical memory.

This is accomplished by ignoring PHYS_OFFSET when installing
memblocks, and accounting for the apparent virtual offset of
the kernel Image. As a result, virtual address references
below PAGE_OFFSET are correctly mapped onto physical references
into the kernel Image regardless of where it sits in memory.

Special care needs to be taken for dealing with memory limits passed
via mem=, since the generic implementation clips memory top down, which
may clip the kernel image itself if it is loaded high up in memory. To
deal with this case, we simply add back the memory covering the kernel
image, which may result in more memory to be retained than was passed
as a mem= parameter.

Since mem= should not be considered a production feature, a panic notifier
handler is installed that dumps the memory limit at panic time if one was
set.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2016-02-18 18:16:53 +00:00
..
boot ARM: SoC fixes for v4.5-rc 2016-02-07 15:23:20 -08:00
configs arm64: defconfig: updates for 4.5 2016-01-26 11:24:41 +00:00
crypto arm64: crypto: reduce priority of core AES cipher 2015-11-18 12:09:08 +00:00
include arm64: allow kernel Image to be loaded anywhere in physical memory 2016-02-18 18:16:53 +00:00
kernel arm64: allow kernel Image to be loaded anywhere in physical memory 2016-02-18 18:16:53 +00:00
kvm arm64: kvm: deal with kernel symbols outside of linear mapping 2016-02-18 18:16:40 +00:00
lib arm64: kernel: Don't toggle PAN on systems with UAO 2016-02-18 17:27:05 +00:00
mm arm64: allow kernel Image to be loaded anywhere in physical memory 2016-02-18 18:16:53 +00:00
net arm64: bpf: add extra pass to handle faulty codegen 2016-01-17 19:15:26 -05:00
xen xen/arm: introduce HYPERVISOR_platform_op on arm and arm64 2015-12-21 14:40:56 +00:00
Kconfig arm64: add support for ioremap() block mappings 2016-02-18 18:16:16 +00:00
Kconfig.debug arch: consolidate CONFIG_STRICT_DEVM in lib/Kconfig.debug 2016-01-09 06:30:49 -08:00
Kconfig.platforms ARM: SoC support for Tegra platforms for v4.5 2016-01-22 17:30:52 -08:00
Makefile arm64: errata: Add -mpc-relative-literal-loads to build flags 2016-01-26 11:17:23 +00:00