diff options
Diffstat (limited to 'sys/ia64')
-rw-r--r-- | sys/ia64/ia64/locore.S | 13 | ||||
-rw-r--r-- | sys/ia64/ia64/syscall.S | 5 |
2 files changed, 5 insertions, 13 deletions
diff --git a/sys/ia64/ia64/locore.S b/sys/ia64/ia64/locore.S index fc83d0c..ef2ad9c 100644 --- a/sys/ia64/ia64/locore.S +++ b/sys/ia64/ia64/locore.S @@ -136,17 +136,10 @@ ENTRY(fork_trampoline, 0) .global enter_userland .type enter_userland, @function enter_userland: -{ .mmi - add r14=24,sp - ;; - ld8 r14=[r14] +{ .mfb nop 0 - ;; -} -{ .mbb - cmp.eq p6,p7=r0,r14 -(p6) br.sptk exception_restore -(p7) br.sptk epc_syscall_return + nop 0 + br.sptk epc_syscall_return ;; } END(fork_trampoline) diff --git a/sys/ia64/ia64/syscall.S b/sys/ia64/ia64/syscall.S index b009b86..0c0ef5e 100644 --- a/sys/ia64/ia64/syscall.S +++ b/sys/ia64/ia64/syscall.S @@ -378,6 +378,8 @@ ENTRY(epc_syscall, 8) br.call.sptk rp=syscall ;; } + .global epc_syscall_return +epc_syscall_return: { .mfb add out0=16,sp nop 0 @@ -402,9 +404,6 @@ ENTRY(epc_syscall, 8) (p15) br.spnt exception_restore ;; } - - .global epc_syscall_return -epc_syscall_return: { .mmi alloc r31=ar.pfs,0,0,0,0 add r14=32,sp |