HalpInterruptGetIrtInfo

INT64 __fastcall HalpInterruptGetIrtInfo(INT64 *a1){
  int v1; 
  int MaximumProcessorCount; 
  INT32 v5[4]; 
  v1 = HalpPciMcfgTableSegments;
  if( !HalpPciMcfgTableSegments )
    v1 = 1;
  *(_DWORD *)a1 = v1;
  *(_OWORD *)v5 = 0i64;
  MaximumProcessorCount = HalQueryMaximumProcessorCount();
  *((_DWORD *)a1 + 2) = 0;
  *((_DWORD *)a1 + 1) = 150 * MaximumProcessorCount;
  if( HalpIsMicrosoftCompatibleHvLoaded() )
  {
    HalpHvCpuid(0x40000000i64, v5);
    if( v5[0] >= 0x40000006u )
    {
      HalpHvCpuid(1073741830i64, v5);
      if( (v5[0] & 0x20) != 0 )
      {
        HalpHvCpuid(1073741829i64, v5);
        if( v5[2] < *((_DWORD *)a1 + 1)
                   / (unsigned int)HalQueryMaximumProcessorCount()
                   * *(_DWORD *)HalpInterruptProcessorsStarted )
          *((_DWORD *)a1 + 1) = v5[2] / *(_DWORD *)HalpInterruptProcessorsStarted * HalQueryMaximumProcessorCount();
        *((_DWORD *)a1 + 2) = v5[2]
                            - *((_DWORD *)a1 + 1)
                            / (unsigned int)HalQueryMaximumProcessorCount()
                            * *(_DWORD *)HalpInterruptProcessorsStarted;
      }
    }
  }
  return 0i64;
}

Referenced by:

HaliQuerySystemInformation
HalpQueryAcpiResourceRequirements