aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/smp.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2006-02-12 02:22:47 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-20 04:12:27 -0500
commit02fead75055246d01af56a45a9d1b311d506da3e (patch)
tree66d66532514e2a58a42d15fd6ba5c3d3c200b7c0 /arch/sparc64/kernel/smp.c
parent7aa6264543f19ceea9b5f386242917296d63be05 (diff)
[SPARC64]: Do not try to synchronize %stick registers on SUN4V.
Writes by privileged code are not allowed. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/smp.c')
-rw-r--r--arch/sparc64/kernel/smp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c
index d637168ce37d..2dbe008d6b7a 100644
--- a/arch/sparc64/kernel/smp.c
+++ b/arch/sparc64/kernel/smp.c
@@ -1278,7 +1278,11 @@ int __devinit __cpu_up(unsigned int cpu)
1278 if (!cpu_isset(cpu, cpu_online_map)) { 1278 if (!cpu_isset(cpu, cpu_online_map)) {
1279 ret = -ENODEV; 1279 ret = -ENODEV;
1280 } else { 1280 } else {
1281 smp_synchronize_one_tick(cpu); 1281 /* On SUN4V, writes to %tick and %stick are
1282 * not allowed.
1283 */
1284 if (tlb_type != hypervisor)
1285 smp_synchronize_one_tick(cpu);
1282 } 1286 }
1283 } 1287 }
1284 return ret; 1288 return ret;