HvlSvmCreatePrQueue

NTSTATUS __fastcall HvlSvmCreatePrQueue(UINT64 a1, UINT64 a2, UINT64 a3, INT64 a4, INT64 a5){
  int v5; 
  __int16 v6; 
  UINT64 v8; 
  _QWORD a2a[2]; 
  int v10; 
  int v11; 
  __int64 v12; 
  v12 = 0i64;
  LODWORD(a2a[0]) = a1;
  HIDWORD(a2a[0]) = a2;
  a2a[1] = a3 >> 12;
  v10 = a4;
  if( HvlpVirtualProcessorsIdentityMapped )
    v5 = a5;
  else
    v5 = (unsigned __int8)HvlpVirtualProcessorMapping[2 * (unsigned int)a5 + 1] | ((unsigned __int8)HvlpVirtualProcessorMapping[2 * (unsigned int)a5] << 6);
  v11 = v5;
  while( 1 )
  {
    LODWORD(v8) = 0;
    v6 = HvcallFastExtended(65703i64, a2a, 0x20ui64, 0i64, v8);
    if( (HvlpFlags & 2) == 0 || !HvlpHvStatusIsInsufficientMemory(v6) )
      break;
    if( HvlpHandleInsufficientMemory() < 0 )
      return -1073741670;
  }
  return HvlpHvToNtStatus(v6);
}

Referenced by:

No references.