41 _In_reads_bytes_(BufferLength)
PVOID Buffer,
IMPORT_EXPORT_HYPERLOG BOOLEAN LogCallbackSendBuffer(_In_ UINT32 OperationCode, _In_reads_bytes_(BufferLength) PVOID Buffer, _In_ UINT32 BufferLength, _In_ BOOLEAN Priority)
routines callback for sending buffer
Definition HyperLogCallback.c:123
IMPORT_EXPORT_HYPERLOG BOOLEAN LogCallbackCheckIfBufferIsFull(BOOLEAN Priority)
Checks whether the priority or regular buffer is full or not.
Definition Logging.c:262
IMPORT_EXPORT_HYPERLOG BOOLEAN LogCallbackSendMessageToQueue(UINT32 OperationCode, BOOLEAN IsImmediateMessage, CHAR *LogMessage, UINT32 BufferLen, BOOLEAN Priority)
Send string messages and tracing for logging and monitoring.
Definition Logging.c:1214
IMPORT_EXPORT_HYPERLOG BOOLEAN LogCallbackPrepareAndSendMessageToQueueWrapper(UINT32 OperationCode, BOOLEAN IsImmediateMessage, BOOLEAN ShowCurrentSystemTime, BOOLEAN Priority, const CHAR *Fmt, va_list ArgList)
Prepare a printf-style message mapping and send string messages and tracing for logging and monitorin...
Definition Logging.c:987
IMPORT_EXPORT_VMM VOID VmFuncSetLoadGuestIa32LbrCtl(UINT32 CoreId, BOOLEAN Set)
Set LOAD GUEST IA32_LBR_CTL on Vm-entry controls.
Definition Export.c:151
IMPORT_EXPORT_VMM BOOLEAN VmFuncCheckCpuSupportForSaveAndLoadDebugControls()
Check if CPU support save and load debug controls on exit and load entries.
Definition Export.c:488
IMPORT_EXPORT_VMM VOID VmFuncSetLoadGuestIa32LbrCtlVmcallOnTargetCore(BOOLEAN Set)
Set LOAD GUEST IA32_LBR_CTL on VM-entry controls on the target core from VMCS using VMCALL.
Definition Export.c:599
IMPORT_EXPORT_VMM VOID VmFuncSetLbrSelectVmcallOnTargetCore(UINT64 FilterOptions)
Set the guest state of MSR_LEGACY_LBR_SELECT on the target core from VMCS using VMCALL.
Definition Export.c:573
IMPORT_EXPORT_VMM BOOLEAN VmFuncCheckCpuSupportForLoadAndClearGuestIa32LbrCtlControls()
Check if CPU support load and clear guest IA32_LBR_CTL controls on VM-entry and VM-exit.
Definition Export.c:499
IMPORT_EXPORT_VMM VOID VmFuncSetDebugctl(UINT64 Value)
Set the guest state of IA32_DEBUGCTL.
Definition Export.c:511
IMPORT_EXPORT_VMM UINT64 VmFuncGetDebugctlVmcallOnTargetCore()
Get the guest state of IA32_DEBUGCTL on the target core from VMCS using VMCALL.
Definition Export.c:455
IMPORT_EXPORT_VMM VOID VmFuncSetGuestIa32LbrCtl(UINT64 Value)
Set the guest state of IA32_LBR_CTL.
Definition Export.c:536
IMPORT_EXPORT_VMM VOID VmFuncSetClearGuestIa32LbrCtl(UINT32 CoreId, BOOLEAN Set)
Set CLEAR GUEST IA32_LBR_CTL on Vm-exit controls.
Definition Export.c:179
IMPORT_EXPORT_VMM BOOLEAN VmFuncVmxGetCurrentExecutionMode()
Get the current VMX operation state.
Definition Export.c:802
IMPORT_EXPORT_VMM VOID VmFuncSetDebugctlVmcallOnTargetCore(UINT64 Value)
Set the guest state of IA32_DEBUGCTL on the target core from VMCS using VMCALL.
Definition Export.c:524
IMPORT_EXPORT_VMM UINT64 VmFuncGetGuestIa32LbrCtlVmcallOnTargetCore()
Get the guest state of IA32_LBR_CTL on the target core from VMCS.
Definition Export.c:477
IMPORT_EXPORT_VMM VOID VmFuncSetSaveDebugControls(UINT32 CoreId, BOOLEAN Set)
Set SAVE DEBUG CONTROLS on Vm-exit controls.
Definition Export.c:165
IMPORT_EXPORT_VMM VOID VmFuncSetLoadDebugControls(UINT32 CoreId, BOOLEAN Set)
Set LOAD DEBUG CONTROLS on Vm-entry controls.
Definition Export.c:137
IMPORT_EXPORT_VMM VOID VmFuncSetClearGuestIa32LbrCtlVmcallOnTargetCore(BOOLEAN Set)
Set CLEAR GUEST IA32_LBR_CTL on VM-exit controls on the target core from VMCS using VMCALL.
Definition Export.c:625
IMPORT_EXPORT_VMM VOID VmFuncSetSaveDebugControlsVmcallOnTargetCore(BOOLEAN Set)
Set SAVE DEBUG CONTROLS on VM-exit controls on the target core from VMCS using VMCALL.
Definition Export.c:612
IMPORT_EXPORT_VMM VOID VmFuncSetLbrSelect(UINT64 FilterOptions)
Set the guest state of MSR_LEGACY_LBR_SELECT.
Definition Export.c:561
IMPORT_EXPORT_VMM VOID VmFuncSetLoadDebugControlsVmcallOnTargetCore(BOOLEAN Set)
Set LOAD DEBUG CONTROLS on VM-entry controls on the target core from VMCS using VMCALL.
Definition Export.c:586
IMPORT_EXPORT_VMM UINT64 VmFuncGetGuestIa32LbrCtl()
Get the guest state of IA32_LBR_CTL.
Definition Export.c:466
IMPORT_EXPORT_VMM UINT64 VmFuncGetDebugctl()
Get the guest state of IA32_DEBUGCTL.
Definition Export.c:443
IMPORT_EXPORT_VMM VOID VmFuncSetGuestIa32LbrCtlVmcallOnTargetCore(UINT64 Value)
Set the guest state of IA32_LBR_CTL on the target core from VMCS using VMCALL.
Definition Export.c:549
BOOLEAN(* LOG_CALLBACK_SEND_MESSAGE_TO_QUEUE)(UINT32 OperationCode, BOOLEAN IsImmediateMessage, CHAR *LogMessage, UINT32 BufferLen, BOOLEAN Priority)
A function that sends the messages to message tracer buffers.
Definition HyperEvade.h:34
BOOLEAN(* CHECK_ACCESS_VALIDITY_AND_SAFETY)(UINT64 TargetAddress, UINT32 Size)
A function that checks the validity and safety of the target address.
Definition HyperEvade.h:61
BOOLEAN(* LOG_CALLBACK_PREPARE_AND_SEND_MESSAGE_TO_QUEUE)(UINT32 OperationCode, BOOLEAN IsImmediateMessage, BOOLEAN ShowCurrentSystemTime, BOOLEAN Priority, const CHAR *Fmt, va_list ArgList)
A function from the message tracer that send the inputs to the queue of the messages.
Definition HyperEvade.h:23
BOOLEAN(* LOG_CALLBACK_CHECK_IF_BUFFER_IS_FULL)(BOOLEAN Priority)
A function that checks whether the priority or regular buffer is full or not.
Definition HyperEvade.h:49
BOOLEAN(* MEMORY_MAPPER_READ_MEMORY_SAFE_ON_TARGET_PROCESS)(UINT64 VaAddressToRead, PVOID BufferToSaveMemory, SIZE_T SizeToRead)
A function that reads memory safely on the target process.
Definition HyperEvade.h:67
PCHAR(* COMMON_GET_PROCESS_NAME_FROM_PROCESS_CONTROL_BLOCK)(PVOID Eprocess)
A function that gets the process name from the process control block.
Definition HyperEvade.h:79
BOOLEAN(* MEMORY_MAPPER_WRITE_MEMORY_SAFE_ON_TARGET_PROCESS)(UINT64 Destination, PVOID Source, SIZE_T Size)
A function that writes memory safely on the target process.
Definition HyperEvade.h:73
BOOLEAN(* LOG_CALLBACK_SEND_BUFFER)(_In_ UINT32 OperationCode, _In_reads_bytes_(BufferLength) PVOID Buffer, _In_ UINT32 BufferLength, _In_ BOOLEAN Priority)
A function that sends the messages to message tracer buffers.
Definition HyperEvade.h:40
BOOLEAN(* VM_FUNC_VMX_GET_CURRENT_EXECUTION_MODE)()
A function that checks whether the current execution mode is VMX-root mode or not.
Definition HyperPerf.h:55
VOID(* VM_FUNC_SET_LBR_SELECT)(UINT64 FilterOptions)
A function that set MSR_LEGACY_LBR_SELECT.
Definition HyperTrace.h:99
BOOLEAN(* VM_FUNC_CHECK_CPU_SUPPORT_FOR_SAVE_AND_LOAD_DEBUG_CONTROLS)()
A function that checks whether IA32_DEBUGCTL can be used in load and save of exit and entry controls.
Definition HyperTrace.h:111
VOID(* VM_FUNC_SET_LOAD_GUEST_IA32_LBR_CTL)(UINT32 CoreId, BOOLEAN Set)
A function that sets load guest IA32_LBR_CTL on VM-entry controls.
Definition HyperTrace.h:135
BOOLEAN(* VM_FUNC_CHECK_CPU_SUPPORT_FOR_LOAD_AND_CLEAR_GUEST_IA32_LBR_CTL_CONTROLS)()
A function that checks whether guest IA32_LBR_CTL can be used in load and clear of guest IA32_LBR_CTL...
Definition HyperTrace.h:117
VOID(* VM_FUNC_SET_LOAD_GUEST_IA32_LBR_CTL_VMCALL_ON_TARGET_CORE)(BOOLEAN Set)
A function that sets load guest IA32_LBR_CTL on VM-entry controls on the target core from VMCS using ...
Definition HyperTrace.h:141
VOID(* VM_FUNC_SET_SAVE_DEBUG_CONTROLS_VMCALL_ON_TARGET_CORE)(BOOLEAN Set)
A function that sets save debug controls on VM-exit controls on the target core from VMCS using VMCAL...
Definition HyperTrace.h:153
VOID(* VM_FUNC_SET_GUEST_IA32_LBR_CTL)(UINT64 Value)
A function that sets guest IA32_LBR_CTL.
Definition HyperTrace.h:87
VOID(* VM_FUNC_SET_GUEST_IA32_LBR_CTL_VMCALL_ON_TARGET_CORE)(UINT64 Value)
A function that sets guest IA32_LBR_CTL on the target core using VMCALL.
Definition HyperTrace.h:93
VOID(* VM_FUNC_SET_SAVE_DEBUG_CONTROLS)(UINT32 CoreId, BOOLEAN Set)
A function that sets save debug controls on VM-exit controls.
Definition HyperTrace.h:147
VOID(* VM_FUNC_SET_DEBUGCTL_VMCALL_ON_TARGET_CORE)(UINT64 Value)
A function that gets the guest state of IA32_DEBUGCTL on the target core using VMCALL.
Definition HyperTrace.h:81
UINT64(* VM_FUNC_GET_DEBUGCTL)()
A function that gets the guest state of IA32_DEBUGCTL.
Definition HyperTrace.h:54
struct _HYPERTRACE_CALLBACKS HYPERTRACE_CALLBACKS
Prototype of each function needed by hypertrace module.
VOID(* VM_FUNC_SET_LOAD_DEBUG_CONTROLS)(UINT32 CoreId, BOOLEAN Set)
A function that sets load debug controls on VM-entry controls.
Definition HyperTrace.h:123
VOID(* VM_FUNC_SET_LOAD_DEBUG_CONTROLS_VMCALL_ON_TARGET_CORE)(BOOLEAN Set)
A function that sets load debug controls on VM-entry controls on the target core from VMCS using VMCA...
Definition HyperTrace.h:129
VOID(* VM_FUNC_SET_CLEAR_GUEST_IA32_LBR_CTL_VMCALL_ON_TARGET_CORE)(BOOLEAN Set)
A function that sets clear guest IA32_LBR_CTL on VM-exit controls on the target core from VMCS using ...
Definition HyperTrace.h:165
struct _HYPERTRACE_CALLBACKS * PHYPERTRACE_CALLBACKS
VOID(* VM_FUNC_SET_LBR_SELECT_VMCALL_ON_TARGET_CORE)(UINT64 FilterOptions)
A function that set MSR_LEGACY_LBR_SELECT on the target core using VMCALL.
Definition HyperTrace.h:105
VOID(* VM_FUNC_SET_CLEAR_GUEST_IA32_LBR_CTL)(UINT32 CoreId, BOOLEAN Set)
A function that sets clear guest IA32_LBR_CTL on VM-exit controls.
Definition HyperTrace.h:159
UINT64(* VM_FUNC_GET_GUEST_IA32_LBR_CTL_VMCALL_ON_TARGET_CORE)()
A function that gets the guest state of IA32_LBR_CTL on the target core using VMCALL.
Definition HyperTrace.h:69
UINT64(* VM_FUNC_GET_GUEST_IA32_LBR_CTL)()
A function that gets the guest state of IA32_LBR_CTL.
Definition HyperTrace.h:64
VOID(* VM_FUNC_SET_DEBUGCTL)(UINT64 Value)
A function that gets the guest state of IA32_DEBUGCTL.
Definition HyperTrace.h:75
UINT64(* VM_FUNC_GET_DEBUGCTL_VMCALL_ON_TARGET_CORE)()
A function that gets the guest state of IA32_DEBUGCTL on the target core using VMCALL.
Definition HyperTrace.h:59
RequestedActionOfThePacket Value(0x1) 00000000
Prototype of each function needed by hypertrace module.
Definition HyperTrace.h:206