summaryrefslogtreecommitdiff
path: root/kexec/add_segment.c
diff options
context:
space:
mode:
authorRussell King <rmk@arm.linux.org.uk>2016-06-06 18:00:47 +0100
committerSimon Horman <horms@verge.net.au>2016-06-08 09:24:09 +0900
commit92e120d8ca5e0918d89ca663721369ca6e9a5b10 (patch)
tree780cd378d2a4bed28bb027470f9b1bff2ecd5ba6 /kexec/add_segment.c
parent103656d85960ec862a65a2e6ebdf8367d13b23dd (diff)
arm: add support for platforms with boot memory aliases
The kexec API deals with boot-view addresses, rather than normal system view addresses. This causes problems for platforms such as Keystone 2, where the boot view is substantially different from the normal system view. This is because Keystone 2 boots from a memory alias in the lower 4GiB, before switching to a high alias at 32GiB. We handle this in a generic way by introducing boot alias resources in /proc/iomem: 80000000-dfffffff : System RAM (boot alias) 9f800000-9fffffff : Crash kernel (boot alias) 800000000-85fffffff : System RAM 800008000-800790e37 : Kernel code 8007ec000-8008b856f : Kernel data 81f800000-81fffffff : Crash kernel To allow kexec to load a kernel, we need to add the boot alias of RAM to the memory ranges returned by get_memory_ranges(). Parse the system RAM boot alias into the memory ranges. Reviewed-by: Pratyush Anand <panand@redhat.com> Signed-off-by: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'kexec/add_segment.c')
0 files changed, 0 insertions, 0 deletions