|
HyperDbg Debugger
|
Tracing routines for HyperTrace module (Intel Last Branch Record). More...
#include "pch.h"Functions | |
| VOID | HyperTraceLbrExamplePerformTrace () |
| Example of performing LBR trace. | |
| BOOLEAN | HyperTraceLbrQueryStateOfLbrSaveAndLoadVmExitAndEntryControls (UINT32 CoreId) |
| Query the state of LBR save and load VM exit and entry controls. | |
| VOID | HyperTraceLbrSetKernelStatus (HYPERTRACE_LBR_OPERATION_PACKETS *HyperTraceLbrOperationRequest, UINT32 Status) |
| Set the kernel status in the HyperTrace LBR operation request structure. | |
| VOID | HyperTraceLbrDumpSetKernelStatus (HYPERTRACE_LBR_DUMP_PACKETS *HyperTraceLbrDumpOperationRequest, UINT32 Status) |
| Set the kernel status in the HyperTrace LBR dump operation request structure. | |
| BOOLEAN | HyperTraceLbrCheck () |
| Check if LBR is supported and enabled on the current core. | |
| BOOLEAN | HyperTraceLbrRestoreByFilter (UINT64 FilterOptions) |
| Restore (re-enable) LBR collection on the current core with the specified filter options. | |
| BOOLEAN | HyperTraceLbrRestore () |
| Restore (re-enable) LBR collection on the current core with previous filter options. | |
| BOOLEAN | HyperTraceLbrIsSupported (UINT32 *Capacity, BOOLEAN *IsArchLbr) |
| Check if LBR is supported on the current CPU and get its capacity. | |
| BOOLEAN | HyperTraceLbrEnable (HYPERTRACE_LBR_OPERATION_PACKETS *HyperTraceOperationRequest) |
| Enable LBR tracing for HyperTrace. | |
| BOOLEAN | HyperTraceLbrDisable (HYPERTRACE_LBR_OPERATION_PACKETS *HyperTraceOperationRequest) |
| Disable LBR tracing for HyperTrace. | |
| BOOLEAN | HyperTraceLbrFlush (HYPERTRACE_LBR_OPERATION_PACKETS *HyperTraceOperationRequest) |
| Flush LBR tracing for HyperTrace. | |
| BOOLEAN | HyperTraceLbrSave (HYPERTRACE_LBR_OPERATION_PACKETS *HyperTraceOperationRequest) |
| Save LBR tracing for HyperTrace. | |
| BOOLEAN | HyperTraceLbrPrint (HYPERTRACE_LBR_OPERATION_PACKETS *HyperTraceOperationRequest) |
| Print LBR tracing for HyperTrace. | |
| BOOLEAN | HyperTraceLbrUpdateFilterOptions (HYPERTRACE_LBR_OPERATION_PACKETS *HyperTraceOperationRequest) |
| Update LBR filter options for HyperTrace. | |
| BOOLEAN | HyperTraceLbrPerformDump (HYPERTRACE_LBR_DUMP_PACKETS *LbrDumpRequest) |
| Perform actions related to HyperTrace LBR dumping. | |
| BOOLEAN | HyperTraceLbrPerformOperation (HYPERTRACE_LBR_OPERATION_PACKETS *LbrOperationRequest) |
| Perform actions related to HyperTrace LBR operations. | |
Tracing routines for HyperTrace module (Intel Last Branch Record).
| BOOLEAN HyperTraceLbrCheck | ( | ) |
Check if LBR is supported and enabled on the current core.
| BOOLEAN HyperTraceLbrDisable | ( | HYPERTRACE_LBR_OPERATION_PACKETS * | HyperTraceOperationRequest | ) |
Disable LBR tracing for HyperTrace.
| HyperTraceOperationRequest |
| VOID HyperTraceLbrDumpSetKernelStatus | ( | HYPERTRACE_LBR_DUMP_PACKETS * | HyperTraceLbrDumpOperationRequest, |
| UINT32 | Status ) |
Set the kernel status in the HyperTrace LBR dump operation request structure.
| HyperTraceLbrDumpOperationRequest | Pointer to the HyperTrace LBR dump operation request packet |
| Status | The kernel status code to write into the request |
| BOOLEAN HyperTraceLbrEnable | ( | HYPERTRACE_LBR_OPERATION_PACKETS * | HyperTraceOperationRequest | ) |
Enable LBR tracing for HyperTrace.
| HyperTraceOperationRequest |
| VOID HyperTraceLbrExamplePerformTrace | ( | ) |
| BOOLEAN HyperTraceLbrFlush | ( | HYPERTRACE_LBR_OPERATION_PACKETS * | HyperTraceOperationRequest | ) |
Flush LBR tracing for HyperTrace.
| HyperTraceOperationRequest |
Check if LBR is supported on the current CPU and get its capacity.
| Capacity | Pointer to a variable to receive the LBR capacity (number of entries) |
| IsArchLbr | Pointer to a variable to receive whether the supported LBR is architectural LBR or not (legacy LBR) |
| BOOLEAN HyperTraceLbrPerformDump | ( | HYPERTRACE_LBR_DUMP_PACKETS * | LbrDumpRequest | ) |
Perform actions related to HyperTrace LBR dumping.
| LbrDumpRequest |
| BOOLEAN HyperTraceLbrPerformOperation | ( | HYPERTRACE_LBR_OPERATION_PACKETS * | LbrOperationRequest | ) |
Perform actions related to HyperTrace LBR operations.
| LbrOperationRequest |
| BOOLEAN HyperTraceLbrPrint | ( | HYPERTRACE_LBR_OPERATION_PACKETS * | HyperTraceOperationRequest | ) |
Print LBR tracing for HyperTrace.
| HyperTraceOperationRequest |
Query the state of LBR save and load VM exit and entry controls.
| CoreId | The index of the processor core to query |
| BOOLEAN HyperTraceLbrRestore | ( | ) |
Restore (re-enable) LBR collection on the current core with previous filter options.
| BOOLEAN HyperTraceLbrRestoreByFilter | ( | UINT64 | FilterOptions | ) |
Restore (re-enable) LBR collection on the current core with the specified filter options.
| FilterOptions | A bitmask of filter options to apply to the LBR branches |
| BOOLEAN HyperTraceLbrSave | ( | HYPERTRACE_LBR_OPERATION_PACKETS * | HyperTraceOperationRequest | ) |
Save LBR tracing for HyperTrace.
| HyperTraceOperationRequest |
| VOID HyperTraceLbrSetKernelStatus | ( | HYPERTRACE_LBR_OPERATION_PACKETS * | HyperTraceLbrOperationRequest, |
| UINT32 | Status ) |
Set the kernel status in the HyperTrace LBR operation request structure.
| HyperTraceLbrOperationRequest | Pointer to the HyperTrace LBR operation request packet |
| Status | The kernel status code to write into the request |
| BOOLEAN HyperTraceLbrUpdateFilterOptions | ( | HYPERTRACE_LBR_OPERATION_PACKETS * | HyperTraceOperationRequest | ) |
Update LBR filter options for HyperTrace.
| HyperTraceOperationRequest |