~ubuntu-branches/ubuntu/raring/virtualbox-ose/raring

« back to all changes in this revision

Viewing changes to src/VBox/VMM/DBGFInfo.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Felix Geyer
  • Date: 2009-12-18 16:44:29 UTC
  • mfrom: (0.3.3 upstream) (0.4.6 squeeze)
  • Revision ID: james.westby@ubuntu.com-20091218164429-jd34ccexpv5na11a
Tags: 3.1.2-dfsg-1ubuntu1
* Merge from Debian unstable (LP: #498219), remaining changes:
  - Disable update action
    - debian/patches/u01-disable-update-action.dpatch
  - VirtualBox should go in Accessories, not in System tools (LP: #288590)
    - debian/virtualbox-ose-qt.files/virtualbox-ose.desktop
  - Add Apport hook
    - debian/virtualbox-ose.files/source_virtualbox-ose.py
    - debian/virtualbox-ose.install
  - Add Launchpad integration
    - debian/control
    - debian/lpi-bug.xpm
    - debian/patches/u02-lp-integration.dpatch
* Fixes the following bugs:
  - Kernel module fails to build with Linux >= 2.6.32 (LP: #474625)
  - X.Org drivers need to be rebuilt against X-Server 1.7 (LP: #495935)
  - The *-source packages try to build the kernel modules even though the
    kernel headers aren't available (LP: #473334)
* Replace *-source packages with transitional packages for *-dkms.
* Adapt u01-disable-update-action.dpatch and u02-lp-integration.dpatch for
  new upstream version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
740
740
        rc = RTCritSectLeave(&pVM->dbgf.s.InfoCritSect);
741
741
        AssertRC(rc);
742
742
        rc = VINF_SUCCESS;
743
 
        PVMREQ pReq = NULL;
744
743
        switch (Info.enmType)
745
744
        {
746
745
            case DBGFINFOTYPE_DEV:
747
746
                if (Info.fFlags & DBGFINFO_FLAGS_RUN_ON_EMT)
748
 
                    rc = VMR3ReqCallVoid(pVM, VMCPUID_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)Info.u.Dev.pfnHandler, 3, Info.u.Dev.pDevIns, pHlp, pszArgs);
 
747
                    rc = VMR3ReqCallVoidWait(pVM, VMCPUID_ANY, (PFNRT)Info.u.Dev.pfnHandler, 3, Info.u.Dev.pDevIns, pHlp, pszArgs);
749
748
                else
750
749
                    Info.u.Dev.pfnHandler(Info.u.Dev.pDevIns, pHlp, pszArgs);
751
750
                break;
752
751
 
753
752
            case DBGFINFOTYPE_DRV:
754
753
                if (Info.fFlags & DBGFINFO_FLAGS_RUN_ON_EMT)
755
 
                    rc = VMR3ReqCallVoid(pVM, VMCPUID_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)Info.u.Drv.pfnHandler, 3, Info.u.Drv.pDrvIns, pHlp, pszArgs);
 
754
                    rc = VMR3ReqCallVoidWait(pVM, VMCPUID_ANY, (PFNRT)Info.u.Drv.pfnHandler, 3, Info.u.Drv.pDrvIns, pHlp, pszArgs);
756
755
                else
757
756
                    Info.u.Drv.pfnHandler(Info.u.Drv.pDrvIns, pHlp, pszArgs);
758
757
                break;
759
758
 
760
759
            case DBGFINFOTYPE_INT:
761
760
                if (Info.fFlags & DBGFINFO_FLAGS_RUN_ON_EMT)
762
 
                    rc = VMR3ReqCallVoid(pVM, VMCPUID_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)Info.u.Int.pfnHandler, 3, pVM, pHlp, pszArgs);
 
761
                    rc = VMR3ReqCallVoidWait(pVM, VMCPUID_ANY, (PFNRT)Info.u.Int.pfnHandler, 3, pVM, pHlp, pszArgs);
763
762
                else
764
763
                    Info.u.Int.pfnHandler(pVM, pHlp, pszArgs);
765
764
                break;
766
765
 
767
766
            case DBGFINFOTYPE_EXT:
768
767
                if (Info.fFlags & DBGFINFO_FLAGS_RUN_ON_EMT)
769
 
                    rc = VMR3ReqCallVoid(pVM, VMCPUID_ANY, &pReq, RT_INDEFINITE_WAIT, (PFNRT)Info.u.Ext.pfnHandler, 3, Info.u.Ext.pvUser, pHlp, pszArgs);
 
768
                    rc = VMR3ReqCallVoidWait(pVM, VMCPUID_ANY, (PFNRT)Info.u.Ext.pfnHandler, 3, Info.u.Ext.pvUser, pHlp, pszArgs);
770
769
                else
771
770
                    Info.u.Ext.pfnHandler(Info.u.Ext.pvUser, pHlp, pszArgs);
772
771
                break;
776
775
                rc = VERR_INTERNAL_ERROR;
777
776
                break;
778
777
        }
779
 
        VMR3ReqFree(pReq);
780
778
    }
781
779
    else
782
780
    {
882
880
            const char *psz = strstr(pszArgs, pInfo->szName);
883
881
            if (    psz
884
882
                &&  (   psz == pszArgs
885
 
                     || isspace(psz[-1]))
 
883
                     || RT_C_IS_SPACE(psz[-1]))
886
884
                &&  (   !psz[pInfo->cchName]
887
 
                     || isspace(psz[pInfo->cchName])))
 
885
                     || RT_C_IS_SPACE(psz[pInfo->cchName])))
888
886
                pHlp->pfnPrintf(pHlp, "%-16s  %s\n",
889
887
                                pInfo->szName, pInfo->pszDesc);
890
888
        }