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

svn path=/branches/ros-amd64-bringup/; revision=38971
This commit is contained in:
Timo Kreuzer
2009-01-20 10:05:21 +00:00
parent eabd9536dd
commit 7ad31d2719
+19 -1
View File
@@ -575,6 +575,24 @@ KdpReceiveBuffer(
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 @@ KdReceivePacket(
case PACKET_TYPE_KD_RESET:
FrLdrDbgPrint("KdReceivePacket - got a reset packet\n");
// FIXME
KdpSendControlPacket(PACKET_TYPE_KD_RESET, INITIAL_PACKET_ID);
return KdPacketNeedsResend;
default: