HvcallFastExtended
__int64 __fastcall HvcallFastExtended(__int64 a1, _QWORD *a2, unsigned int a3, _QWORD *a4, unsigned int a5){
char v9;
__int64 v10;
__int64 v11;
UINT64 Flag;
int Data;
char Data_4;
__int16 Data_5;
char Data_7;
_LARGE_INTEGER TimeStamp[2];
__int128 v19;
*(_OWORD *)&TimeStamp[0].anonymous_0.LowPart = 0i64;
v19 = 0i64;
if( (BYTE4(xmmword_140CFB490) & 0x10) != 0 )
{
v9 = 1;
EtwGetKernelTraceTimestamp(TimeStamp, 0xA0000010ui64);
}
else
{
v9 = 0;
}
if( a5 )
{
LODWORD(Flag) = a5 >> 4;
v10 = HvcallpExtendedFastHypercallWithOutput(a1, a2, (a3 + 15) >> 4, a4, Flag);
}
else
{
v10 = HvcallpExtendedFastHypercall(a1, a2, a3);
}
v11 = v10;
if( v9 )
{
Data_7 = 0;
Data = (unsigned __int16)a1;
Data_4 = BYTE2(a1) & 1;
LODWORD(Flag) = 4200962;
Data_5 = (int)a1 < 0;
EtwTraceTimedEvent(0xF72u, 0xA0000010ui64, &Data, 8ui64, Flag, (_ETW_KERNEL_TRACE_TIMESTAMP *)TimeStamp);
}
return v11;
}Referenced by:
HvlDmaAllocateDeviceDomain
HvlDmaAttachDeviceDomain
HvlDmaDeleteDeviceDomain
HvlDmaDetachDeviceDomain
HvlDmaMapDeviceLogicalRange
HvlDmaMapDeviceSparsePages
HvlDmaUnmapDeviceLogicalRange
HvlDmaUnmapDeviceSparsePages
HvlRestoreTime
HvlSetRootFaultReportingReady
HvlSvmAttachPasidSpace
HvlSvmClearPrqStalled
HvlSvmCreatePasidSpace
HvlSvmCreatePrQueue
HvlSvmDeletePrQueue
HvlSvmDetachPasidSpace
HvlSvmDisablePasid
HvlSvmEnablePasid
HvlSvmSetDeviceEnabled
HvlSvmSetPasidAddressSpace
HvlUnregisterDeviceId
HvlpAttachRootSvmDevice
HvlpCondenseMicrocode
HvlpDetachRootSvmDevice
HvlpDynamicUpdateMicrocode
HvlpFastAcknowledgePageRequest
HvlpFastFlushAddressSpaceTb
HvlpFastFlushAddressSpaceTbEx
HvlpFastFlushListTb
HvlpFastFlushListTbEx
HvlpFastFlushPasidAddressList
HvlpFastSendSyntheticClusterIpiEx
HvlpFlushPasidAddressSpace
HvlpGetVtlCallVa
HvlpProcessIommuPrq
HvlpReadPerfRegister
HvlpWritePerfRegister