KdpSetContextState

VOID __stdcall KdpSetContextState(_DBGKD_ANY_WAIT_STATE_CHANGE *WaitStateChange, _CONTEXT *ContextRecord){
  unsigned __int16 SegCs; 

  *(_OWORD *)&WaitStateChange->ControlReport.Dr6 = *(_OWORD *)&KeGetCurrentPrcb()->ProcessorState.SpecialRegisters.KernelDr6;
  *(unsigned __int64 *)((char *)&WaitStateChange->AnyControlReport.PpcControlReport.Gpr3 + 4) = *(_QWORD *)&ContextRecord->SegCs;
  WaitStateChange->AnyControlReport.Amd64ControlReport.EFlags = ContextRecord->EFlags;
  WaitStateChange->AnyControlReport.Amd64ControlReport.ReportFlags = 1;
  SegCs = ContextRecord->SegCs;
  if( SegCs == 16 || SegCs == 51 )
    WaitStateChange->AnyControlReport.Amd64ControlReport.ReportFlags = 3;
}

Referenced by:

KdpReportCommandStringStateChange
KdpReportExceptionStateChange
KdpReportLoadSymbolsStateChange