VirtualBox

Changeset 72617 in vbox for trunk


Ignore:
Timestamp:
Jun 19, 2018 3:38:27 PM (7 years ago)
Author:
vboxsync
Message:

VMM: LogRel some ring-0 preemption details in ring-3.

Location:
trunk/src/VBox/VMM
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/VMMR0.cpp

    r72546 r72617  
    483483                            {
    484484                                GVMMR0DoneInitVM(pGVM);
     485
     486                                /*
     487                                 * Collect a bit of info for the VM release log.
     488                                 */
     489                                pVM->vmm.s.fIsPreemptPendingApiTrusty = RTThreadPreemptIsPendingTrusty();
     490                                pVM->vmm.s.fIsPreemptPossible         = RTThreadPreemptIsPossible();;
     491
    485492                                VMM_CHECK_SMAP_CHECK2(pVM, RT_NOTHING);
    486493                                return rc;
  • trunk/src/VBox/VMM/VMMR3/VMM.cpp

    r72426 r72617  
    606606        LogRel(("VMM: Thread-context hooks unavailable\n"));
    607607
     608    /* Log RTThreadPreemptIsPendingTrusty() and RTThreadPreemptIsPossible() results. */
     609    if (pVM->vmm.s.fIsPreemptPendingApiTrusty)
     610        LogRel(("VMM: RTThreadPreemptIsPending() can be trusted\n"));
     611    else
     612        LogRel(("VMM: Warning! RTThreadPreemptIsPending() cannot be trusted!  Need to update kernel info?\n"));
     613    if (pVM->vmm.s.fIsPreemptPossible)
     614        LogRel(("VMM: Kernel preemption is possible.\n"));
     615    else
     616        LogRel(("VMM: Kernel preemption is not possible it seems.\n"));
     617
    608618    /*
    609619     * Send all EMTs to ring-0 to get their logger initialized.
  • trunk/src/VBox/VMM/include/VMMInternal.h

    r71222 r72617  
    332332
    333333    /** @} */
    334     bool                        afAlignment2[HC_ARCH_BITS == 32 ? 7 : 3]; /**< Alignment padding. */
     334
     335    /** RTThreadPreemptIsPendingTrusty() result, set by vmmR0InitVM() for
     336     * release logging purposes. */
     337    bool                        fIsPreemptPendingApiTrusty : 1;
     338    /** The RTThreadPreemptIsPossible() result,  set by vmmR0InitVM() for
     339     * release logging purposes.  */
     340    bool                        fIsPreemptPossible : 1;
     341
     342    bool                        afAlignment2[HC_ARCH_BITS == 32 ? 6 : 2]; /**< Alignment padding. */
    335343
    336344    /** Buffer for storing the standard assertion message for a ring-0 assertion.
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette