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:
Jacek Caban 2021-03-01 16:51:15 +01:00 committed by Alexandre Julliard
parent e341d1f695
commit bbae70bf1e
1 changed files with 4 additions and 10 deletions

View File

@ -1782,16 +1782,10 @@ __ASM_GLOBAL_FUNC( call_user_apc_dispatcher,
/***********************************************************************
* call_raise_user_exception_dispatcher
*/
__ASM_GLOBAL_FUNC( call_raise_user_exception_dispatcher,
"movl %fs:0x1f8,%eax\n\t" /* x86_thread_data()->syscall_frame */
"movl 0x1c(%eax),%ebx\n\t" /* frame->ebx */
"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" )
void WINAPI call_raise_user_exception_dispatcher( NTSTATUS (WINAPI *dispatcher)(void) )
{
x86_thread_data()->syscall_frame->eip = (DWORD)dispatcher;
}
/***********************************************************************