HvlpLogIommuInitStatus
VOID __fastcall HvlpLogIommuInitStatus(){
LONGLONG *v0;
LONGLONG *v1;
__int16 v2;
int v3;
int v4;
PHYSICAL_ADDRESS v5[4];
PHYSICAL_ADDRESS v6[4];
__int128 v7;
__int128 v8;
__int128 v9;
struct _EVENT_DATA_DESCRIPTOR UserData;
int *v11;
__int64 v12;
__int64 v13;
__int64 v14;
__int128 *v15;
__int64 v16;
__int64 v17;
__int64 v18;
__int128 *v19;
__int64 v20;
__int64 v21;
__int64 v22;
char v23[16];
char v24[2064];
memset(v6, 0, sizeof(v6));
memset(v5, 0, sizeof(v5));
v7 = 0i64;
v8 = 0i64;
v9 = 0i64;
v0 = HvlpAcquireHypercallPage(v6, 1, (__int64)v23, 8i64);
v1 = HvlpAcquireHypercallPage(v5, 2, (__int64)v24, 1032i64);
*(_DWORD *)v0 = 5;
HvcallInitiateHypercall();
if( !v2 )
{
v7 = *(_OWORD *)v1;
v8 = *((_OWORD *)v1 + 1);
v9 = *((_OWORD *)v1 + 2);
}
HvlpReleaseHypercallPage((unsigned int *)v5);
HvlpReleaseHypercallPage((unsigned int *)v6);
v3 = (unsigned __int8)v7;
*(_QWORD *)&UserData.Size = 4i64;
UserData.Ptr = (unsigned __int64)&v3;
v4 = BYTE1(v7);
v11 = &v4;
v13 = (__int64)&v7 + 8;
v15 = &v8;
v17 = (__int64)&v8 + 8;
v19 = &v9;
v21 = (__int64)&v9 + 8;
v12 = 4i64;
v14 = 8i64;
v16 = 8i64;
v18 = 8i64;
v20 = 8i64;
v22 = 8i64;
HvlpWriteEventLog((EVENT_DESCRIPTOR *)&HV_EVENTLOG_IOMMU_INIT, 7ui64, &UserData);
if( BYTE1(v7) && *((_QWORD *)&v7 + 1) == 1i64 )
{
if( (_QWORD)v9 )
HvlpWriteEventLog((EVENT_DESCRIPTOR *)&HV_EVENTLOG_IOMMU_INIT_POLICY_ENABLE, 0i64, 0i64);
}
}Referenced by:
HvlPhase2Initialize