From e9bcf727575615e4803b09c5247962c533379044 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Sun, 10 Jul 2022 14:50:24 +0200 Subject: [PATCH] [NTOS:KD] In KDBG, always call first Kd* function in their Kdp* counterpart We now start to use kdcom.dll with KDBG. CORE-10749 --- ntoskrnl/kd/kdio.c | 7 +++++++ ntoskrnl/kd/kdmain.c | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ntoskrnl/kd/kdio.c b/ntoskrnl/kd/kdio.c index 1ce3eeaeb80..92b431b426f 100644 --- a/ntoskrnl/kd/kdio.c +++ b/ntoskrnl/kd/kdio.c @@ -584,6 +584,8 @@ KdpSendPacket( IN PSTRING MessageData, IN OUT PKD_CONTEXT Context) { + KdSendPacket(PacketType, MessageHeader, MessageData, Context); + if (PacketType == PACKET_TYPE_KD_DEBUG_IO) { PSTRING Output = MessageData; @@ -680,6 +682,11 @@ KdpReceivePacket( ULONG DummyScanCode; CHAR MessageBuffer[100]; STRING ResponseString; + KDSTATUS Status; + + Status = KdReceivePacket(PacketType, MessageHeader, MessageData, DataLength, Context); + if (Status != KdPacketTimedOut) + return Status; if (PacketType == PACKET_TYPE_KD_STATE_MANIPULATE) { diff --git a/ntoskrnl/kd/kdmain.c b/ntoskrnl/kd/kdmain.c index b6531ec5775..90c593459ef 100644 --- a/ntoskrnl/kd/kdmain.c +++ b/ntoskrnl/kd/kdmain.c @@ -135,7 +135,7 @@ KdpDebuggerInitialize0( InitRoutines[i](&DispatchTable[i], 0); } - return STATUS_SUCCESS; + return KdDebuggerInitialize0(LoaderBlock); } NTSTATUS @@ -164,7 +164,7 @@ KdpDebuggerInitialize1( NtGlobalFlag |= FLG_STOP_ON_EXCEPTION; - return STATUS_SUCCESS; + return KdDebuggerInitialize1(LoaderBlock); } /* EOF */