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/driver... ============================================================================== --- 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: