Commit 686a8677 authored by Paul Mackerras's avatar Paul Mackerras Committed by Linus Torvalds

[PATCH] ppc64: use cpu_present_map in ppc64

Adopt the "standard" cpu_present_map for describing cpus which are present
in the system, but not necessarily online.  cpu_present_map is meant to be
a superset of cpu_online_map and a subset of cpu_possible_map.
Signed-off-by: default avatarNathan Lynch <nathanl@austin.ibm.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 04aff4ba
...@@ -943,6 +943,7 @@ static void __init prom_hold_cpus(unsigned long mem) ...@@ -943,6 +943,7 @@ static void __init prom_hold_cpus(unsigned long mem)
cpu_set(cpuid, RELOC(cpu_available_map)); cpu_set(cpuid, RELOC(cpu_available_map));
cpu_set(cpuid, RELOC(cpu_possible_map)); cpu_set(cpuid, RELOC(cpu_possible_map));
cpu_set(cpuid, RELOC(cpu_present_at_boot)); cpu_set(cpuid, RELOC(cpu_present_at_boot));
cpu_set(cpuid, RELOC(cpu_present_map));
if (reg == 0) if (reg == 0)
cpu_set(cpuid, RELOC(cpu_online_map)); cpu_set(cpuid, RELOC(cpu_online_map));
#endif /* CONFIG_SMP */ #endif /* CONFIG_SMP */
...@@ -1045,6 +1046,7 @@ static void __init prom_hold_cpus(unsigned long mem) ...@@ -1045,6 +1046,7 @@ static void __init prom_hold_cpus(unsigned long mem)
cpu_set(cpuid, RELOC(cpu_available_map)); cpu_set(cpuid, RELOC(cpu_available_map));
cpu_set(cpuid, RELOC(cpu_possible_map)); cpu_set(cpuid, RELOC(cpu_possible_map));
cpu_set(cpuid, RELOC(cpu_present_at_boot)); cpu_set(cpuid, RELOC(cpu_present_at_boot));
cpu_set(cpuid, RELOC(cpu_present_map));
#endif #endif
} else { } else {
prom_printf("... failed: %x\n", *acknowledge); prom_printf("... failed: %x\n", *acknowledge);
...@@ -1057,6 +1059,7 @@ static void __init prom_hold_cpus(unsigned long mem) ...@@ -1057,6 +1059,7 @@ static void __init prom_hold_cpus(unsigned long mem)
cpu_set(cpuid, RELOC(cpu_possible_map)); cpu_set(cpuid, RELOC(cpu_possible_map));
cpu_set(cpuid, RELOC(cpu_online_map)); cpu_set(cpuid, RELOC(cpu_online_map));
cpu_set(cpuid, RELOC(cpu_present_at_boot)); cpu_set(cpuid, RELOC(cpu_present_at_boot));
cpu_set(cpuid, RELOC(cpu_present_map));
} }
#endif #endif
next: next:
...@@ -1072,6 +1075,7 @@ static void __init prom_hold_cpus(unsigned long mem) ...@@ -1072,6 +1075,7 @@ static void __init prom_hold_cpus(unsigned long mem)
if (_naca->smt_state) { if (_naca->smt_state) {
cpu_set(cpuid, RELOC(cpu_available_map)); cpu_set(cpuid, RELOC(cpu_available_map));
cpu_set(cpuid, RELOC(cpu_present_at_boot)); cpu_set(cpuid, RELOC(cpu_present_at_boot));
cpu_set(cpuid, RELOC(cpu_present_map));
prom_printf("available\n"); prom_printf("available\n");
} else { } else {
prom_printf("not available\n"); prom_printf("not available\n");
...@@ -1103,6 +1107,7 @@ static void __init prom_hold_cpus(unsigned long mem) ...@@ -1103,6 +1107,7 @@ static void __init prom_hold_cpus(unsigned long mem)
} }
/* cpu_set(i+1, cpu_online_map); */ /* cpu_set(i+1, cpu_online_map); */
cpu_set(i+1, RELOC(cpu_possible_map)); cpu_set(i+1, RELOC(cpu_possible_map));
cpu_set(i+1, RELOC(cpu_present_map));
} }
_systemcfg->processorCount *= 2; _systemcfg->processorCount *= 2;
} else { } else {
......
...@@ -127,6 +127,7 @@ static int smp_iSeries_numProcs(void) ...@@ -127,6 +127,7 @@ static int smp_iSeries_numProcs(void)
cpu_set(i, cpu_available_map); cpu_set(i, cpu_available_map);
cpu_set(i, cpu_possible_map); cpu_set(i, cpu_possible_map);
cpu_set(i, cpu_present_at_boot); cpu_set(i, cpu_present_at_boot);
cpu_set(i, cpu_present_map);
++np; ++np;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment