VirtualBox

Changeset 80008 in vbox


Ignore:
Timestamp:
Jul 26, 2019 2:05:14 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
132443
Message:

VMM: Kicking out raw-mode (work in progress). bugref:9517

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-client/MachineDebuggerImpl.cpp

    r76553 r80008  
    3131
    3232#include <VBox/vmm/em.h>
    33 #include <VBox/vmm/patm.h>
    34 #include <VBox/vmm/csam.h>
    3533#include <VBox/vmm/uvm.h>
    3634#include <VBox/vmm/tm.h>
     
    299297HRESULT MachineDebugger::getPATMEnabled(BOOL *aPATMEnabled)
    300298{
    301 #ifdef VBOX_WITH_RAW_MODE
    302     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
    303 
    304     Console::SafeVMPtrQuiet ptrVM(mParent);
    305     if (ptrVM.isOk())
    306         *aPATMEnabled = PATMR3IsEnabled(ptrVM.rawUVM());
    307     else
    308 #endif
    309         *aPATMEnabled = false;
    310 
     299    *aPATMEnabled = false;
    311300    return S_OK;
    312301}
     
    322311    LogFlowThisFunc(("enable=%d\n", aPATMEnabled));
    323312
    324 #ifdef VBOX_WITH_RAW_MODE
    325     AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
    326 
    327     if (i_queueSettings())
    328     {
    329         // queue the request
    330         mPatmEnabledQueued = aPATMEnabled;
    331         return S_OK;
    332     }
    333 
    334     Console::SafeVMPtr ptrVM(mParent);
    335     if (FAILED(ptrVM.rc()))
    336         return ptrVM.rc();
    337 
    338     int vrc = PATMR3AllowPatching(ptrVM.rawUVM(), RT_BOOL(aPATMEnabled));
    339     if (RT_FAILURE(vrc))
    340         return setErrorBoth(VBOX_E_VM_ERROR, vrc, tr("PATMR3AllowPatching returned %Rrc"), vrc);
    341 
    342 #else  /* !VBOX_WITH_RAW_MODE */
    343313    if (aPATMEnabled)
    344314        return setErrorBoth(VBOX_E_VM_ERROR, VERR_RAW_MODE_NOT_SUPPORTED, tr("PATM not present"), VERR_NOT_SUPPORTED);
    345 #endif /* !VBOX_WITH_RAW_MODE */
    346315    return S_OK;
    347316}
     
    355324HRESULT MachineDebugger::getCSAMEnabled(BOOL *aCSAMEnabled)
    356325{
    357 #ifdef VBOX_WITH_RAW_MODE
    358     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
    359 
    360     Console::SafeVMPtrQuiet ptrVM(mParent);
    361 
    362     if (ptrVM.isOk())
    363         *aCSAMEnabled = CSAMR3IsEnabled(ptrVM.rawUVM());
    364     else
    365 #endif /* VBOX_WITH_RAW_MODE */
    366         *aCSAMEnabled = false;
    367 
     326    *aCSAMEnabled = false;
    368327    return S_OK;
    369328}
     
    379338    LogFlowThisFunc(("enable=%d\n", aCSAMEnabled));
    380339
    381 #ifdef VBOX_WITH_RAW_MODE
    382     AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
    383 
    384     if (i_queueSettings())
    385     {
    386         // queue the request
    387         mCsamEnabledQueued = aCSAMEnabled;
    388         return S_OK;
    389     }
    390 
    391     Console::SafeVMPtr ptrVM(mParent);
    392     if (FAILED(ptrVM.rc()))
    393         return ptrVM.rc();
    394 
    395     int vrc = CSAMR3SetScanningEnabled(ptrVM.rawUVM(), aCSAMEnabled != FALSE);
    396     if (RT_FAILURE(vrc))
    397         return setErrorBoth(VBOX_E_VM_ERROR, vrc, tr("CSAMR3SetScanningEnabled returned %Rrc"), vrc);
    398 
    399 #else  /* !VBOX_WITH_RAW_MODE */
    400340    if (aCSAMEnabled)
    401341        return setErrorBoth(VBOX_E_VM_ERROR, VERR_RAW_MODE_NOT_SUPPORTED, tr("CASM not present"));
    402 #endif /* !VBOX_WITH_RAW_MODE */
    403342    return S_OK;
    404343}
Note: See TracChangeset for help on using the changeset viewer.

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