- Timestamp:
- Jun 18, 2007 3:31:09 PM (18 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/EM.cpp
r2981 r3145 1321 1321 * (The unhandled cases end up with rc == VINF_EM_RESCHEDULE_REM.) 1322 1322 */ 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)) 1331 1324 { 1332 1325 pCtx->eip += Cpu.opsize; … … 1342 1335 } 1343 1336 AssertMsg(rc != VINF_TRPM_XCPT_DISPATCHED, ("Handle VINF_TRPM_XCPT_DISPATCHED\n")); 1337 1344 1338 if (VBOX_FAILURE(rc)) 1345 1339 { … … 1349 1343 AssertMsg(rc == VINF_EM_RESCHEDULE_REM, ("rc=%Vrc\n", rc)); 1350 1344 } 1351 emulate_instr:1352 1345 STAM_PROFILE_STOP(&pVM->em.s.StatIOEmu, a); 1353 1346 return emR3RawExecuteInstruction(pVM, "IO: "); -
trunk/src/VBox/VMM/VMMAll/EMAll.cpp
r2981 r3145 273 273 #ifdef IN_GC 274 274 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)) 277 276 pCtxCore->eip += cbOp; 278 277 return rc; -
trunk/src/VBox/VMM/VMMAll/IOMAll.cpp
r2981 r3145 720 720 * 721 721 * @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. 723 723 * @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. 725 726 * @retval VINF_IOM_HC_IOPORT_READ Defer the read to ring-3. (R0/GC only) 726 727 * … … 862 863 * 863 864 * @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. 865 866 * @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. 867 869 * @retval VINF_IOM_HC_IOPORT_READ Defer the read to ring-3. (R0/GC only) 868 870 * … … 987 989 * 988 990 * @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. 990 992 * @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. 992 995 * @retval VINF_IOM_HC_IOPORT_WRITE Defer the write to ring-3. (R0/GC only) 993 996 * … … 1107 1110 * 1108 1111 * @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. 1110 1113 * @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. 1112 1116 * @retval VINF_IOM_HC_IOPORT_WRITE Defer the write to ring-3. (R0/GC only) 1113 1117 * … … 1327 1331 * 1328 1332 * @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. 1330 1334 * @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. 1332 1337 * @retval VINF_IOM_HC_IOPORT_READ Defer the read to ring-3. (R0/GC only) 1333 1338 * @retval VINF_EM_RAW_GUEST_TRAP The exception was left pending. (TRPMRaiseXcptErr) … … 1364 1369 uint32_t u32Data = ~0U; 1365 1370 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)) 1368 1372 { 1369 1373 /* … … 1386 1390 * 1387 1391 * @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. 1389 1393 * @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. 1391 1396 * @retval VINF_IOM_HC_IOPORT_WRITE Defer the write to ring-3. (R0/GC only) 1392 1397 * @retval VINF_EM_RAW_GUEST_TRAP The exception was left pending. (TRPMRaiseXcptErr) -
trunk/src/VBox/VMM/VMMAll/IOMAllMMIO.cpp
r2981 r3145 1592 1592 * 1593 1593 * @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. 1595 1595 * @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. 1597 1598 * @retval VINF_IOM_HC_IOPORT_READ Defer the read to ring-3. (R0/GC only) 1598 1599 * @retval VINF_EM_RAW_GUEST_TRAP The exception was left pending. (TRPMRaiseXcptErr) … … 1677 1678 uint32_t u32Value; 1678 1679 rc = IOMIOPortRead(pVM, uPort, &u32Value, cbTransfer); 1679 if ( rc == VINF_IOM_HC_IOPORT_READ || VBOX_FAILURE(rc))1680 if (!IOM_SUCCESS(rc)) 1680 1681 break; 1681 1682 int rc2 = iomRamWrite(pVM, GCPtrDst, &u32Value, cbTransfer); … … 1703 1704 * 1704 1705 * @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. 1706 1707 * @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. 1708 1710 * @retval VINF_IOM_HC_IOPORT_READ Defer the read to ring-3. (R0/GC only) 1709 1711 * @retval VINF_EM_RAW_GUEST_TRAP The exception was left pending. (TRPMRaiseXcptErr) … … 1746 1748 * 1747 1749 * @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. 1749 1751 * @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. 1751 1754 * @retval VINF_IOM_HC_IOPORT_WRITE Defer the write to ring-3. (R0/GC only) 1752 1755 * @retval VINF_EM_RAW_GUEST_TRAP The exception was left pending. (TRPMRaiseXcptErr) … … 1834 1837 break; 1835 1838 rc = IOMIOPortWrite(pVM, uPort, u32Value, cbTransfer); 1836 if ( rc == VINF_IOM_HC_IOPORT_WRITE || VBOX_FAILURE(rc))1839 if (!IOM_SUCCESS(rc)) 1837 1840 break; 1838 1841 GCPtrSrc = (RTGCPTR)((RTUINTPTR)GCPtrSrc + cbTransfer); … … 1859 1862 * 1860 1863 * @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. 1862 1865 * @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. 1864 1868 * @retval VINF_IOM_HC_IOPORT_WRITE Defer the write to ring-3. (R0/GC only) 1865 1869 * @retval VINF_EM_RAW_GUEST_TRAP The exception was left pending. (TRPMRaiseXcptErr) -
trunk/src/VBox/VMM/VMMGC/IOMGC.cpp
r2981 r3145 54 54 * 55 55 * @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. 57 57 * @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. 59 60 * @retval VINF_IOM_HC_IOPORT_READ Defer the read to ring-3. (R0/GC only) 60 61 * @retval VINF_EM_RAW_GUEST_TRAP The exception was left pending. (TRPMRaiseXcptErr)
Note:
See TracChangeset
for help on using the changeset viewer.