Commit eea68b55 authored by David S. Miller's avatar David S. Miller

[SPARC64]: Fix syscall table base loading assembler.

parent b4b72ea8
...@@ -63,6 +63,8 @@ solaris_reg: ...@@ -63,6 +63,8 @@ solaris_reg:
mov %i4, %o4 mov %i4, %o4
linux_syscall_for_solaris: linux_syscall_for_solaris:
sethi %hi(sys_call_table32), %l6
or %l6, %lo(sys_call_table32), %l6
sll %l3, 2, %l4 sll %l3, 2, %l4
ba,pt %xcc, 10f ba,pt %xcc, 10f
lduw [%l6 + %l4], %l3 lduw [%l6 + %l4], %l3
...@@ -77,6 +79,7 @@ entry64_personality_patch: ...@@ -77,6 +79,7 @@ entry64_personality_patch:
bg,pn %icc, solaris_unimplemented bg,pn %icc, solaris_unimplemented
srl %g1, 0, %g1 srl %g1, 0, %g1
sethi %hi(solaris_sys_table), %l7 sethi %hi(solaris_sys_table), %l7
or %l7, %lo(solaris_sys_table), %l7
brz,pn %g1, solaris_sucks brz,pn %g1, solaris_sucks
mov %i4, %o4 mov %i4, %o4
sll %g1, 2, %l4 sll %g1, 2, %l4
...@@ -88,7 +91,7 @@ entry64_personality_patch: ...@@ -88,7 +91,7 @@ entry64_personality_patch:
ldx [%g6 + TI_FLAGS], %l5 ldx [%g6 + TI_FLAGS], %l5
cmp %l3, NR_SYSCALLS cmp %l3, NR_SYSCALLS
bleu,a,pn %xcc, linux_syscall_for_solaris bleu,a,pn %xcc, linux_syscall_for_solaris
sethi %hi(sys_call_table32), %l6 nop
andcc %l3, 1, %g0 andcc %l3, 1, %g0
bne,a,pn %icc, 10f bne,a,pn %icc, 10f
add %sp, PTREGS_OFF, %o0 add %sp, PTREGS_OFF, %o0
......
...@@ -21,7 +21,6 @@ ...@@ -21,7 +21,6 @@
#define solaris_semsys solaris_unimplemented #define solaris_semsys solaris_unimplemented
.data .data
.align 1024
.globl solaris_sys_table .globl solaris_sys_table
solaris_sys_table: solaris_sys_table:
.word solaris_unimplemented /* nosys 0 */ .word solaris_unimplemented /* nosys 0 */
......
...@@ -95,9 +95,10 @@ ...@@ -95,9 +95,10 @@
sethi %hi(109f), %g7; \ sethi %hi(109f), %g7; \
ba,pt %xcc, scetrap; \ ba,pt %xcc, scetrap; \
109: or %g7, %lo(109b), %g7; \ 109: or %g7, %lo(109b), %g7; \
ba,pt %xcc, routine; \
sethi %hi(systbl), %l7; \ sethi %hi(systbl), %l7; \
nop; nop; nop; ba,pt %xcc, routine; \
or %l7, %lo(systbl), %l7; \
nop; nop;
#define INDIRECT_SOLARIS_SYSCALL(num) \ #define INDIRECT_SOLARIS_SYSCALL(num) \
sethi %hi(109f), %g7; \ sethi %hi(109f), %g7; \
......
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