Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 36ac4b98 authored by Jack Steiner's avatar Jack Steiner Committed by Ingo Molnar
Browse files

x86, UV: Fix initialization of max_pnode



Fix calculation of "max_pnode" for systems where the the highest
blade has neither cpus or memory. (And, yes, although rare this
does occur).

Signed-off-by: default avatarJack Steiner <steiner@sgi.com>
LKML-Reference: <20100910150808.GA19802@sgi.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent df423dc7
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -698,9 +698,11 @@ void __init uv_system_init(void)
		for (j = 0; j < 64; j++) {
		for (j = 0; j < 64; j++) {
			if (!test_bit(j, &present))
			if (!test_bit(j, &present))
				continue;
				continue;
			uv_blade_info[blade].pnode = (i * 64 + j);
			pnode = (i * 64 + j);
			uv_blade_info[blade].pnode = pnode;
			uv_blade_info[blade].nr_possible_cpus = 0;
			uv_blade_info[blade].nr_possible_cpus = 0;
			uv_blade_info[blade].nr_online_cpus = 0;
			uv_blade_info[blade].nr_online_cpus = 0;
			max_pnode = max(pnode, max_pnode);
			blade++;
			blade++;
		}
		}
	}
	}
@@ -738,7 +740,6 @@ void __init uv_system_init(void)
		uv_cpu_hub_info(cpu)->scir.offset = uv_scir_offset(apicid);
		uv_cpu_hub_info(cpu)->scir.offset = uv_scir_offset(apicid);
		uv_node_to_blade[nid] = blade;
		uv_node_to_blade[nid] = blade;
		uv_cpu_to_blade[cpu] = blade;
		uv_cpu_to_blade[cpu] = blade;
		max_pnode = max(pnode, max_pnode);
	}
	}


	/* Add blade/pnode info for nodes without cpus */
	/* Add blade/pnode info for nodes without cpus */
@@ -750,7 +751,6 @@ void __init uv_system_init(void)
		pnode = (paddr >> m_val) & pnode_mask;
		pnode = (paddr >> m_val) & pnode_mask;
		blade = boot_pnode_to_blade(pnode);
		blade = boot_pnode_to_blade(pnode);
		uv_node_to_blade[nid] = blade;
		uv_node_to_blade[nid] = blade;
		max_pnode = max(pnode, max_pnode);
	}
	}


	map_gru_high(max_pnode);
	map_gru_high(max_pnode);