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
↓ 1 callers
Function
CmdPrintEptBreakpointLogHeader
VivienneCL/commands.cpp:1942
↓ 1 callers
Function
CmdQueryEptBreakpointInformation
VivienneCL/commands.cpp:1103
↓ 1 callers
Function
CmdQuerySystemDebugState
CmdQuerySystemDebugState Query the breakpoint manager's debug register state for all processors.
VivienneCL/commands.cpp:308
↓ 1 callers
Function
CmdSetEptBreakpointBasic
VivienneCL/commands.cpp:1240
↓ 1 callers
Function
CmdSetEptBreakpointGeneralRegisterContext
VivienneCL/commands.cpp:1443
↓ 1 callers
Function
CmdSetEptBreakpointKeyedRegisterContext
VivienneCL/commands.cpp:1666
↓ 1 callers
Function
CmdSetHardwareBreakpoint
VivienneCL/commands.cpp:433
↓ 1 callers
Function
CmdpRemoveEptBreakpointLog
VivienneCL/commands.cpp:1045
↓ 1 callers
Function
DebugBreakForExceptionConfiguration
VivienneTests/main.cpp:21
↓ 1 callers
Function
DriverpIsSuppoetedOS
Test if the system is one of supported OS versions
VivienneVMM/HyperPlatform/HyperPlatform/driver.cpp:240
↓ 1 callers
Function
EbmClearEptBreakpoint
++ Description: Clear an ept breakpoint on all processors. Parameters: Handle - The handle to the ept breakpoint to be cleared. Requireme
VivienneVMM/ept_breakpoint_manager.cpp:2269
↓ 1 callers
Function
EbmDisableEptBreakpoint
++ Description: Disable an active ept breakpoint. Parameters: Handle - The handle to the ept breakpoint to be disabled. Requirements:
VivienneVMM/ept_breakpoint_manager.cpp:2172
↓ 1 callers
Function
EbmDriverEntry
============================================================================= Meta Interface =========================================================
VivienneVMM/ept_breakpoint_manager.cpp:1104
↓ 1 callers
Function
EbmQueryEptBreakpointInformation
++ Description: Initializes an ept breakpoint information object with information about all active and inactive ept breakpoints. Parameters
VivienneVMM/ept_breakpoint_manager.cpp:1531
↓ 1 callers
Function
EbmQueryEptBreakpointInformationSize
++ Description: Calculates the size in bytes required to store ept breakpoint information for all active and inactive ept breakpoints. Para
VivienneVMM/ept_breakpoint_manager.cpp:1467
↓ 1 callers
Function
EbmRegisterClient
============================================================================= Public Vmx Non-Root Interface ==========================================
VivienneVMM/ept_breakpoint_manager.cpp:1306
↓ 1 callers
Function
EbmSetEptBreakpoint
++ Description: Install an ept breakpoint on all processors. Parameters: ProcessId - The target process of the ept breakpoint. pVirtu
VivienneVMM/ept_breakpoint_manager.cpp:1770
↓ 1 callers
Function
EbmUnregisterClient
++ Description: Unregisters an EBM client. Parameters: ProcessId - The process id of the registered client. Requirements: This routi
VivienneVMM/ept_breakpoint_manager.cpp:1380
↓ 1 callers
Function
EbmpCalculateLogMaxIndex
VivienneVMM/ept_breakpoint_manager.cpp:3418
↓ 1 callers
Function
EbmpCreateEptBreakpoint
++ Description: Creates an ept breakpoint object for the specified breakpoint parameters. Parameters: ProcessId - The target process of th
VivienneVMM/ept_breakpoint_manager.cpp:4130
↓ 1 callers
Function
EbmpCreateEptBreakpointNonRootEntry
++ Description: Creates an ept breakpoint non-root entry for the specified ept breakpoint object and inserts it into the EBM client context
VivienneVMM/ept_breakpoint_manager.cpp:4248
↓ 1 callers
Function
EbmpCreateLockedPageEntry
++ Description: Creates a locked page entry for the specified virtual address or returns an existing entry. Parameters: ProcessId - Th
VivienneVMM/ept_breakpoint_manager.cpp:3853
↓ 1 callers
Function
EbmpCreateLogContext
++ Description: Creates a log context bookkeeping object for the specified ept breakpoint parameters. Parameters: ProcessId - The targ
VivienneVMM/ept_breakpoint_manager.cpp:3517
↓ 1 callers
Function
EbmpPrintProcessorStatistics
VivienneVMM/ept_breakpoint_manager.cpp:3167
↓ 1 callers
Function
EbmpReleaseClientContext
++ Description: Releases the resources of an EBM client context. Parameters: pClientContext - Pointer to the EBM client context whose reso
VivienneVMM/ept_breakpoint_manager.cpp:3251
↓ 1 callers
Function
EbmpUninstallEptBreakpointsByProcessId
VivienneVMM/ept_breakpoint_manager.cpp:4527
↓ 1 callers
Function
EbmpVerifyEptBreakpointAddressSpanInLockedPage
++ Description: Search the specified locked page for conflicting ept breakpoints. Parameters: pLockedPageEntry - The locked page entry to
VivienneVMM/ept_breakpoint_manager.cpp:4407
↓ 1 callers
Function
EbmxHandleEptViolation
++ Description: Ept violation VM exit handler. Parameters: pGuestContext - Pointer to the guest context. Return Value: Returns TRUE
VivienneVMM/ept_breakpoint_manager.cpp:2767
↓ 1 callers
Function
EbmxHandleMonitorTrapFlag
++ Description: Monitor trap flag VM exit handler. Parameters: pGuestContext - Pointer to the guest context. --*/
VivienneVMM/ept_breakpoint_manager.cpp:2891
↓ 1 callers
Function
EbmxInstallEptBreakpoint
++ Description: Install an ept breakpoint on the current processor in vmx root mode. Parameters: pEptData - Pointer to the ept data for th
VivienneVMM/ept_breakpoint_manager.cpp:2382
↓ 1 callers
Function
EbmxUninstallAllEptBreakpoints
++ Description: Uninstall all ept breakpoints on the current processor in vmx root mode. Parameters: pEptData - Pointer to the ept data fo
VivienneVMM/ept_breakpoint_manager.cpp:2673
↓ 1 callers
Function
EbmxUninstallEptBreakpoint
++ Description: Uninstall an ept breakpoint on the current processor in vmx root mode. Parameters: pEptData - Pointer to the ept data for
VivienneVMM/ept_breakpoint_manager.cpp:2535
↓ 1 callers
Function
EbmxUninstallEptBreakpointsByProcessId
++ Description: Uninstall all ept breakpoints by target process id on the current processor in vmx root mode. Parameters: pEptData - P
VivienneVMM/ept_breakpoint_manager.cpp:2599
↓ 1 callers
Function
EbmxpCreateEptBreakpointRootEntry
++ Description: Creates an ept breakpoint root entry for the specified ept breakpoint object, updates the access bits of the target physical
VivienneVMM/ept_breakpoint_manager.cpp:5082
↓ 1 callers
Function
EbmxpCreateHookedPageEntry
++ Description: Creates a hooked page entry for the specified guest physical page or returns an existing entry. Parameters: pProcessor
VivienneVMM/ept_breakpoint_manager.cpp:4964
↓ 1 callers
Function
EbmxpInsertEptRestorationEntry
VivienneVMM/ept_breakpoint_manager.cpp:5414
↓ 1 callers
Function
EbmxpLogEptBreakpointHit
VivienneVMM/ept_breakpoint_manager.cpp:5614
↓ 1 callers
Function
EbmxpValidateEptBreakpoint
VivienneVMM/ept_breakpoint_manager.cpp:4818
↓ 1 callers
Function
EbmxpVerifyEptBreakpointAddressSpanInHookedPage
++ Description: Search the specified hooked page for conflicting ept breakpoints. Parameters: pHookedPageEntry - The hooked page entry to
VivienneVMM/ept_breakpoint_manager.cpp:5357
↓ 1 callers
Function
EbpPrintEptBreakpointElements
++ Description: Print a range of elements from the specified ept breakpoint log. Parameters: hLog - Log handle for 'pLog'. pLog - The
VivienneCL/ept_breakpoint.cpp:917
↓ 1 callers
Function
EbpPrintEptBreakpointInformation
VivienneCL/ept_breakpoint.cpp:699
↓ 1 callers
Function
EbppPrintLogElementsBasic
VivienneCL/ept_breakpoint.cpp:764
↓ 1 callers
Function
EbppPrintLogElementsGeneralRegisterContext
VivienneCL/ept_breakpoint.cpp:801
↓ 1 callers
Function
EbppPrintLogElementsKeyedRegisterContext
VivienneCL/ept_breakpoint.cpp:849
↓ 1 callers
Function
EbppRegisterToString
VivienneCL/ept_breakpoint.cpp:615
↓ 1 callers
Function
EptGetEptPointer
Returns an EPT pointer from ept_data
VivienneVMM/HyperPlatform/HyperPlatform/ept.cpp:192
↓ 1 callers
Function
EptHandleEptViolation
Deal with EPT violation VM-exit.
VivienneVMM/HyperPlatform/HyperPlatform/ept.cpp:639
↓ 1 callers
Function
EptInitializeMtrrEntries
Reads and stores all MTRRs to set a correct memory type for EPT
VivienneVMM/HyperPlatform/HyperPlatform/ept.cpp:197
↓ 1 callers
Function
EptIsEptAvailable
Checks if the system supports EPT technology sufficient enough
VivienneVMM/HyperPlatform/HyperPlatform/ept.cpp:167
↓ 1 callers
Function
EptTermination
Frees all EPT stuff
VivienneVMM/HyperPlatform/HyperPlatform/ept.cpp:754
↓ 1 callers
Function
EptpIsDeviceMemory
Returns if the physical_address is device memory (which could not have a corresponding PFN entry)
VivienneVMM/HyperPlatform/HyperPlatform/ept.cpp:679
↓ 1 callers
Function
ExecuteCecmAbsoluteAddress
ExecuteCecmAbsoluteAddress Whenever Context.WriteTarget is written to, Context.ReadTarget is read by the CECM callback.
VivienneTests/test_cecm.cpp:212
↓ 1 callers
Function
ExecuteCecmIndirectAddress
ExecuteCecmIndirectAddress This test captures unique double values from an SSE instruction.
VivienneTests/test_cecm.cpp:654
↓ 1 callers
Function
ExecuteCecmInvalidAddress
ExecuteCecmInvalidAddress This test issues a CECM request for an invalid address.
VivienneTests/test_cecm.cpp:1484
↓ 1 callers
Function
ExecuteCecmRequestForTrapPage
ExecuteCecmRequestForTrapPage This test issues a CECM request for an effective address which has been reserved and committed but not accessed. This
VivienneTests/test_antidebug_cecm_trap_page.cpp:210
↓ 1 callers
Function
ExecuteCecmResultsOverflow
ExecuteCecmResultsOverflow This test uses an effective address which yields a number of unique results larger than the provided values buffer can sup
VivienneTests/test_cecm.cpp:1079
↓ 1 callers
Function
ExecuteTarget
ExecuteTarget
VivienneTests/test_set_clear.cpp:31
↓ 1 callers
Function
ExecuteTarget
ExecuteTarget
VivienneTests/test_duplicate_breakpoints.cpp:30
↓ 1 callers
Function
ExecutionTargetAddress
ExecutionTargetAddress NOTE This test will fail if this function is inlined.
VivienneTests/test_antidebug_cecm_trap_page.cpp:50
↓ 1 callers
Function
ExecutionTargetAddress
ExecutionTargetAddress NOTE This test will fail if this function is inlined.
VivienneTests/test_antidebug_cecm_spanning_page.cpp:57
↓ 1 callers
Function
ExerciseBreakpoints
ExerciseBreakpoints
VivienneTests/test_set_clear.cpp:42
↓ 1 callers
Function
FcdDriverEntry
============================================================================= Meta Interface =========================================================
VivienneVMM/debug_register_facade.cpp:98
↓ 1 callers
Function
FcdVmxDriverEntry
FcdVmxDriverEntry Initialize the fake debug registers using the current state of the guest's debug registers. We must perform this initialization af
VivienneVMM/debug_register_facade.cpp:178
↓ 1 callers
Function
FcdVmxDriverUnload
FcdVmxDriverUnload Copy the state of the fake debug registers to the guest's actual debug registers. We must perform this termination as part of VM
VivienneVMM/debug_register_facade.cpp:230
↓ 1 callers
Function
FcdVmxLogMovDrEvent
VivienneVMM/debug_register_facade.cpp:284
↓ 1 callers
Function
FcdVmxProcessMovDrEvent
FcdVmxProcessMovDrEvent NOTE Executing a software breakpoint in this function will usually hard-freeze the machine.
VivienneVMM/debug_register_facade.cpp:338
↓ 1 callers
Function
FcdiLogStatistics
============================================================================= Private Interface ======================================================
VivienneVMM/debug_register_facade.cpp:386
↓ 1 callers
Function
GeneratePseudoRandomGeneralPurposeRegisterContext
VivienneTests/test_ept_breakpoint_manager.cpp:580
↓ 1 callers
Function
GenerateRandomValue
GenerateRandomValue
VivienneTests/test_util.cpp:633
↓ 1 callers
Function
GlobalObjectInitialization
Calls all constructors and register all destructor
VivienneVMM/HyperPlatform/HyperPlatform/global_object.cpp:75
↓ 1 callers
Function
HbmCleanupBreakpoints
HbmCleanupBreakpoints Uninstall all BPM-managed breakpoints from all processors.
VivienneVMM/hardware_breakpoint_manager.cpp:728
↓ 1 callers
Function
HbmDriverEntry
============================================================================= Meta Interface =========================================================
VivienneVMM/hardware_breakpoint_manager.cpp:260
↓ 1 callers
Function
HbmQuerySystemDebugState
HbmQuerySystemDebugState Query information about all BPM-managed breakpoints.
VivienneVMM/hardware_breakpoint_manager.cpp:394
↓ 1 callers
Function
HbmpLogStatistics
HbmpLogStatistics Print the statistics for this VM session.
VivienneVMM/hardware_breakpoint_manager.cpp:1185
↓ 1 callers
Function
HbmxProcessDebugExceptionEvent
HbmxProcessDebugExceptionEvent Interpret the guest's debug registers and VM exit qualification to determine if a BPM-managed breakpoint caused this e
VivienneVMM/hardware_breakpoint_manager.cpp:958
↓ 1 callers
Function
HbmxSetHardwareBreakpoint
HbmxSetHardwareBreakpoint Modify the target debug address register and its corresponding DR7 bits in the guest's context to (un)install a hardware br
VivienneVMM/hardware_breakpoint_manager.cpp:773
↓ 1 callers
Function
HbmxpConsumeDebugException
HbmxpConsumeDebugException Set the resume flag in the guest flags VMCS field so that the guest can successfully re-execute the original instruction o
VivienneVMM/hardware_breakpoint_manager.cpp:1623
↓ 1 callers
Function
HbmxpInterpretBreakpointCondition
HbmxpInterpretBreakpointCondition Generate a logical representation of a breakpoint condition which caused a debug exception. Params Index: Debug ad
VivienneVMM/hardware_breakpoint_manager.cpp:1416
↓ 1 callers
Function
HbmxpInvokeBreakpointCallback
HbmxpInvokeBreakpointCallback
VivienneVMM/hardware_breakpoint_manager.cpp:1527
↓ 1 callers
Function
HbmxpIsValidConditionForBreakpoint
HbmxpIsValidConditionForBreakpoint NOTE This function assumes that the condition values are valid. NOTE We do not compare the L0-L3 or G0-G3 fields
VivienneVMM/hardware_breakpoint_manager.cpp:1506
↓ 1 callers
Function
HotplugCallbackInitialization
Registers power callback
VivienneVMM/HyperPlatform/HyperPlatform/hotplug_callback.cpp:55
↓ 1 callers
Function
HwBpSizeToBytes
common/arch_x64.h:336
↓ 1 callers
Method
Initialize
Constructor; call this only once before any other code in this module runs @param output_routine A function pointer for printing out results @param
VivienneVMM/HyperPlatform/HyperPlatform/perf_counter.h:142
↓ 1 callers
Function
InitializeAbsoluteAddressContext
InitializeAbsoluteAddressContext
VivienneTests/test_cecm.cpp:136
↓ 1 callers
Function
InitializeFpuStateContext
InitializeFpuStateContext
VivienneTests/test_cecm_fpu_state.cpp:99
↓ 1 callers
Function
InitializeIndirectAddressContext
InitializeIndirectAddressContext
VivienneTests/test_cecm.cpp:569
↓ 1 callers
Function
InitializeInvalidAddressContext
InitializeInvalidAddressContext
VivienneTests/test_cecm.cpp:1413
↓ 1 callers
Function
InitializeResultsOverflowContext
InitializeResultsOverflowContext
VivienneTests/test_cecm.cpp:1007
↓ 1 callers
Function
InitializeRngSeed
InitializeRngSeed
VivienneTests/test_util.cpp:38
↓ 1 callers
Function
InitializeSpanningPageContext
InitializeSpanningPageContext
VivienneTests/test_antidebug_cecm_spanning_page.cpp:105
↓ 1 callers
Function
InitializeStressTestContext
InitializeStressTestContext
VivienneTests/test_breakpoint_stress.cpp:178
↓ 1 callers
Function
InitializeTrapPageContext
InitializeTrapPageContext
VivienneTests/test_antidebug_cecm_trap_page.cpp:98
↓ 1 callers
Function
InvalidAddressExecutionTargetAddress
InvalidAddressExecutionTargetAddress NOTE This test will fail if this function is inlined.
VivienneTests/test_cecm.cpp:1360
↓ 1 callers
Function
IsKernelDebuggerAttached
VivienneCL/debug.cpp:16
↓ 1 callers
Function
IvValidateMemoryDescription
VivienneVMM/ioctl_validation.cpp:116
↓ 1 callers
Function
IviValidateIndirectAddress
VivienneVMM/ioctl_validation.cpp:231
↓ 1 callers
Function
IviValidateMemoryDataType
============================================================================= Private Interface ======================================================
VivienneVMM/ioctl_validation.cpp:177
↓ 1 callers
Function
IviValidateScaleFactor
VivienneVMM/ioctl_validation.cpp:205
↓ 1 callers
Function
LogInitialization
VivienneVMM/HyperPlatform/HyperPlatform/log.cpp:169
↓ 1 callers
Function
LogRegisterReinitialization
Registers LogpReinitializationRoutine() for re-initialization.
VivienneVMM/HyperPlatform/HyperPlatform/log.cpp:325
← previous
next →
201–300 of 557, ranked by callers