summaryrefslogtreecommitdiffstats
path: root/include/asm-sparc64
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2006-02-05 21:59:03 -0800
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-20 01:11:49 -0800
commit314981ac7177a933319e3c071a5cf0a579205e6e (patch)
tree11895da391ba91195d6d7a67debaa32a28c1215e /include/asm-sparc64
parent936f482af1743141d637483ec10eb881537c26dc (diff)
downloadop-kernel-dev-314981ac7177a933319e3c071a5cf0a579205e6e.zip
op-kernel-dev-314981ac7177a933319e3c071a5cf0a579205e6e.tar.gz
[SPARC64]: Kill all %pstate changes in context switch code.
They are totally unnecessary because: 1) Interrupts are already disabled when switch_to() runs. 2) We don't use hard-coded alternate globals any longer. This found a case in rtrap, which still assumed alternate global %g6 was current_thread_info(), and that is fixed by this changeset as well. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/asm-sparc64')
-rw-r--r--include/asm-sparc64/system.h5
1 files changed, 0 insertions, 5 deletions
diff --git a/include/asm-sparc64/system.h b/include/asm-sparc64/system.h
index 26c0807..a18ec87 100644
--- a/include/asm-sparc64/system.h
+++ b/include/asm-sparc64/system.h
@@ -213,7 +213,6 @@ do { if (test_thread_flag(TIF_PERFCTR)) { \
task_thread_info(next); \
__asm__ __volatile__( \
"mov %%g4, %%g7\n\t" \
- "wrpr %%g0, 0x95, %%pstate\n\t" \
"stx %%i6, [%%sp + 2047 + 0x70]\n\t" \
"stx %%i7, [%%sp + 2047 + 0x78]\n\t" \
"rdpr %%wstate, %%o5\n\t" \
@@ -227,14 +226,10 @@ do { if (test_thread_flag(TIF_PERFCTR)) { \
"ldx [%%g6 + %3], %%o6\n\t" \
"ldub [%%g6 + %2], %%o5\n\t" \
"ldub [%%g6 + %4], %%o7\n\t" \
- "mov %%g6, %%l2\n\t" \
"wrpr %%o5, 0x0, %%wstate\n\t" \
"ldx [%%sp + 2047 + 0x70], %%i6\n\t" \
"ldx [%%sp + 2047 + 0x78], %%i7\n\t" \
- "wrpr %%g0, 0x94, %%pstate\n\t" \
- "mov %%l2, %%g6\n\t" \
"ldx [%%g6 + %6], %%g4\n\t" \
- "wrpr %%g0, 0x96, %%pstate\n\t" \
"brz,pt %%o7, 1f\n\t" \
" mov %%g7, %0\n\t" \
"b,a ret_from_syscall\n\t" \
OpenPOWER on IntegriCloud