diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2006-02-12 02:22:47 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-03-20 04:12:27 -0500 |
commit | 02fead75055246d01af56a45a9d1b311d506da3e (patch) | |
tree | 66d66532514e2a58a42d15fd6ba5c3d3c200b7c0 /arch/sparc64/kernel/smp.c | |
parent | 7aa6264543f19ceea9b5f386242917296d63be05 (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.c | 6 |
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; |