HalpIsCmciImplemented

CHAR __stdcall HalpIsCmciImplemented(){
  CHAR CpuInfo; 
  UINT8 v2; 
  bool IsCmciSupported; 
  int v4[10]; 
  UINT8 v5; 
  v5 = 0;
  if( !HalpCmciImplementationChecked )
  {
    CpuInfo = HalpGetCpuInfo(0i64, 0i64, 0i64, &v5);
    v2 = CpuInfo != 0 ? v5 : 0;
    v5 = v2;
    if( v2 == 2 )
    {
      IsCmciSupported = HalpInterruptIsCmciSupported();
    }
    else if( v2 == 1 )
    {
      IsCmciSupported = HalpInterruptIsCmciSupported();
      if( IsCmciSupported )
        HalpDeferredErrorInterruptPresent = HalpInterruptIsDeferredErrorSupported();
    }
    else
    {
      IsCmciSupported = 0;
    }
    HalpCmciImplementationPresent = IsCmciSupported;
    _InterlockedOr(v4, 0);
    HalpCmciImplementationChecked = 1;
  }
  return HalpCmciImplementationPresent;
}

Referenced by:

HalpCorrectMachineCheckErrSrc
HalpInitializeCmc
HalpMcaResumeProcessorConfig
HalpMcaSetFeatureFlags