diff options
-rw-r--r-- | arch/x86/include/asm/uv/uv_hub.h | 16 | ||||
-rw-r--r-- | arch/x86/kernel/genx2apic_uv_x.c | 3 |
2 files changed, 3 insertions, 16 deletions
diff --git a/arch/x86/include/asm/uv/uv_hub.h b/arch/x86/include/asm/uv/uv_hub.h index 52aa943c634f..777327ef05c1 100644 --- a/arch/x86/include/asm/uv/uv_hub.h +++ b/arch/x86/include/asm/uv/uv_hub.h | |||
@@ -210,7 +210,7 @@ DECLARE_PER_CPU(struct uv_hub_info_s, __uv_hub_info); | |||
210 | static inline unsigned long uv_soc_phys_ram_to_gpa(unsigned long paddr) | 210 | static inline unsigned long uv_soc_phys_ram_to_gpa(unsigned long paddr) |
211 | { | 211 | { |
212 | if (paddr < uv_hub_info->lowmem_remap_top) | 212 | if (paddr < uv_hub_info->lowmem_remap_top) |
213 | paddr += uv_hub_info->lowmem_remap_base; | 213 | paddr |= uv_hub_info->lowmem_remap_base; |
214 | return paddr | uv_hub_info->gnode_upper; | 214 | return paddr | uv_hub_info->gnode_upper; |
215 | } | 215 | } |
216 | 216 | ||
@@ -218,19 +218,7 @@ static inline unsigned long uv_soc_phys_ram_to_gpa(unsigned long paddr) | |||
218 | /* socket virtual --> UV global physical address */ | 218 | /* socket virtual --> UV global physical address */ |
219 | static inline unsigned long uv_gpa(void *v) | 219 | static inline unsigned long uv_gpa(void *v) |
220 | { | 220 | { |
221 | return __pa(v) | uv_hub_info->gnode_upper; | 221 | return uv_soc_phys_ram_to_gpa(__pa(v)); |
222 | } | ||
223 | |||
224 | /* socket virtual --> UV global physical address */ | ||
225 | static inline void *uv_vgpa(void *v) | ||
226 | { | ||
227 | return (void *)uv_gpa(v); | ||
228 | } | ||
229 | |||
230 | /* UV global physical address --> socket virtual */ | ||
231 | static inline void *uv_va(unsigned long gpa) | ||
232 | { | ||
233 | return __va(gpa & uv_hub_info->gpa_mask); | ||
234 | } | 222 | } |
235 | 223 | ||
236 | /* pnode, offset --> socket virtual */ | 224 | /* pnode, offset --> socket virtual */ |
diff --git a/arch/x86/kernel/genx2apic_uv_x.c b/arch/x86/kernel/genx2apic_uv_x.c index 221299f4509f..dece17289731 100644 --- a/arch/x86/kernel/genx2apic_uv_x.c +++ b/arch/x86/kernel/genx2apic_uv_x.c | |||
@@ -540,8 +540,7 @@ void __init uv_system_init(void) | |||
540 | uv_blade_info[blade].nr_possible_cpus++; | 540 | uv_blade_info[blade].nr_possible_cpus++; |
541 | 541 | ||
542 | uv_cpu_hub_info(cpu)->lowmem_remap_base = lowmem_redir_base; | 542 | uv_cpu_hub_info(cpu)->lowmem_remap_base = lowmem_redir_base; |
543 | uv_cpu_hub_info(cpu)->lowmem_remap_top = | 543 | uv_cpu_hub_info(cpu)->lowmem_remap_top = lowmem_redir_size; |
544 | lowmem_redir_base + lowmem_redir_size; | ||
545 | uv_cpu_hub_info(cpu)->m_val = m_val; | 544 | uv_cpu_hub_info(cpu)->m_val = m_val; |
546 | uv_cpu_hub_info(cpu)->n_val = m_val; | 545 | uv_cpu_hub_info(cpu)->n_val = m_val; |
547 | uv_cpu_hub_info(cpu)->numa_blade_id = blade; | 546 | uv_cpu_hub_info(cpu)->numa_blade_id = blade; |