From 492eea0dcd98555ab4db2ae783cc0ef8f3ba1ace Mon Sep 17 00:00:00 2001 From: Marcel Moolenaar Date: Fri, 19 Sep 2003 22:54:05 +0000 Subject: [PATCH] Stop using the setcontext() syscall to restore an async context. Instead use the break instruction with an immediate specially created for us. --- lib/libkse/arch/ia64/ia64/context.S | 10 +++++----- lib/libpthread/arch/ia64/ia64/context.S | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/libkse/arch/ia64/ia64/context.S b/lib/libkse/arch/ia64/ia64/context.S index 49fe42e2926..9411293ec7b 100644 --- a/lib/libkse/arch/ia64/ia64/context.S +++ b/lib/libkse/arch/ia64/ia64/context.S @@ -339,13 +339,13 @@ ENTRY(_ia64_save_context, 1) END(_ia64_save_context) /* - * void _ia64_break_setcontext(ucontext_t *ucp); + * void _ia64_break_setcontext(mcontext_t *mc); */ ENTRY(_ia64_break_setcontext, 1) -{ .mib - mov r15=SYS_setcontext - break 0x100000 - br.ret.sptk rp +{ .mmi + mov r8=r32 + break 0x180000 + nop 0 ;; } END(_ia64_break_setcontext) diff --git a/lib/libpthread/arch/ia64/ia64/context.S b/lib/libpthread/arch/ia64/ia64/context.S index 49fe42e2926..9411293ec7b 100644 --- a/lib/libpthread/arch/ia64/ia64/context.S +++ b/lib/libpthread/arch/ia64/ia64/context.S @@ -339,13 +339,13 @@ ENTRY(_ia64_save_context, 1) END(_ia64_save_context) /* - * void _ia64_break_setcontext(ucontext_t *ucp); + * void _ia64_break_setcontext(mcontext_t *mc); */ ENTRY(_ia64_break_setcontext, 1) -{ .mib - mov r15=SYS_setcontext - break 0x100000 - br.ret.sptk rp +{ .mmi + mov r8=r32 + break 0x180000 + nop 0 ;; } END(_ia64_break_setcontext)