]> git.hungrycats.org Git - linux/commitdiff
[SPARC64]: Always use sethi+jmpl to reach VISenter{,half}.
authorDavid S. Miller <davem@nuts.ninka.net>
Mon, 29 Sep 2003 21:24:13 +0000 (14:24 -0700)
committerLinus Torvalds <torvalds@home.osdl.org>
Mon, 29 Sep 2003 21:24:13 +0000 (14:24 -0700)
include/asm-sparc64/visasm.h

index de98f235d7cf6cee60800f232caaba2088d97066..a74078551e0fcf8c73ecd9e0b9c4105d1b8f2dc6 100644 (file)
@@ -17,7 +17,8 @@
        andcc           %o5, (FPRS_FEF|FPRS_DU), %g0;   \
        be,pt           %icc, 297f;                     \
         sethi          %hi(297f), %g7;                 \
-       ba,pt           %xcc, VISenter;                 \
+       sethi           %hi(VISenter), %g1;             \
+       jmpl            %g1 + %lo(VISenter), %g0;       \
         or             %g7, %lo(297f), %g7;            \
 297:   wr              %g0, FPRS_FEF, %fprs;           \
 
@@ -32,7 +33,8 @@
        andcc           %o5, FPRS_FEF, %g0;             \
        be,pt           %icc, 297f;                     \
         sethi          %hi(298f), %g7;                 \
-       ba,pt           %xcc, VISenterhalf;             \
+       sethi           %hi(VISenterhalf), %g1;         \
+       jmpl            %g1 + %lo(VISenterhalf), %g0;   \
         or             %g7, %lo(298f), %g7;            \
        clr             %o5;                            \
 297:   wr              %o5, FPRS_FEF, %fprs;           \
@@ -48,7 +50,8 @@ static __inline__ void save_and_clear_fpu(void) {
 "              andcc %%o5, %0, %%g0\n"
 "              be,pt %%icc, 299f\n"
 "               sethi %%hi(298f), %%g7\n"
-"              ba VISenter     ! Note. This cannot be bp, as it may be too far from VISenter.\n"
+"              sethi %%hi(VISenter), %%g1\n"
+"              jmpl %%g1 + %%lo(VISenter), %%g0\n"
 "               or %%g7, %%lo(298f), %%g7\n"
 "      298:    wr %%g0, 0, %%fprs\n"
 "      299:\n"