HvlpLogGuestStateScrubbingStatus
VOID __stdcall HvlpLogGuestStateScrubbingStatus(){
LONGLONG *v0;
LONGLONG *v1;
__int16 v2;
unsigned int v3;
int v4;
unsigned int v5;
unsigned int v6;
unsigned int v7;
unsigned int v8;
unsigned int v9;
unsigned int v10;
unsigned int v11;
unsigned int v12;
_BYTE v13[40];
PHYSICAL_ADDRESS v14[4];
EVENT_DATA_DESCRIPTOR v15;
unsigned int *v16;
__int64 v17;
unsigned int *v18;
__int64 v19;
_BYTE *v20;
__int64 v21;
struct _EVENT_DATA_DESCRIPTOR UserData;
unsigned int *v23;
__int64 v24;
unsigned int *v25;
__int64 v26;
unsigned int *v27;
__int64 v28;
unsigned int *v29;
__int64 v30;
unsigned int *v31;
__int64 v32;
unsigned int *v33;
__int64 v34;
unsigned int *v35;
__int64 v36;
char v37[16];
char v38[2064];
HvlpGuestStateScrubbingStatus = 0;
memset(v14, 0, sizeof(v14));
memset(&v13[8], 0, 32);
v0 = HvlpAcquireHypercallPage(v14, 1, (__int64)v37, 8i64);
v1 = HvlpAcquireHypercallPage((PHYSICAL_ADDRESS *)&v13[8], 2, (__int64)v38, 1032i64);
*(_DWORD *)v0 = 25;
HvcallInitiateHypercall();
if( !v2 )
HvlpGuestStateScrubbingStatus = *(_DWORD *)v1;
HvlpReleaseHypercallPage((unsigned int *)&v13[8]);
HvlpReleaseHypercallPage((unsigned int *)v14);
if( HvlpGuestStateScrubbingStatus )
{
*(_QWORD *)&UserData.Size = 4i64;
v24 = 4i64;
v4 = HvlpGuestStateScrubbingStatus & 1;
UserData.Ptr = (unsigned __int64)&v4;
v26 = 4i64;
v28 = 4i64;
v3 = ((unsigned int)HvlpGuestStateScrubbingStatus >> 1) & 1;
v23 = &v3;
v30 = 4i64;
v5 = ((unsigned int)HvlpGuestStateScrubbingStatus >> 2) & 1;
v25 = &v5;
v32 = 4i64;
v6 = ((unsigned int)HvlpGuestStateScrubbingStatus >> 3) & 1;
v27 = &v6;
v34 = 4i64;
v7 = ((unsigned int)HvlpGuestStateScrubbingStatus >> 4) & 1;
v29 = &v7;
v36 = 4i64;
v8 = ((unsigned int)HvlpGuestStateScrubbingStatus >> 5) & 1;
v31 = &v8;
v9 = ((unsigned int)HvlpGuestStateScrubbingStatus >> 7) & 1;
v10 = ((unsigned int)HvlpGuestStateScrubbingStatus >> 8) & 1;
v33 = &v9;
v35 = &v10;
HvlpWriteEventLog((EVENT_DESCRIPTOR *)&HV_EVENTLOG_GUEST_STATE_SCRUBBING, 8ui64, &UserData);
*(_QWORD *)&v15.Size = 4i64;
v11 = ((unsigned int)HvlpGuestStateScrubbingStatus >> 11) & 1;
v15.Ptr = (unsigned __int64)&v11;
v17 = 4i64;
v3 = ((unsigned int)HvlpGuestStateScrubbingStatus >> 1) & 1;
v16 = &v3;
v19 = 4i64;
v12 = ((unsigned int)HvlpGuestStateScrubbingStatus >> 9) & 1;
v18 = &v12;
v20 = v13;
*(_DWORD *)v13 = ((unsigned int)HvlpGuestStateScrubbingStatus >> 10) & 1;
v21 = 4i64;
HvlpWriteEventLog((EVENT_DESCRIPTOR *)&HV_EVENTLOG_MDS_MITIGATION_STATUS, 4ui64, &v15);
if( (HvlpGuestStateScrubbingStatus & 0x40) != 0 )
HvlpWriteEventLog((EVENT_DESCRIPTOR *)&HV_EVENTLOG_GUEST_STATE_SCRUBBING_DISABLED_CORE_SCHEDULER, 0i64, 0i64);
}
}Referenced by:
HvlPhase2Initialize