diff options
| author | Steve French <sfrench@us.ibm.com> | 2006-01-23 15:51:00 -0500 |
|---|---|---|
| committer | Steve French <sfrench@us.ibm.com> | 2006-01-23 15:51:00 -0500 |
| commit | 4c8af5254e741983e141e10002e01abba87f8419 (patch) | |
| tree | a932954630715a0e9b4f20fdfe74255b441096c5 /arch/sparc64/kernel/rtrap.S | |
| parent | 0820e15a35b3cf37caadf550ddb7c75a7a77afd0 (diff) | |
| parent | 3ee68c4af3fd7228c1be63254b9f884614f9ebb2 (diff) | |
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'arch/sparc64/kernel/rtrap.S')
| -rw-r--r-- | arch/sparc64/kernel/rtrap.S | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/arch/sparc64/kernel/rtrap.S b/arch/sparc64/kernel/rtrap.S index 090dcca00d2a..b80eba0081ca 100644 --- a/arch/sparc64/kernel/rtrap.S +++ b/arch/sparc64/kernel/rtrap.S | |||
| @@ -53,14 +53,13 @@ __handle_user_windows: | |||
| 53 | wrpr %g0, RTRAP_PSTATE_IRQOFF, %pstate | 53 | wrpr %g0, RTRAP_PSTATE_IRQOFF, %pstate |
| 54 | ldx [%g6 + TI_FLAGS], %l0 | 54 | ldx [%g6 + TI_FLAGS], %l0 |
| 55 | 55 | ||
| 56 | 1: andcc %l0, (_TIF_NOTIFY_RESUME | _TIF_SIGPENDING), %g0 | 56 | 1: andcc %l0, (_TIF_SIGPENDING | _TIF_RESTORE_SIGMASK), %g0 |
| 57 | be,pt %xcc, __handle_user_windows_continue | 57 | be,pt %xcc, __handle_user_windows_continue |
| 58 | nop | 58 | nop |
| 59 | clr %o0 | 59 | mov %l5, %o1 |
| 60 | mov %l5, %o2 | 60 | mov %l6, %o2 |
| 61 | mov %l6, %o3 | 61 | add %sp, PTREGS_OFF, %o0 |
| 62 | add %sp, PTREGS_OFF, %o1 | 62 | mov %l0, %o3 |
| 63 | mov %l0, %o4 | ||
| 64 | 63 | ||
| 65 | call do_notify_resume | 64 | call do_notify_resume |
| 66 | wrpr %g0, RTRAP_PSTATE, %pstate | 65 | wrpr %g0, RTRAP_PSTATE, %pstate |
| @@ -96,15 +95,14 @@ __handle_perfctrs: | |||
| 96 | wrpr %g0, RTRAP_PSTATE, %pstate | 95 | wrpr %g0, RTRAP_PSTATE, %pstate |
| 97 | wrpr %g0, RTRAP_PSTATE_IRQOFF, %pstate | 96 | wrpr %g0, RTRAP_PSTATE_IRQOFF, %pstate |
| 98 | ldx [%g6 + TI_FLAGS], %l0 | 97 | ldx [%g6 + TI_FLAGS], %l0 |
| 99 | 1: andcc %l0, (_TIF_NOTIFY_RESUME | _TIF_SIGPENDING), %g0 | 98 | 1: andcc %l0, (_TIF_SIGPENDING | _TIF_RESTORE_SIGMASK), %g0 |
| 100 | 99 | ||
| 101 | be,pt %xcc, __handle_perfctrs_continue | 100 | be,pt %xcc, __handle_perfctrs_continue |
| 102 | sethi %hi(TSTATE_PEF), %o0 | 101 | sethi %hi(TSTATE_PEF), %o0 |
| 103 | clr %o0 | 102 | mov %l5, %o1 |
| 104 | mov %l5, %o2 | 103 | mov %l6, %o2 |
| 105 | mov %l6, %o3 | 104 | add %sp, PTREGS_OFF, %o0 |
| 106 | add %sp, PTREGS_OFF, %o1 | 105 | mov %l0, %o3 |
| 107 | mov %l0, %o4 | ||
| 108 | call do_notify_resume | 106 | call do_notify_resume |
| 109 | 107 | ||
| 110 | wrpr %g0, RTRAP_PSTATE, %pstate | 108 | wrpr %g0, RTRAP_PSTATE, %pstate |
| @@ -129,11 +127,10 @@ __handle_userfpu: | |||
| 129 | ba,a,pt %xcc, __handle_userfpu_continue | 127 | ba,a,pt %xcc, __handle_userfpu_continue |
| 130 | 128 | ||
| 131 | __handle_signal: | 129 | __handle_signal: |
| 132 | clr %o0 | 130 | mov %l5, %o1 |
| 133 | mov %l5, %o2 | 131 | mov %l6, %o2 |
| 134 | mov %l6, %o3 | 132 | add %sp, PTREGS_OFF, %o0 |
| 135 | add %sp, PTREGS_OFF, %o1 | 133 | mov %l0, %o3 |
| 136 | mov %l0, %o4 | ||
| 137 | call do_notify_resume | 134 | call do_notify_resume |
| 138 | wrpr %g0, RTRAP_PSTATE, %pstate | 135 | wrpr %g0, RTRAP_PSTATE, %pstate |
| 139 | wrpr %g0, RTRAP_PSTATE_IRQOFF, %pstate | 136 | wrpr %g0, RTRAP_PSTATE_IRQOFF, %pstate |
| @@ -200,7 +197,7 @@ __handle_preemption_continue: | |||
| 200 | andcc %l1, %o0, %g0 | 197 | andcc %l1, %o0, %g0 |
| 201 | andcc %l0, _TIF_NEED_RESCHED, %g0 | 198 | andcc %l0, _TIF_NEED_RESCHED, %g0 |
| 202 | bne,pn %xcc, __handle_preemption | 199 | bne,pn %xcc, __handle_preemption |
| 203 | andcc %l0, (_TIF_NOTIFY_RESUME | _TIF_SIGPENDING), %g0 | 200 | andcc %l0, (_TIF_SIGPENDING | _TIF_RESTORE_SIGMASK), %g0 |
| 204 | bne,pn %xcc, __handle_signal | 201 | bne,pn %xcc, __handle_signal |
| 205 | __handle_signal_continue: | 202 | __handle_signal_continue: |
| 206 | ldub [%g6 + TI_WSAVED], %o2 | 203 | ldub [%g6 + TI_WSAVED], %o2 |
