[SPARC64]: Do not try to synchronize %stick registers on SUN4V.
authorDavid S. Miller <davem@sunset.davemloft.net>
Sun, 12 Feb 2006 07:22:47 +0000 (23:22 -0800)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 20 Mar 2006 09:12:27 +0000 (01:12 -0800)
Writes by privileged code are not allowed.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/kernel/smp.c

index d637168..2dbe008 100644 (file)
@@ -1278,7 +1278,11 @@ int __devinit __cpu_up(unsigned int cpu)
                if (!cpu_isset(cpu, cpu_online_map)) {
                        ret = -ENODEV;
                } else {
-                       smp_synchronize_one_tick(cpu);
+                       /* On SUN4V, writes to %tick and %stick are
+                        * not allowed.
+                        */
+                       if (tlb_type != hypervisor)
+                               smp_synchronize_one_tick(cpu);
                }
        }
        return ret;