HvlSvmAttachPasidSpace
NTSTATUS __stdcall HvlSvmAttachPasidSpace(UINT64 a1, INT64 a2, INT64 a3, INT64 a4){
char v4;
__int64 v5;
int v6;
int v7;
int v8;
int v9;
INT64 v10;
UINT64 v11;
int v12;
__int64 v14;
int v15;
int v16;
v4 = 0;
v5 = (unsigned int)a1;
v6 = a3;
v7 = a2;
if( (HvlpFlags & 2) != 0 )
{
HvlpAttachRootSvmDevice((_KEVENT *)(unsigned int)a1);
v9 = v8;
if( v8 < 0 )
return v9;
v4 = 1;
}
v14 = v5;
v15 = v7;
v16 = v6;
while( 1 )
{
LOWORD(v10) = HvcallFastExtended(65698i64, &v14, 0x10u, 0i64, 0);
if( (HvlpFlags & 2) == 0 || !HvlpHvStatusIsInsufficientMemory(v10) )
break;
HvlpHandleInsufficientMemory(v11, v10);
if( v12 < 0 )
{
v9 = -1073741670;
goto LABEL_10;
}
}
v9 = HvlpHvToNtStatus(v10);
if( v9 >= 0 )
return v9;
LABEL_10:
if( v4 )
HvlpDetachRootSvmDevice(v5);
return v9;
}Referenced by:
No references.