Logo Search packages:      
Sourcecode: virtualbox-ose version File versions  Download package

VMMDECL ( int   ) 

Turn on code scanning

Returns:
VBox status code. (trap handled or not)
Parameters:
pVM The VM to operate on.
Turn off code scanning

Returns:
VBox status code. (trap handled or not)
Parameters:
pVM The VM to operate on.
Check if this page needs to be analysed by CSAM

Returns:
0 - disabled, 1 - enabled
Parameters:
pVM The VM to operate on.
pvFault Fault address
Adds branch pair to the lookup cache of the particular branch instruction

Returns:
VBox status
Parameters:
pVM The VM to operate on.
pJumpTableGC Pointer to branch instruction lookup cache
pBranchTarget Original branch target
pRelBranchPatch Relative duplicated function address
Checks if the int 3 was caused by a patched instruction

Returns:
VBox status
Parameters:
pVM The VM handle.
pCtxCore The relevant core context.
Registers the global string format types.

This should be called at module load time or in some other manner that ensure that it's called exactly one time.

Returns:
IPRT status code on RTStrFormatTypeRegister failure.
Register a physical page access handler.

Returns:
VBox status code.
Parameters:
pVM VM Handle.
GCPhys Start physical address.
Mark a page as scanned/not scanned

Note:
: we always mark it as scanned, even if we haven't completely done so
Returns:
VBox status code.
Parameters:
pVM The VM to operate on.
pPage GC page address (not necessarily aligned)
fScanned Mark as scanned or not scanned
Turn on code scanning

Returns:
VBox status code. (trap handled or not)
Parameters:
pVM The VM to operate on.
Turn off code scanning

Returns:
VBox status code. (trap handled or not)
Parameters:
pVM The VM to operate on.
Check if this page needs to be analysed by CSAM

Returns:
0 - disabled, 1 - enabled
Parameters:
pVM The VM to operate on.
pvFault Fault address

Definition at line 2458 of file PGMAll.cpp.

{
#if !defined(IN_R0) || defined(LOG_ENABLED)
    int         rc = VINF_SUCCESS;
    unsigned    i;
    for (i = 0; RT_SUCCESS(rc) && i < RT_ELEMENTS(g_aPgmFormatTypes); i++)
    {
        rc = RTStrFormatTypeRegister(g_aPgmFormatTypes[i].szType, g_aPgmFormatTypes[i].pfnHandler, NULL);
# ifdef IN_RING0
        if (rc == VERR_ALREADY_EXISTS)
        {
            /* in case of cleanup failure in ring-0 */
            RTStrFormatTypeDeregister(g_aPgmFormatTypes[i].szType);
            rc = RTStrFormatTypeRegister(g_aPgmFormatTypes[i].szType, g_aPgmFormatTypes[i].pfnHandler, NULL);
        }
# endif
    }
    if (RT_FAILURE(rc))
        while (i-- > 0)
            RTStrFormatTypeDeregister(g_aPgmFormatTypes[i].szType);

    return rc;
#else
    return VINF_SUCCESS;
#endif
}


Generated by  Doxygen 1.6.0   Back to index