required for mrac anti cheat
-- v8: ntoskrnl.exe: Add KeDeregisterProcessorChangeCallback stub. ntoskrnl.exe: Add KeRegisterProcessorChangeCallback stub.
From: Etaash Mathamsetty etaash.mathamsetty@gmail.com
--- dlls/ntoskrnl.exe/ntoskrnl.c | 9 +++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 + include/ddk/wdm.h | 21 +++++++++++++++++++++ 3 files changed, 31 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 9320e02dca9..1b53debc27a 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -3627,6 +3627,15 @@ NTSTATUS WINAPI CmUnRegisterCallback(LARGE_INTEGER cookie) return STATUS_NOT_IMPLEMENTED; }
+/*********************************************************************** + * KeRegisterProcessorChangeCallback (NTOSKRNL.EXE.@) + */ +PVOID WINAPI KeRegisterProcessorChangeCallback(PPROCESSOR_CALLBACK_FUNCTION function, PVOID context, ULONG flags) +{ + FIXME("(%p %p %ld) stub\n", function, context, flags); + return (PVOID)0xDEADBEEF; +} + /*********************************************************************** * IoAttachDevice (NTOSKRNL.EXE.@) */ diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index 8f8edcac7a0..8b3d7c66c5a 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -614,6 +614,7 @@ @ stub KeReadStateTimer @ stub KeRegisterBugCheckCallback @ stub KeRegisterBugCheckReasonCallback +@ stdcall KeRegisterProcessorChangeCallback(ptr ptr long) @ stub KeReleaseInterruptSpinLock @ stub KeReleaseMutant @ stdcall KeReleaseMutex(ptr long) diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h index 0aad83ade8c..ced5b71aa75 100644 --- a/include/ddk/wdm.h +++ b/include/ddk/wdm.h @@ -29,6 +29,11 @@ #define POINTER_ALIGNMENT #endif
+#ifndef WINE_PNTSTATUS_DECLARED +#define WINE_PNTSTATUS_DECLARED +typedef NTSTATUS *PNTSTATUS; +#endif + /* FIXME: We suppose that page size is 4096 */ #undef PAGE_SIZE #undef PAGE_SHIFT @@ -1582,6 +1587,22 @@ typedef enum _WORK_QUEUE_TYPE {
typedef void (WINAPI *PIO_WORKITEM_ROUTINE)(PDEVICE_OBJECT,void*);
+typedef enum _KE_PROCESSOR_CHANGE_NOTIFY_STATE { + KeProcessorAddStartNotify = 0, + KeProcessorAddCompleteNotify, + KeProcessorAddFailureNotify +} KE_PROCESSOR_CHANGE_NOTIFY_STATE; + +typedef struct _KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT { + KE_PROCESSOR_CHANGE_NOTIFY_STATE State; + ULONG NtNumber; + NTSTATUS Status; + PROCESSOR_NUMBER ProcNumber; +} KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT, *PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT; + +typedef void (WINAPI PROCESSOR_CALLBACK_FUNCTION)(PVOID,PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT,PNTSTATUS); +typedef PROCESSOR_CALLBACK_FUNCTION *PPROCESSOR_CALLBACK_FUNCTION; + NTSTATUS WINAPI ObCloseHandle(IN HANDLE handle);
#ifdef NONAMELESSUNION
From: Etaash Mathamsetty etaash.mathamsetty@gmail.com
--- dlls/ntoskrnl.exe/ntoskrnl.c | 8 ++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 + 2 files changed, 9 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 1b53debc27a..f3bf806a5cc 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -3636,6 +3636,14 @@ PVOID WINAPI KeRegisterProcessorChangeCallback(PPROCESSOR_CALLBACK_FUNCTION func return (PVOID)0xDEADBEEF; }
+/*********************************************************************** + * KeDeregisterProcessorChangeCallback (NTOSKRNL.EXE.@) + */ +VOID WINAPI KeDeregisterProcessorChangeCallback(PVOID handle) +{ + FIXME("%p stub\n", handle); +} + /*********************************************************************** * IoAttachDevice (NTOSKRNL.EXE.@) */ diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index 8b3d7c66c5a..d2c79ae84da 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -615,6 +615,7 @@ @ stub KeRegisterBugCheckCallback @ stub KeRegisterBugCheckReasonCallback @ stdcall KeRegisterProcessorChangeCallback(ptr ptr long) +@ stdcall KeDeregisterProcessorChangeCallback(ptr) @ stub KeReleaseInterruptSpinLock @ stub KeReleaseMutant @ stdcall KeReleaseMutex(ptr long)
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=125805
Your paranoid android.
=== debian11 (32 bit report) ===
d3d9: device: Timeout
On Sat Nov 5 20:02:25 2022 +0000, **** wrote:
Marvin replied on the mailing list:
Hi, It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated. The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details: The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=125805 Your paranoid android. === debian11 (32 bit report) === d3d9: device: Timeout
not related to this patch