-- v2: ntoskrnl: Add KeLowerIrql stub. ntoskrnl: Add KfRaiseIrql stub.
From: Alex Henrie alexhenrie24@gmail.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53076 Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/ntoskrnl.exe/ntoskrnl.c | 5 +++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 + 2 files changed, 6 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 0994af447f9..bca5648d5df 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -4455,6 +4455,11 @@ NTSTATUS WINAPI KdEnableDebugger(void) return STATUS_DEBUGGER_INACTIVE; }
+void WINAPI KfRaiseIrql(KIRQL new, KIRQL *old) +{ + FIXME("new %u old %p: stub.\n", new, old); +} + /***************************************************** * DllMain */ diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index 4df6b1ae472..84f4a3feec3 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -659,6 +659,7 @@ @ stdcall KeWaitForMultipleObjects(long ptr long long long long ptr ptr) @ stdcall KeWaitForMutexObject(ptr long long long ptr) @ stdcall KeWaitForSingleObject(ptr long long long ptr) +@ stdcall -arch=x86_64 KfRaiseIrql(long ptr) @ stub KiBugCheckData @ stub KiCoprocessorError @ stub KiDeliverApc
From: Alex Henrie alexhenrie24@gmail.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53076 Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/ntoskrnl.exe/ntoskrnl.c | 5 +++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 + 2 files changed, 6 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index bca5648d5df..010b0c51727 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -4460,6 +4460,11 @@ void WINAPI KfRaiseIrql(KIRQL new, KIRQL *old) FIXME("new %u old %p: stub.\n", new, old); }
+void WINAPI KeLowerIrql(KIRQL new) +{ + FIXME("new %u: stub.\n", new); +} + /***************************************************** * DllMain */ diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index 84f4a3feec3..8ae4bc1f5a9 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -589,6 +589,7 @@ @ stub KeIsExecutingDpc @ stdcall KeLeaveCriticalRegion() @ stub KeLoaderBlock +@ stdcall -arch=x86_64 KeLowerIrql(long) @ stub KeNumberProcessors @ stub KeProfileInterrupt @ stub KeProfileInterruptWithSource
On 5/30/22 18:06, Alex Henrie wrote:
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index bca5648d5df..010b0c51727 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -4460,6 +4460,11 @@ void WINAPI KfRaiseIrql(KIRQL new, KIRQL *old) FIXME("new %u old %p: stub.\n", new, old); }
+void WINAPI KeLowerIrql(KIRQL new) +{
- FIXME("new %u: stub.\n", new);
+}
Ideally the code should also be guarded out with preprocessor directives on platforms other than x86_64, otherwise it's dead.
On Mon May 30 23:00:56 2022 +0000, **** wrote:
Zebediah Figura replied on the mailing list:
On 5/30/22 17:50, Alex Henrie wrote: > diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec > index 4df6b1ae472..661062085ce 100644 > --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec > +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec > @@ -659,6 +659,7 @@ > @ stdcall KeWaitForMultipleObjects(long ptr long long long long ptr ptr) > @ stdcall KeWaitForMutexObject(ptr long long long ptr) > @ stdcall KeWaitForSingleObject(ptr long long long ptr) > +@ stdcall KfRaiseIrql(long ptr) > @ stub KiBugCheckData > @ stub KiCoprocessorError > @ stub KiDeliverApc As far as I can tell both this and KeLowerIrql() are only exported on x86_64.
Thanks for pointing that out. I've added -arch=x86_64 to both functions.