At the very least, we should have correct function signatures and logging stubs for all kernel API's.
TODO:
Currently missing: most Io, Ke, Ob and Xc prefixed functions, and about half the Rtl functions (most of these can be redirected straight to NtDll for a start).
Most Rtl prefixed functions are now complete.
Still missing :
RtlCaptureContext
RtlCaptureStackBackTrace
RtlEnterCriticalSectionAndRegion
RtlGetCallersAddress
RtlLeaveCriticalSectionAndRegion
RtlRaiseException
RtlRaiseStatus
RtlUnwind
RtlWalkFrameChain
This is nearing completion; only 45 API's to go, many of which are probably used only rarely.
Unfortunately I haven't had the time to work on Cxbx-Reloaded recently.
The MmDbg* stubs are here if you want to merge just this change: https://github.com/x1nixmzeng/Cxbx-Reloaded/commit/52156da89db922d15318b2b4dc3ebad229cfd58e
The other cleanup changes in this branch are not relevant.
Could you prepare a Pull Request of the things you think are useful for the main line?
It;s been a while since this was looked at, I believe we now have a complete Kernel Thunk table, @PatrickvL are you happy that this is the case, or do you think we should keep this open a little longer?
Currently, there are 42 API's that are still missing (marked with PANIC in CxbxKrnl_KernelThunkTable) :
https://github.com/x1nixmzeng/Cxbx-Reloaded/commit/52156da89db922d15318b2b4dc3ebad229cfd58e still has to imported, which covers the last 5 MmDbg* (DEVKIT) API's.
I've just send a PR that adds KeInitializeDeviceQueue and KeInsertDeviceQueue.
Meanwhile, most API's are present in our current thunk table - see https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/blob/master/src/CxbxKrnl/KernelThunk.cpp#L68 in which there are now only 23 PANIC's left.
I've added 5 more APIs to the kernel thunk (the debug Mm functions), we are nearing completion...
Most helpful comment
I've added 5 more APIs to the kernel thunk (the debug Mm functions), we are nearing completion...