summaryrefslogtreecommitdiffstats
path: root/drivers/misc/sgi-xp/xp_uv.c
diff options
context:
space:
mode:
authorRobin Holt <holt@sgi.com>2009-12-16 01:47:53 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2009-12-16 16:20:13 +0100
commit682128939f546e3a9cdd9fef392b932dd9c41a65 (patch)
treeec641fbca980cbba69b655f7575523a8cdc93b30 /drivers/misc/sgi-xp/xp_uv.c
parentx86: uv: introduce a means to translate from gpa -> socket_paddr (diff)
downloadlinux-682128939f546e3a9cdd9fef392b932dd9c41a65.tar.xz
linux-682128939f546e3a9cdd9fef392b932dd9c41a65.zip
x86: uv: xpc needs to provide an abstraction for uv_gpa
Provide an SGI SN2/UV agnositic method for converting a global physical address into a socket physical address. Signed-off-by: Robin Holt <holt@sgi.com> Cc: Jack Steiner <steiner@sgi.com> Cc: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/misc/sgi-xp/xp_uv.c')
-rw-r--r--drivers/misc/sgi-xp/xp_uv.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/misc/sgi-xp/xp_uv.c b/drivers/misc/sgi-xp/xp_uv.c
index d238576b26fa..1e61f8a61a30 100644
--- a/drivers/misc/sgi-xp/xp_uv.c
+++ b/drivers/misc/sgi-xp/xp_uv.c
@@ -32,6 +32,15 @@ xp_pa_uv(void *addr)
return uv_gpa(addr);
}
+/*
+ * Convert a global physical to socket physical address.
+ */
+static unsigned long
+xp_socket_pa_uv(unsigned long gpa)
+{
+ return uv_gpa_to_soc_phys_ram(gpa);
+}
+
static enum xp_retval
xp_remote_memcpy_uv(unsigned long dst_gpa, const unsigned long src_gpa,
size_t len)
@@ -123,6 +132,7 @@ xp_init_uv(void)
xp_region_size = sn_region_size;
xp_pa = xp_pa_uv;
+ xp_socket_pa = xp_socket_pa_uv;
xp_remote_memcpy = xp_remote_memcpy_uv;
xp_cpu_to_nasid = xp_cpu_to_nasid_uv;
xp_expand_memprotect = xp_expand_memprotect_uv;