aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/apic
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/apic')
-rw-r--r--arch/x86/kernel/apic/x2apic_uv_x.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c
index 6d425490fb1f..130c4b934877 100644
--- a/arch/x86/kernel/apic/x2apic_uv_x.c
+++ b/arch/x86/kernel/apic/x2apic_uv_x.c
@@ -352,14 +352,14 @@ static __init void get_lowmem_redirect(unsigned long *base, unsigned long *size)
352 352
353 for (i = 0; i < ARRAY_SIZE(redir_addrs); i++) { 353 for (i = 0; i < ARRAY_SIZE(redir_addrs); i++) {
354 alias.v = uv_read_local_mmr(redir_addrs[i].alias); 354 alias.v = uv_read_local_mmr(redir_addrs[i].alias);
355 if (alias.s.base == 0) { 355 if (alias.s.enable && alias.s.base == 0) {
356 *size = (1UL << alias.s.m_alias); 356 *size = (1UL << alias.s.m_alias);
357 redirect.v = uv_read_local_mmr(redir_addrs[i].redirect); 357 redirect.v = uv_read_local_mmr(redir_addrs[i].redirect);
358 *base = (unsigned long)redirect.s.dest_base << DEST_SHIFT; 358 *base = (unsigned long)redirect.s.dest_base << DEST_SHIFT;
359 return; 359 return;
360 } 360 }
361 } 361 }
362 BUG(); 362 *base = *size = 0;
363} 363}
364 364
365enum map_type {map_wb, map_uc}; 365enum map_type {map_wb, map_uc};
@@ -627,12 +627,12 @@ void __init uv_system_init(void)
627 uv_cpu_hub_info(cpu)->lowmem_remap_base = lowmem_redir_base; 627 uv_cpu_hub_info(cpu)->lowmem_remap_base = lowmem_redir_base;
628 uv_cpu_hub_info(cpu)->lowmem_remap_top = lowmem_redir_size; 628 uv_cpu_hub_info(cpu)->lowmem_remap_top = lowmem_redir_size;
629 uv_cpu_hub_info(cpu)->m_val = m_val; 629 uv_cpu_hub_info(cpu)->m_val = m_val;
630 uv_cpu_hub_info(cpu)->n_val = m_val; 630 uv_cpu_hub_info(cpu)->n_val = n_val;
631 uv_cpu_hub_info(cpu)->numa_blade_id = blade; 631 uv_cpu_hub_info(cpu)->numa_blade_id = blade;
632 uv_cpu_hub_info(cpu)->blade_processor_id = lcpu; 632 uv_cpu_hub_info(cpu)->blade_processor_id = lcpu;
633 uv_cpu_hub_info(cpu)->pnode = pnode; 633 uv_cpu_hub_info(cpu)->pnode = pnode;
634 uv_cpu_hub_info(cpu)->pnode_mask = pnode_mask; 634 uv_cpu_hub_info(cpu)->pnode_mask = pnode_mask;
635 uv_cpu_hub_info(cpu)->gpa_mask = (1 << (m_val + n_val)) - 1; 635 uv_cpu_hub_info(cpu)->gpa_mask = (1UL << (m_val + n_val)) - 1;
636 uv_cpu_hub_info(cpu)->gnode_upper = gnode_upper; 636 uv_cpu_hub_info(cpu)->gnode_upper = gnode_upper;
637 uv_cpu_hub_info(cpu)->gnode_extra = gnode_extra; 637 uv_cpu_hub_info(cpu)->gnode_extra = gnode_extra;
638 uv_cpu_hub_info(cpu)->global_mmr_base = mmr_base; 638 uv_cpu_hub_info(cpu)->global_mmr_base = mmr_base;