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.d…
==============================================================================
--- 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/key…
==============================================================================
--- 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=259…
==============================================================================
--- 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=2…
==============================================================================
--- 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=…
==============================================================================
--- 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