ntdll: Use syscall frame in x86 call_raise_user_exception_dispatcher implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
e341d1f695
commit
bbae70bf1e
|
@ -1782,16 +1782,10 @@ __ASM_GLOBAL_FUNC( call_user_apc_dispatcher,
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* call_raise_user_exception_dispatcher
|
* call_raise_user_exception_dispatcher
|
||||||
*/
|
*/
|
||||||
__ASM_GLOBAL_FUNC( call_raise_user_exception_dispatcher,
|
void WINAPI call_raise_user_exception_dispatcher( NTSTATUS (WINAPI *dispatcher)(void) )
|
||||||
"movl %fs:0x1f8,%eax\n\t" /* x86_thread_data()->syscall_frame */
|
{
|
||||||
"movl 0x1c(%eax),%ebx\n\t" /* frame->ebx */
|
x86_thread_data()->syscall_frame->eip = (DWORD)dispatcher;
|
||||||
"movl 0x28(%eax),%edi\n\t" /* frame->edi */
|
}
|
||||||
"movl 0x2c(%eax),%esi\n\t" /* frame->esi */
|
|
||||||
"movl 0x30(%eax),%ebp\n\t" /* frame->ebp */
|
|
||||||
"movl 4(%esp),%edx\n\t" /* dispatcher */
|
|
||||||
"movl $0,%fs:0x1f8\n\t"
|
|
||||||
"leal 0x38(%eax),%esp\n\t"
|
|
||||||
"jmp *%edx" )
|
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
|
|
Loading…
Reference in New Issue