- In case of failing to receive a part of the packet, return the status to the caller instead of continuing.
svn path=/branches/ros-amd64-bringup/; revision=43779
- take the MessageHeader length from MaximumLength field instead of depending on the packet type
- Context -> KdContext
- remove redundant return
svn path=/branches/ros-amd64-bringup/; revision=43776
For unknown reasons it's not enough to check LSR if the port is ready to receive or not. Adding additional port reads improves the reliability of the data massively. Now it's possible to use kdcom on windows XP!
svn path=/branches/ros-amd64-bringup/; revision=43770
- Add support for more transforms
- Fix return value for invalid/unsupported transform types
- Fixes 10 gdi32 mapping winetests
svn path=/trunk/; revision=43745
- Correct the value of SIZE_OF_FX_REGISTERS -- it was 4 times too low which resulted in KeContextToTrapFrame not properly clearing out the XMM register area. Correct the define and move it out from ke.h to x86's ketypes.h and use it in the FXSAVE format structure. Also remove the IOPM definitions from ke.h as they have been in the NDK for a while.
- KD uses STRINGs, not ANSI_STRINGs -- they are the same thing, but let's be consistent.
- ExceptionRecord32To64 should be available for both 32 and 64 bit builds (and it shouldn't be a forceinline). Get rid of CopyExceptionRecord and determine if we need to convert or can just copy it directly instead.
- Use _WIN64 instead of _M_AMD64 when determining if we need to set the DBGKD_VERS_FLAG_PTR64 flag.
- Don't check Nt/DbgQueryDebugFilterState for zero or nonzero -- it actually returns TRUE, FALSE or STATUS_INVALID_PARAMETER_1! Check for != TRUE in preparation for proper implementation of NtSet/QueryDebugFilterState.
- Fix Format parameter of DbgPrintReturnControlC -- it is const like the other DbgPrint* routines.
- Be consistent with the types used in debug.c and don't set local variables to zero if we are going to return to caller -- this doesn't seem to be required anymore.
- Fix DebugService and DebugService2: DebugService should take a ULONG followed by 4 pointers and DebugService2 doesn't return anything.
- Use ZwCurrentProcess() instead of -1 or 0xFFFFFFFF (which is incorrect for 64-bit) for the ProcessId parameter of DbgLoad/UnloadImageSymbols to clarify what is being passed. Don't use ZwCurrentProcess() in KeBugCheckWithTf for the pointer parameter of DbgUnLoadImageSymbols either. Use MAXULONG_PTR casted to PVOID instead.
- Use better named and sized variables in KdpTrap for setting the "return register" in the caller's CONTEXT.
- Correct and clarify the comment documenting under what conditions we pass user mode exceptions to the kernel debugger.
svn path=/trunk/; revision=43741
- Check the PacketType only after the whole message was received and just skip the message and restart when it's not what we wanted.
svn path=/branches/ros-amd64-bringup/; revision=43738
- Fix the sequence number stored in the packet
- Fix potential null pointer freeing
- tracert partially works now (Setting TTL isn't implemented yet)
svn path=/trunk/; revision=43732