From: Billy Laws blaws05@gmail.com
--- dlls/ntdll/signal_arm64ec.c | 3 +++ dlls/xtajit64/cpu.c | 9 +++++++++ dlls/xtajit64/xtajit64.spec | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/signal_arm64ec.c b/dlls/ntdll/signal_arm64ec.c index e44ac9fc467..5011699982c 100644 --- a/dlls/ntdll/signal_arm64ec.c +++ b/dlls/ntdll/signal_arm64ec.c @@ -53,6 +53,7 @@ static void (WINAPI *pNotifyMemoryProtect)(void*,SIZE_T,ULONG,BOOL,NTSTATUS) static void (WINAPI *pNotifyUnmapViewOfSection)(void*,BOOL,NTSTATUS); static NTSTATUS (WINAPI *pProcessInit)(void); static void (WINAPI *pProcessTerm)(HANDLE,BOOL,NTSTATUS); +static void (WINAPI *pResetToConsistentState)(EXCEPTION_RECORD*,CONTEXT*,ARM64_NT_CONTEXT*); static NTSTATUS (WINAPI *pThreadInit)(void); static void (WINAPI *pThreadTerm)(HANDLE,LONG); static void (WINAPI *pUpdateProcessorInformation)(SYSTEM_CPU_INFORMATION*); @@ -167,6 +168,7 @@ NTSTATUS arm64ec_process_init( HMODULE module ) GET_PTR( NotifyUnmapViewOfSection ); GET_PTR( ProcessInit ); GET_PTR( ProcessTerm ); + GET_PTR( ResetToConsistentState ); GET_PTR( ThreadInit ); GET_PTR( ThreadTerm ); GET_PTR( UpdateProcessorInformation ); @@ -1056,6 +1058,7 @@ static NTSTATUS __attribute__((used)) dispatch_exception_arm64ec( EXCEPTION_RECO ARM64EC_NT_CONTEXT context;
context_arm_to_x64( &context, arm_ctx ); + pResetToConsistentState( rec, &context.AMD64_Context, arm_ctx ); return dispatch_exception( rec, &context.AMD64_Context ); } __ASM_GLOBAL_FUNC( "#KiUserExceptionDispatcher", diff --git a/dlls/xtajit64/cpu.c b/dlls/xtajit64/cpu.c index fec5f233eec..a9137ffe7ec 100644 --- a/dlls/xtajit64/cpu.c +++ b/dlls/xtajit64/cpu.c @@ -202,6 +202,15 @@ void WINAPI ProcessTerm( HANDLE handle, BOOL is_post, NTSTATUS status ) }
+/********************************************************************** + * ResetToConsistentState (xtajit64.@) + */ +void WINAPI ResetToConsistentState( EXCEPTION_RECORD *rec, CONTEXT *context, ARM64_NT_CONTEXT *arm_ctx ) +{ + TRACE( "%p %p %p\n", rec, context, arm_ctx ); +} + + /********************************************************************** * ThreadInit (xtajit64.@) */ diff --git a/dlls/xtajit64/xtajit64.spec b/dlls/xtajit64/xtajit64.spec index 2da5d1dc49b..f6e33ab58fe 100644 --- a/dlls/xtajit64/xtajit64.spec +++ b/dlls/xtajit64/xtajit64.spec @@ -14,7 +14,7 @@ @ stdcall NotifyUnmapViewOfSection(ptr long long) @ stdcall ProcessInit() @ stdcall ProcessTerm(ptr long long) -#@ stub ResetToConsistentState +@ stdcall ResetToConsistentState(ptr ptr ptr) @ stdcall ThreadInit() @ stdcall ThreadTerm(ptr long) @ stdcall UpdateProcessorInformation(ptr)