VirtualBox

Changeset 3145 in vbox for trunk/src


Ignore:
Timestamp:
Jun 18, 2007 3:31:09 PM (18 years ago)
Author:
vboxsync
Message:

Fixed incorrect IOM return checks.

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

Legend:

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

    r2981 r3145  
    13211321         * (The unhandled cases end up with rc == VINF_EM_RESCHEDULE_REM.)
    13221322         */
    1323         if (rc == VINF_EM_RESCHEDULE_REM)
    1324         {
    1325             /* emulate this instruction only */
    1326             goto emulate_instr;
    1327         }
    1328 
    1329         if (    rc == VINF_SUCCESS
    1330             ||  (rc >= VINF_EM_FIRST && rc <= VINF_EM_LAST))
     1323        if (IOM_SUCCESS(rc))
    13311324        {
    13321325            pCtx->eip += Cpu.opsize;
     
    13421335        }
    13431336        AssertMsg(rc != VINF_TRPM_XCPT_DISPATCHED, ("Handle VINF_TRPM_XCPT_DISPATCHED\n"));
     1337
    13441338        if (VBOX_FAILURE(rc))
    13451339        {
     
    13491343        AssertMsg(rc == VINF_EM_RESCHEDULE_REM, ("rc=%Vrc\n", rc));
    13501344    }
    1351 emulate_instr:
    13521345    STAM_PROFILE_STOP(&pVM->em.s.StatIOEmu, a);
    13531346    return emR3RawExecuteInstruction(pVM, "IO: ");
  • trunk/src/VBox/VMM/VMMAll/EMAll.cpp

    r2981 r3145  
    273273#ifdef IN_GC
    274274    int rc = IOMGCIOPortHandler(pVM, pCtxCore, pCpu);
    275     if (    rc == VINF_SUCCESS
    276         ||  (rc >= VINF_EM_FIRST && rc <= VINF_EM_LAST))
     275    if (IOM_SUCCESS(rc))
    277276        pCtxCore->eip += cbOp;
    278277    return rc;
  • trunk/src/VBox/VMM/VMMAll/IOMAll.cpp

    r2981 r3145  
    720720 *
    721721 * @returns Strict VBox status code. Informational status codes other than the one documented
    722  *          here are to be treated as internal failure.
     722 *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
    723723 * @retval  VINF_SUCCESS                Success.
    724  * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     724 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
     725 *                                      status code must be passed on to EM.
    725726 * @retval  VINF_IOM_HC_IOPORT_READ     Defer the read to ring-3. (R0/GC only)
    726727 *
     
    862863 *
    863864 * @returns Strict VBox status code. Informational status codes other than the one documented
    864  *          here are to be treated as internal failure.
     865 *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
    865866 * @retval  VINF_SUCCESS                Success.
    866  * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     867 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
     868 *                                      status code must be passed on to EM.
    867869 * @retval  VINF_IOM_HC_IOPORT_READ     Defer the read to ring-3. (R0/GC only)
    868870 *
     
    987989 *
    988990 * @returns Strict VBox status code. Informational status codes other than the one documented
    989  *          here are to be treated as internal failure.
     991 *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
    990992 * @retval  VINF_SUCCESS                Success.
    991  * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     993 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
     994 *                                      status code must be passed on to EM.
    992995 * @retval  VINF_IOM_HC_IOPORT_WRITE    Defer the write to ring-3. (R0/GC only)
    993996 *
     
    11071110 *
    11081111 * @returns Strict VBox status code. Informational status codes other than the one documented
    1109  *          here are to be treated as internal failure.
     1112 *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
    11101113 * @retval  VINF_SUCCESS                Success.
    1111  * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     1114 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
     1115 *                                      status code must be passed on to EM.
    11121116 * @retval  VINF_IOM_HC_IOPORT_WRITE    Defer the write to ring-3. (R0/GC only)
    11131117 *
     
    13271331 *
    13281332 * @returns Strict VBox status code. Informational status codes other than the one documented
    1329  *          here are to be treated as internal failure.
     1333 *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
    13301334 * @retval  VINF_SUCCESS                Success.
    1331  * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     1335 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
     1336 *                                      status code must be passed on to EM.
    13321337 * @retval  VINF_IOM_HC_IOPORT_READ     Defer the read to ring-3. (R0/GC only)
    13331338 * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
     
    13641369        uint32_t    u32Data = ~0U;
    13651370        rc = IOMIOPortRead(pVM, uPort, &u32Data, cbSize);
    1366         if (    rc == VINF_SUCCESS
    1367             ||  (rc >= VINF_EM_FIRST && rc <= VINF_EM_LAST))
     1371        if (IOM_SUCCESS(rc))
    13681372        {
    13691373            /*
     
    13861390 *
    13871391 * @returns Strict VBox status code. Informational status codes other than the one documented
    1388  *          here are to be treated as internal failure.
     1392 *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
    13891393 * @retval  VINF_SUCCESS                Success.
    1390  * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     1394 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
     1395 *                                      status code must be passed on to EM.
    13911396 * @retval  VINF_IOM_HC_IOPORT_WRITE    Defer the write to ring-3. (R0/GC only)
    13921397 * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
  • trunk/src/VBox/VMM/VMMAll/IOMAllMMIO.cpp

    r2981 r3145  
    15921592 *
    15931593 * @returns Strict VBox status code. Informational status codes other than the one documented
    1594  *          here are to be treated as internal failure.
     1594 *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
    15951595 * @retval  VINF_SUCCESS                Success.
    1596  * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     1596 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
     1597 *                                      status code must be passed on to EM.
    15971598 * @retval  VINF_IOM_HC_IOPORT_READ     Defer the read to ring-3. (R0/GC only)
    15981599 * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
     
    16771678        uint32_t u32Value;
    16781679        rc = IOMIOPortRead(pVM, uPort, &u32Value, cbTransfer);
    1679         if (rc == VINF_IOM_HC_IOPORT_READ || VBOX_FAILURE(rc))
     1680        if (!IOM_SUCCESS(rc))
    16801681            break;
    16811682        int rc2 = iomRamWrite(pVM, GCPtrDst, &u32Value, cbTransfer);
     
    17031704 *
    17041705 * @returns Strict VBox status code. Informational status codes other than the one documented
    1705  *          here are to be treated as internal failure.
     1706 *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
    17061707 * @retval  VINF_SUCCESS                Success.
    1707  * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     1708 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
     1709 *                                      status code must be passed on to EM.
    17081710 * @retval  VINF_IOM_HC_IOPORT_READ     Defer the read to ring-3. (R0/GC only)
    17091711 * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
     
    17461748 *
    17471749 * @returns Strict VBox status code. Informational status codes other than the one documented
    1748  *          here are to be treated as internal failure.
     1750 *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
    17491751 * @retval  VINF_SUCCESS                Success.
    1750  * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     1752 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
     1753 *                                      status code must be passed on to EM.
    17511754 * @retval  VINF_IOM_HC_IOPORT_WRITE    Defer the write to ring-3. (R0/GC only)
    17521755 * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
     
    18341837            break;
    18351838        rc = IOMIOPortWrite(pVM, uPort, u32Value, cbTransfer);
    1836         if (rc == VINF_IOM_HC_IOPORT_WRITE || VBOX_FAILURE(rc))
     1839        if (!IOM_SUCCESS(rc))
    18371840            break;
    18381841        GCPtrSrc = (RTGCPTR)((RTUINTPTR)GCPtrSrc + cbTransfer);
     
    18591862 *
    18601863 * @returns Strict VBox status code. Informational status codes other than the one documented
    1861  *          here are to be treated as internal failure.
     1864 *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
    18621865 * @retval  VINF_SUCCESS                Success.
    1863  * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     1866 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
     1867 *                                      status code must be passed on to EM.
    18641868 * @retval  VINF_IOM_HC_IOPORT_WRITE    Defer the write to ring-3. (R0/GC only)
    18651869 * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
  • trunk/src/VBox/VMM/VMMGC/IOMGC.cpp

    r2981 r3145  
    5454 *
    5555 * @returns Strict VBox status code. Informational status codes other than the one documented
    56  *          here are to be treated as internal failure.
     56 *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
    5757 * @retval  VINF_SUCCESS                Success.
    58  * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success but schedulinging information needs to be passed onto EM.
     58 * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
     59 *                                      status code must be passed on to EM.
    5960 * @retval  VINF_IOM_HC_IOPORT_READ     Defer the read to ring-3. (R0/GC only)
    6061 * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
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