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; |
