Author: ion Date: Sun Mar 4 22:20:03 2007 New Revision: 25985
URL: http://svn.reactos.org/svn/reactos?rev=25985&view=rev Log: - Enable stubs in kdcom to actually be exported (to simplfiy compatibility with KD Branch, which won't be needed soon thanks to a build flag). - Enable call to KdDebuggerInitialize1 even in trunk, since it doesn't do anything. - Make i8042prt stop using a reactos-only kernel export hack (KdpServiceDispatcher),and use KdSystemDebugControl instead, which is the NT version and fully-exported. - Implement a stub KdSystemDebugControl and export it.
Modified: trunk/reactos/drivers/base/kdcom/kdcom.def trunk/reactos/drivers/input/i8042prt/keyboard.c trunk/reactos/ntoskrnl/ex/init.c trunk/reactos/ntoskrnl/kd/kdmain.c trunk/reactos/ntoskrnl/ntoskrnl.def
Modified: trunk/reactos/drivers/base/kdcom/kdcom.def URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/base/kdcom/kdcom.de... ============================================================================== --- trunk/reactos/drivers/base/kdcom/kdcom.def (original) +++ trunk/reactos/drivers/base/kdcom/kdcom.def Sun Mar 4 22:20:03 2007 @@ -1,6 +1,7 @@ LIBRARY kdcom.dll EXPORTS
+; Old KD KdPortGetByte@4 KdPortGetByteEx@8 KdPortInitialize@12 @@ -13,3 +14,11 @@ KdPortSave@0 KdPortDisableInterrupts@0 KdPortEnableInterrupts@0 + +; New KD +KdDebuggerInitialize0@4 +KdDebuggerInitialize1@4 +KdSave@4 +KdRestore@4 +KdReceivePacket@20 +KdSendPacket@16
Modified: trunk/reactos/drivers/input/i8042prt/keyboard.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/i8042prt/keyb... ============================================================================== --- trunk/reactos/drivers/input/i8042prt/keyboard.c (original) +++ trunk/reactos/drivers/input/i8042prt/keyboard.c Sun Mar 4 22:20:03 2007 @@ -12,6 +12,7 @@ /* INCLUDES ****************************************************************/
#include "i8042prt.h" +#include "kdfuncs.h"
#define NDEBUG #include <debug.h> @@ -750,10 +751,6 @@ }
/* debug stuff */ -VOID STDCALL -KdpServiceDispatcher(ULONG Code, PVOID Context1, PVOID Context2); -#define EnterDebugger ((PVOID)0x25) - static VOID STDCALL I8042DebugWorkItem(PDEVICE_OBJECT DeviceObject, PVOID Context) { @@ -771,6 +768,6 @@ /* We hope kernel would understand this. If * that's not the case, nothing would happen. */ - KdpServiceDispatcher(TAG('R', 'o', 's', ' '), (PVOID)Key, NULL); + KdSystemDebugControl(TAG('R', 'o', 's', ' '), (PVOID)Key, 0, NULL, 0, NULL, KernelMode); #endif /* __REACTOS__ */ }
Modified: trunk/reactos/ntoskrnl/ex/init.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/init.c?rev=2598... ============================================================================== --- trunk/reactos/ntoskrnl/ex/init.c (original) +++ trunk/reactos/ntoskrnl/ex/init.c Sun Mar 4 22:20:03 2007 @@ -1172,7 +1172,7 @@ HalReportResourceUsage();
/* Call the debugger DLL once we have KD64 6.0 support */ - //KdDebuggerInitialize1(LoaderBlock); + KdDebuggerInitialize1(LoaderBlock);
/* Setup PnP Manager in phase 1 */ if (!PpInitSystem()) KeBugCheck(PP1_INITIALIZATION_FAILED); @@ -1255,3 +1255,5 @@ MmZeroPageThreadMain(NULL); }
+ +
Modified: trunk/reactos/ntoskrnl/kd/kdmain.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/kd/kdmain.c?rev=25... ============================================================================== --- trunk/reactos/ntoskrnl/kd/kdmain.c (original) +++ trunk/reactos/ntoskrnl/kd/kdmain.c Sun Mar 4 22:20:03 2007 @@ -328,6 +328,20 @@ return STATUS_SUCCESS; }
+NTSTATUS +NTAPI +KdSystemDebugControl(IN SYSDBG_COMMAND Command, + IN PVOID InputBuffer, + IN ULONG InputBufferLength, + OUT PVOID OutputBuffer, + IN ULONG OutputBufferLength, + IN OUT PULONG ReturnLength, + IN KPROCESSOR_MODE PreviousMode) +{ + /* HACK */ + return KdpServiceDispatcher(Command, InputBuffer, InputBufferLength); +} + PKDEBUG_ROUTINE KiDebugRoutine = KdpEnterDebuggerException;
/* EOF */
Modified: trunk/reactos/ntoskrnl/ntoskrnl.def URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ntoskrnl.def?rev=2... ============================================================================== --- trunk/reactos/ntoskrnl/ntoskrnl.def (original) +++ trunk/reactos/ntoskrnl/ntoskrnl.def Sun Mar 4 22:20:03 2007 @@ -528,6 +528,7 @@ KdPollBreakIn@0 KdPowerTransition@4 KdpServiceDispatcher@12 +KdSystemDebugControl@28 Ke386CallBios@8 @KeAcquireGuardedMutex@4 @KeAcquireGuardedMutexUnsafe@4