Commit 6241e5cc authored by David S. Miller's avatar David S. Miller

[SPARC64]: Fix branch signedness bug in all code patching.

The bug that hit SUN4V TLB patching exists elsewhere.
Make sure we cure all such cases.
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 1a7a242c
...@@ -75,7 +75,8 @@ NGclear_user_page: /* %o0=dest, %o1=vaddr */ ...@@ -75,7 +75,8 @@ NGclear_user_page: /* %o0=dest, %o1=vaddr */
or %g2, %lo(OLD), %g2; \ or %g2, %lo(OLD), %g2; \
sub %g1, %g2, %g1; \ sub %g1, %g2, %g1; \
sethi %hi(BRANCH_ALWAYS), %g3; \ sethi %hi(BRANCH_ALWAYS), %g3; \
srl %g1, 2, %g1; \ sll %g1, 11, %g1; \
srl %g1, 11 + 2, %g1; \
or %g3, %lo(BRANCH_ALWAYS), %g3; \ or %g3, %lo(BRANCH_ALWAYS), %g3; \
or %g3, %g1, %g3; \ or %g3, %g1, %g3; \
stw %g3, [%g2]; \ stw %g3, [%g2]; \
......
...@@ -12,7 +12,8 @@ ...@@ -12,7 +12,8 @@
or %g2, %lo(OLD), %g2; \ or %g2, %lo(OLD), %g2; \
sub %g1, %g2, %g1; \ sub %g1, %g2, %g1; \
sethi %hi(BRANCH_ALWAYS), %g3; \ sethi %hi(BRANCH_ALWAYS), %g3; \
srl %g1, 2, %g1; \ sll %g1, 11, %g1; \
srl %g1, 11 + 2, %g1; \
or %g3, %lo(BRANCH_ALWAYS), %g3; \ or %g3, %lo(BRANCH_ALWAYS), %g3; \
or %g3, %g1, %g3; \ or %g3, %g1, %g3; \
stw %g3, [%g2]; \ stw %g3, [%g2]; \
......
...@@ -12,7 +12,8 @@ ...@@ -12,7 +12,8 @@
or %g2, %lo(OLD), %g2; \ or %g2, %lo(OLD), %g2; \
sub %g1, %g2, %g1; \ sub %g1, %g2, %g1; \
sethi %hi(BRANCH_ALWAYS), %g3; \ sethi %hi(BRANCH_ALWAYS), %g3; \
srl %g1, 2, %g1; \ sll %g1, 11, %g1; \
srl %g1, 11 + 2, %g1; \
or %g3, %lo(BRANCH_ALWAYS), %g3; \ or %g3, %lo(BRANCH_ALWAYS), %g3; \
or %g3, %g1, %g3; \ or %g3, %g1, %g3; \
stw %g3, [%g2]; \ stw %g3, [%g2]; \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment