]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - arch/x86/include/asm/uv/uv_hub.h
x86: uv: introduce a means to translate from gpa -> socket_paddr
[net-next-2.6.git] / arch / x86 / include / asm / uv / uv_hub.h
index d1414af9855961ff52a1a952908995eacfb57b69..0cc955f16aec0134e2019169802985f5ce31c4dd 100644 (file)
@@ -232,6 +232,19 @@ static inline unsigned long uv_gpa(void *v)
        return uv_soc_phys_ram_to_gpa(__pa(v));
 }
 
+/* UV global physical address --> socket phys RAM */
+static inline unsigned long uv_gpa_to_soc_phys_ram(unsigned long gpa)
+{
+       unsigned long paddr = gpa & uv_hub_info->gpa_mask;
+       unsigned long remap_base = uv_hub_info->lowmem_remap_base;
+       unsigned long remap_top =  uv_hub_info->lowmem_remap_top;
+
+       if (paddr >= remap_base && paddr < remap_base + remap_top)
+               paddr -= remap_base;
+       return paddr;
+}
+
+
 /* gnode -> pnode */
 static inline unsigned long uv_gpa_to_gnode(unsigned long gpa)
 {