summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-keystone
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2016-03-15 14:55:03 +0000
committerRussell King <rmk+kernel@arm.linux.org.uk>2016-05-03 11:13:54 +0100
commit981b6714dbd26609212536b9fed43e49db1459cf (patch)
treed1929db350c1ad747a5ff2ade1bc7b01c4fd39a2 /arch/arm/mach-keystone
parent61603016e2122bf95328321b2f1a64277202b6e3 (diff)
downloadlinux-981b6714dbd26609212536b9fed43e49db1459cf.tar.gz
linux-981b6714dbd26609212536b9fed43e49db1459cf.tar.bz2
linux-981b6714dbd26609212536b9fed43e49db1459cf.zip
ARM: provide improved virt_to_idmap() functionality
For kexec, we need more functionality from the IDMAP system. We need to be able to convert physical addresses to their identity mappped versions as well as virtual addresses. Convert the existing arch_virt_to_idmap() to deal with physical addresses instead. Acked-by: Santosh Shilimkar <ssantosh@kernel.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-keystone')
-rw-r--r--arch/arm/mach-keystone/keystone.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/arch/arm/mach-keystone/keystone.c b/arch/arm/mach-keystone/keystone.c
index e6b9cb1e6709..a33a296b00dc 100644
--- a/arch/arm/mach-keystone/keystone.c
+++ b/arch/arm/mach-keystone/keystone.c
@@ -63,11 +63,6 @@ static void __init keystone_init(void)
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
}
-static unsigned long keystone_virt_to_idmap(unsigned long x)
-{
- return (phys_addr_t)(x) - CONFIG_PAGE_OFFSET + KEYSTONE_LOW_PHYS_START;
-}
-
static long long __init keystone_pv_fixup(void)
{
long long offset;
@@ -91,7 +86,7 @@ static long long __init keystone_pv_fixup(void)
offset = KEYSTONE_HIGH_PHYS_START - KEYSTONE_LOW_PHYS_START;
/* Populate the arch idmap hook */
- arch_virt_to_idmap = keystone_virt_to_idmap;
+ arch_phys_to_idmap_offset = -offset;
return offset;
}