Author: tkreuzer
Date: Tue Jan 20 04:05:21 2009
New Revision: 38971
URL:
http://svn.reactos.org/svn/reactos?rev=38971&view=rev
Log:
kdcom: implement KdpSendControlPacket and use it to respond with a reset packet to a reset
packet. WindDbg expects this and will now finally except the resent packet and respond
with a DBGKD_MANIPULATE_STATE64
Modified:
branches/ros-amd64-bringup/reactos/drivers/base/kdcom/i386/kdbg.c
Modified: branches/ros-amd64-bringup/reactos/drivers/base/kdcom/i386/kdbg.c
URL:
http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/drive…
==============================================================================
--- branches/ros-amd64-bringup/reactos/drivers/base/kdcom/i386/kdbg.c [iso-8859-1]
(original)
+++ branches/ros-amd64-bringup/reactos/drivers/base/kdcom/i386/kdbg.c [iso-8859-1] Tue Jan
20 04:05:21 2009
@@ -575,6 +575,24 @@
return KdPacketReceived;
}
+VOID
+NTAPI
+KdpSendControlPacket(
+ IN USHORT PacketType,
+ IN ULONG PacketId OPTIONAL)
+{
+ KD_PACKET Packet;
+
+ Packet.PacketLeader = CONTROL_PACKET_LEADER;
+ Packet.PacketId = PacketId;
+ Packet.ByteCount = 0;
+ Packet.Checksum = 0;
+ Packet.PacketType = PacketType;
+
+ KdpSendBuffer(&Packet, sizeof(KD_PACKET));
+}
+
+
/* NEW PUBLIC FUNCTIONS ******************************************************/
/******************************************************************************
@@ -928,7 +946,7 @@
case PACKET_TYPE_KD_RESET:
FrLdrDbgPrint("KdReceivePacket - got a reset packet\n");
- // FIXME
+ KdpSendControlPacket(PACKET_TYPE_KD_RESET, INITIAL_PACKET_ID);
return KdPacketNeedsResend;
default: