mirror of
git://source.winehq.org/git/wine.git
synced 2024-11-02 20:18:28 +00:00
ntdll: Implement KiUserExceptionDispatcher on ARM64EC.
This commit is contained in:
parent
e6ce5d5df7
commit
ec2e266c76
1 changed files with 15 additions and 6 deletions
|
@ -1674,19 +1674,28 @@ NTSTATUS call_seh_handlers( EXCEPTION_RECORD *rec, CONTEXT *orig_context )
|
|||
/*******************************************************************
|
||||
* KiUserExceptionDispatcher (NTDLL.@)
|
||||
*/
|
||||
NTSTATUS WINAPI KiUserExceptionDispatcher( EXCEPTION_RECORD *rec, CONTEXT *context )
|
||||
static NTSTATUS __attribute__((used)) dispatch_exception_arm64ec( EXCEPTION_RECORD *rec, ARM64_NT_CONTEXT *arm_ctx )
|
||||
{
|
||||
FIXME( "not implemented\n" );
|
||||
return STATUS_INVALID_DISPOSITION;
|
||||
ARM64EC_NT_CONTEXT context;
|
||||
|
||||
context_arm_to_x64( &context, arm_ctx );
|
||||
return dispatch_exception( rec, &context.AMD64_Context );
|
||||
}
|
||||
__ASM_GLOBAL_FUNC( "#KiUserExceptionDispatcher",
|
||||
".seh_context\n\t"
|
||||
".seh_endprologue\n\t"
|
||||
"add x0, sp, #0x390\n\t" /* rec (context + 1) */
|
||||
"mov x1, sp\n\t" /* context */
|
||||
"bl dispatch_exception_arm64ec\n\t"
|
||||
"brk #1" )
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
* KiUserApcDispatcher (NTDLL.@)
|
||||
*/
|
||||
void WINAPI dispatch_apc( void (CALLBACK *func)(ULONG_PTR,ULONG_PTR,ULONG_PTR,CONTEXT*),
|
||||
ULONG_PTR arg1, ULONG_PTR arg2, ULONG_PTR arg3,
|
||||
BOOLEAN alertable, ARM64_NT_CONTEXT *arm_ctx )
|
||||
static void __attribute__((used)) dispatch_apc( void (CALLBACK *func)(ULONG_PTR,ULONG_PTR,ULONG_PTR,CONTEXT*),
|
||||
ULONG_PTR arg1, ULONG_PTR arg2, ULONG_PTR arg3,
|
||||
BOOLEAN alertable, ARM64_NT_CONTEXT *arm_ctx )
|
||||
{
|
||||
ARM64EC_NT_CONTEXT context;
|
||||
|
||||
|
|
Loading…
Reference in a new issue