Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/changeofpace/VivienneVMM
/ functions
Functions
557 in github.com/changeofpace/VivienneVMM
⨍
Functions
557
◇
Types & classes
166
↓ 129 callers
Function
UtilVmRead
Reads natural-width VMCS
VivienneVMM/HyperPlatform/HyperPlatform/util.cpp:735
↓ 122 callers
Function
UtilVmWrite
Writes natural-width VMCS
VivienneVMM/HyperPlatform/HyperPlatform/util.cpp:767
↓ 46 callers
Function
PAGED_CODE
VivienneVMM/HyperPlatform/HyperPlatform/vm.cpp:531
↓ 25 callers
Function
VivienneIoClearHardwareBreakpoint
VivienneIoClearHardwareBreakpoint Uninstall a hardware breakpoint on all processors.
VivienneCL/driver_io.cpp:197
↓ 20 callers
Function
ClearEptBreakpoint
VivienneTests/test_ept_breakpoint_manager.cpp:185
↓ 20 callers
Function
SetEptBreakpoint
VivienneTests/test_ept_breakpoint_manager.cpp:92
↓ 19 callers
Function
UtilReadMsr
Reads natural-width MSR
VivienneVMM/HyperPlatform/HyperPlatform/util.cpp:797
↓ 19 callers
Function
UtilReadMsr64
Reads 64bit-width MSR
VivienneVMM/HyperPlatform/HyperPlatform/util.cpp:802
↓ 18 callers
Function
CmdpPrintAlignedCommandName
============================================================================= Utilities ==============================================================
VivienneCL/commands.cpp:50
↓ 17 callers
Function
AreAllHardwareBreakpointsCleared
AreAllHardwareBreakpointsCleared Returns TRUE if all debug registers on all processors are zero.
VivienneTests/test_util.cpp:480
↓ 16 callers
Function
GeneratePseudoRandomUlongPtr
VivienneTests/test_ept_breakpoint_manager.cpp:563
↓ 15 callers
Function
BreakpointStealthCheck
BreakpointStealthCheck View the debug register values for the current thread by exercising exception handlers to inspect thread context. Caller must
VivienneTests/test_util.cpp:319
↓ 14 callers
Function
IsX64
Checks if a system is x64 @return true if a system is x64
VivienneVMM/HyperPlatform/HyperPlatform/common.h:128
↓ 14 callers
Function
VivienneIoSetHardwareBreakpoint
VivienneIoSetHardwareBreakpoint Install a hardware breakpoint on all processors.
VivienneCL/driver_io.cpp:155
↓ 14 callers
Function
VmmpAdjustGuestInstructionPointer
Advances guest's IP to the next instruction
VivienneVMM/HyperPlatform/HyperPlatform/vmm.cpp:1422
↓ 13 callers
Function
IsVirtualAddressValid
IsVirtualAddressValid Determine if the PTE for the specified address is valid.
VivienneTests/memory.cpp:13
↓ 13 callers
Function
VerifyEptBreakpointUnwind
VivienneTests/test_ept_breakpoint_manager.cpp:199
↓ 12 callers
Function
LogPrintDirect
VivienneCL/log.cpp:74
↓ 12 callers
Function
UtilPaFromVa
VA -> PA
VivienneVMM/HyperPlatform/HyperPlatform/util.cpp:620
↓ 11 callers
Function
VmpGetSegmentBase
Returns a base address of the segment specified by SegmentSelector
VivienneVMM/HyperPlatform/HyperPlatform/vm.cpp:925
↓ 10 callers
Function
CmdpPrintUsageText
VivienneCL/commands.cpp:66
↓ 10 callers
Function
LogTermination
Terminates the log functions.
VivienneVMM/HyperPlatform/HyperPlatform/log.cpp:368
↓ 10 callers
Function
VmmpInjectInterruption
Injects interruption to a guest
VivienneVMM/HyperPlatform/HyperPlatform/vmm.cpp:1532
↓ 9 callers
Function
KernelStlpRaiseException
An alternative implementation of a C++ exception handler. Issues a bug check.
VivienneVMM/HyperPlatform/HyperPlatform/kernel_stl.cpp:54
↓ 9 callers
Function
ParseMemoryDescriptionToken
ParseMemoryDescriptionToken Valid input examples: 14FF20 rbx+rsi rbx+rsi+FFFF rbx+rsi*8-77777
VivienneCL/token_parser.cpp:922
↓ 9 callers
Function
UtilInveptGlobal
Executes the INVEPT instruction and invalidates EPT entry cache _Use_decl_annotations_*/
VivienneVMM/HyperPlatform/HyperPlatform/util.cpp:817
↓ 9 callers
Function
UtilVmWrite64
Writes 64bit-width VMCS
VivienneVMM/HyperPlatform/HyperPlatform/util.cpp:774
↓ 8 callers
Function
GetSegmentLimit
VivienneVMM/HyperPlatform/HyperPlatform/vm.cpp:141
↓ 8 callers
Function
GlobalObjectTermination
Calls all registered destructors
VivienneVMM/HyperPlatform/HyperPlatform/global_object.cpp:86
↓ 8 callers
Function
ParseUnsignedLongToken
VivienneCL/token_parser.cpp:57
↓ 8 callers
Function
UtilIsInBounds
VivienneVMM/HyperPlatform/HyperPlatform/util.h:312
↓ 8 callers
Function
UtilVmCall
Executes VMCALL
VivienneVMM/HyperPlatform/HyperPlatform/util.cpp:679
↓ 8 callers
Function
VivienneIoCaptureMemoryValues
VivienneIoCaptureMemoryValues Install a hardware breakpoint on all processors which, when triggered, will record all unique values at the memory addr
VivienneCL/driver_io.cpp:297
↓ 8 callers
Function
VmpGetSegmentAccessRight
Returns access right of the segment specified by the SegmentSelector for VMX
VivienneVMM/HyperPlatform/HyperPlatform/vm.cpp:905
↓ 7 callers
Function
GetWorkingSetInfo
VivienneTests/test_ept_breakpoint_OLD_remove.cpp:162
↓ 7 callers
Function
HwBpSizeToChar
HwBpSizeToChar
VivienneVMM/log.h:117
↓ 7 callers
Function
HwBpTypeToChar
HwBpTypeToChar
VivienneVMM/log.h:95
↓ 7 callers
Function
LogpDbgBreak
Sets a break point that works only when a debugger is present _Use_decl_annotations_*/
VivienneVMM/HyperPlatform/HyperPlatform/log.cpp:832
↓ 7 callers
Function
MemFreeHeap
VivienneCL/memory_util.cpp:23
↓ 7 callers
Function
ParseProcessIdToken
VivienneCL/token_parser.cpp:195
↓ 7 callers
Function
PerfTermination
VivienneVMM/HyperPlatform/HyperPlatform/performance.cpp:72
↓ 7 callers
Function
StrSplitStringByDelimiter
============================================================================= Tokenizer Interface ====================================================
VivienneCL/string_util.cpp:176
↓ 7 callers
Function
UtilVaFromPfn
PFN -> VA
VivienneVMM/HyperPlatform/HyperPlatform/util.cpp:648
↓ 7 callers
Function
VmmpSelectRegister
Selects a register to be used based on the index
VivienneVMM/HyperPlatform/HyperPlatform/vmm.cpp:1334
↓ 7 callers
Function
VmpFreeProcessorData
Frees all related memory
VivienneVMM/HyperPlatform/HyperPlatform/vm.cpp:1034
↓ 6 callers
Function
ParseAddressToken
VivienneCL/token_parser.cpp:227
↓ 6 callers
Function
ParseUnsignedLongLongToken
VivienneCL/token_parser.cpp:90
↓ 6 callers
Function
UtilIsX86Pae
Returns true when a system is on the x86 PAE mode _Use_decl_annotations_*/
VivienneVMM/HyperPlatform/HyperPlatform/util.cpp:538
↓ 6 callers
Function
UtilTermination
Terminates utility functions
VivienneVMM/HyperPlatform/HyperPlatform/util.cpp:196
↓ 6 callers
Function
VmmpIndicateSuccessfulVmcall
Indicates successful VMCALL
VivienneVMM/HyperPlatform/HyperPlatform/vmm.cpp:1449
↓ 5 callers
Function
DisableEptBreakpoint
VivienneTests/test_ept_breakpoint_manager.cpp:171
↓ 5 callers
Function
EbmpBugCheckEx
============================================================================= Shared Interface =======================================================
VivienneVMM/ept_breakpoint_manager.cpp:2941
↓ 5 callers
Function
EbmpVerifyClientContext
++ Description: Determine if the caller is the registered EBM client. Return Value: Returns TRUE if the caller is the registered EBM clien
VivienneVMM/ept_breakpoint_manager.cpp:3342
↓ 5 callers
Function
EbpPrintEptBreakpointLogHeader
VivienneCL/ept_breakpoint.cpp:653
↓ 5 callers
Function
EptpDestructTables
Frees all used EPT entries by walking through whole EPT
VivienneVMM/HyperPlatform/HyperPlatform/ept.cpp:782
↓ 5 callers
Function
ExecuteCecmRequestForSpanningPage
ExecuteCecmRequestForSpanningPage This test issues a CECM request which attempts to read an effective address that spans two pages. The effective add
VivienneTests/test_antidebug_cecm_spanning_page.cpp:284
↓ 5 callers
Function
LogpFinalizeBufferInfo
Terminates a log file related code.
VivienneVMM/HyperPlatform/HyperPlatform/log.cpp:380
↓ 5 callers
Function
PowerCallbackTermination
Unregister power callback
VivienneVMM/HyperPlatform/HyperPlatform/power_callback.cpp:79
↓ 5 callers
Function
PrintWorkingSetInfoShort
VivienneTests/test_ept_breakpoint_OLD_remove.cpp:128
↓ 5 callers
Function
SetThreadLocalHardwareBreakpoint
SetThreadLocalHardwareBreakpoint
VivienneTests/test_util.cpp:586
↓ 5 callers
Function
StrUnsignedLongLongFromString
VivienneCL/string_util.cpp:120
↓ 5 callers
Function
SysExecuteProcessorCallback
VivienneVMM/system_util.cpp:74
↓ 5 callers
Function
VmmpGetKernelCr3
Returns a kernel CR3 value of the current process; _Use_decl_annotations_*/
VivienneVMM/HyperPlatform/HyperPlatform/vmm.cpp:1548
↓ 5 callers
Function
VmpAdjustControlValue
Adjust the requested control value with consulting a value of related MSR
VivienneVMM/HyperPlatform/HyperPlatform/vm.cpp:980
↓ 4 callers
Function
ClearThreadLocalHardwareBreakpoint
ClearThreadLocalHardwareBreakpoint
VivienneTests/test_util.cpp:609
↓ 4 callers
Function
EbmpDestroyEptBreakpoint
++ Description: Destroys an ept breakpoint object. Parameters: pEptBreakpoint - The ept breakpoint object to be destroyed. --*/
VivienneVMM/ept_breakpoint_manager.cpp:4216
↓ 4 callers
Function
EbmpDestroyEptBreakpointNonRootEntry
++ Description: Destroys an ept breakpoint non-root entry. Parameters: pNonRootEntry - The non-root entry to be destroyed. Return Value:
VivienneVMM/ept_breakpoint_manager.cpp:4338
↓ 4 callers
Function
EbmpDestroyLogContext
++ Description: Destroys a log context bookkeeping object. Parameters: pLogContext - The log context to be destroyed. Requirements:
VivienneVMM/ept_breakpoint_manager.cpp:3782
↓ 4 callers
Function
EbmxpDestroyEptBreakpointRootEntry
VivienneVMM/ept_breakpoint_manager.cpp:5227
↓ 4 callers
Function
EptpInitTableEntry
Initialize an EPT entry with a "pass through" attribute
VivienneVMM/HyperPlatform/HyperPlatform/ept.cpp:598
↓ 4 callers
Function
GenerateBoundedRandomValue
GenerateBoundedRandomValue
VivienneTests/test_util.cpp:644
↓ 4 callers
Function
GenerateUniqueRandomValues
GenerateUniqueRandomValues This function exists because TestCaptureRegisterValues generated a duplicate value once which caused the CECR request to r
VivienneTests/test_util.cpp:662
↓ 4 callers
Function
HotplugCallbackTermination
Unregister power callback
VivienneVMM/HyperPlatform/HyperPlatform/hotplug_callback.cpp:69
↓ 4 callers
Function
ParseDebugRegisterIndexToken
VivienneCL/token_parser.cpp:156
↓ 4 callers
Function
ParseRegisterToken
VivienneCL/token_parser.cpp:401
↓ 4 callers
Function
PrintDebugRegisterContext
PrintDebugRegisterContext
VivienneTests/test_util.cpp:704
↓ 4 callers
Function
PromptDebuggerExceptionConfiguration
PromptDebuggerExceptionConfiguration Print a message to instruct the user to configure their debugger's exception handling settings.
VivienneTests/test_util.cpp:58
↓ 4 callers
Function
ReadGuestGpRegisterValue
ReadGuestGpRegisterValue Utility to read a register value from guest state.
VivienneVMM/register_util.cpp:34
↓ 4 callers
Function
StrUnsignedLongFromString
============================================================================= From String Interface ==================================================
VivienneCL/string_util.cpp:83
↓ 4 callers
Function
StrUnsignedLongLongToString
VivienneCL/string_util.cpp:51
↓ 4 callers
Function
UtilForEachProcessor
Execute a given callback routine on all processors in PASSIVE_LEVEL. Returns STATUS_SUCCESS when all callback returned STATUS_SUCCESS as well. When on
VivienneVMM/HyperPlatform/HyperPlatform/util.cpp:437
↓ 4 callers
Function
UtilLoadPdptes
Loads the PDPTE registers from CR3 to VMCS
VivienneVMM/HyperPlatform/HyperPlatform/util.cpp:858
↓ 4 callers
Function
UtilVmRead64
Reads 64bit-width VMCS
VivienneVMM/HyperPlatform/HyperPlatform/util.cpp:748
↓ 4 callers
Function
VivienneIoCaptureRegisterValues
VivienneIoCaptureRegisterValues Install a hardware breakpoint on all processors which, when triggered, will examine the contents of the target regist
VivienneCL/driver_io.cpp:237
↓ 4 callers
Function
VivienneIoQuerySystemDebugState
VivienneIoQuerySystemDebugState Query the breakpoint manager's debug register state for all processors.
VivienneCL/driver_io.cpp:119
↓ 3 callers
Function
BpmiClearHardwareBreakpoint
BpmiClearHardwareBreakpoint Zero a debug address register value and its corresponding DR7 bits on all processors.
VivienneVMM/breakpoint_manager.cpp:1295
↓ 3 callers
Function
CmdpInsertEptBreakpointLog
VivienneCL/commands.cpp:1011
↓ 3 callers
Function
EbmpDestroyLockedPageEntry
++ Description: Destroys a locked page entry. Parameters: pLockedPageEntry - The locked page entry to be destroyed. --*/
VivienneVMM/ept_breakpoint_manager.cpp:4058
↓ 3 callers
Function
EbmpEptBreakpointSizeToCharacter
VivienneVMM/ept_breakpoint_manager.cpp:2997
↓ 3 callers
Function
EbmpEptBreakpointTypeToCharacter
VivienneVMM/ept_breakpoint_manager.cpp:2962
↓ 3 callers
Function
EbppSetEptBreakpoint
VivienneCL/ept_breakpoint.cpp:170
↓ 3 callers
Function
ExecuteCecmForInstructionAddress
ExecuteCecmForInstructionAddress
VivienneTests/test_cecm_fpu_state.cpp:177
↓ 3 callers
Function
GpRegToString
GpRegToString
VivienneVMM/log.h:139
↓ 3 callers
Function
HbmClearHardwareBreakpoint
HbmClearHardwareBreakpoint
VivienneVMM/hardware_breakpoint_manager.cpp:696
↓ 3 callers
Function
HbmInitializeBreakpoint
HbmInitializeBreakpoint Hardware breakpoint constructor.
VivienneVMM/hardware_breakpoint_manager.cpp:467
↓ 3 callers
Function
HbmSetHardwareBreakpoint
HbmSetHardwareBreakpoint Install a validated hardware breakpoint on all processors.
VivienneVMM/hardware_breakpoint_manager.cpp:604
↓ 3 callers
Function
HbmpClearHardwareBreakpoint
HbmpClearHardwareBreakpoint Zero a debug address register value and its corresponding DR7 bits on all processors.
VivienneVMM/hardware_breakpoint_manager.cpp:1310
↓ 3 callers
Function
IsBreakpointAddressAligned
VivienneCL/token_parser.cpp:20
↓ 3 callers
Function
IvValidateGeneralPurposeRegister
============================================================================= Public Interface =======================================================
VivienneVMM/ioctl_validation.cpp:59
↓ 3 callers
Function
LogpSetPrintedBit
Marks the message as it is already printed out, or clears the printed bit and restores it to the original
VivienneVMM/HyperPlatform/HyperPlatform/log.cpp:818
next →
1–100 of 557, ranked by callers