VirtualBox

Changeset 56629 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Jun 24, 2015 11:26:52 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
101263
Message:

IEM: More internal error status codes (9).

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAll.cpp

    r56628 r56629  
    21502150
    21512151        default:
    2152             AssertFailedReturn(VERR_INTERNAL_ERROR_2);
     2152            AssertFailedReturn(VERR_IEM_IPE_4);
    21532153    }
    21542154    return rcStrict;
     
    21722172    *puRsp  = 0; /* make gcc happy */
    21732173
    2174     AssertReturn(pCtx->tr.Attr.n.u4Type == AMD64_SEL_TYPE_SYS_TSS_BUSY, VERR_INTERNAL_ERROR_2);
     2174    AssertReturn(pCtx->tr.Attr.n.u4Type == AMD64_SEL_TYPE_SYS_TSS_BUSY, VERR_IEM_IPE_5);
    21752175
    21762176    uint32_t off;
     
    22292229                            uint64_t    uCr2)
    22302230{
    2231     AssertReturn(pIemCpu->enmCpuMode == IEMMODE_16BIT, VERR_INTERNAL_ERROR_3);
     2231    AssertReturn(pIemCpu->enmCpuMode == IEMMODE_16BIT, VERR_IEM_IPE_6);
    22322232    NOREF(uErr); NOREF(uCr2);
    22332233
     
    62386238
    62396239        default:
    6240             AssertFailedReturn(VERR_INTERNAL_ERROR_5);
     6240            AssertFailedReturn(VERR_IEM_IPE_7);
    62416241    }
    62426242}
     
    68326832        && rcMap != VERR_PGM_PHYS_TLB_UNASSIGNED)
    68336833    {
    6834         AssertReturn(RT_FAILURE_NP(rcMap), VERR_INTERNAL_ERROR_3);
     6834        AssertReturn(RT_FAILURE_NP(rcMap), VERR_IEM_IPE_8);
    68356835        return rcMap;
    68366836    }
     
    69686968    {
    69696969        iMemMap = iemMemMapFindFree(pIemCpu);
    6970         AssertReturn(iMemMap < RT_ELEMENTS(pIemCpu->aMemMappings), VERR_INTERNAL_ERROR_3);
     6970        AssertReturn(iMemMap < RT_ELEMENTS(pIemCpu->aMemMappings), VERR_IEM_IPE_9);
    69716971    }
    69726972
     
    94429442                    case 1:  IEM_OPCODE_GET_NEXT_S8_SX_U16(&u16EffAddr); break;
    94439443                    case 2:  IEM_OPCODE_GET_NEXT_U16(&u16EffAddr);       break;
    9444                     default: AssertFailedReturn(VERR_INTERNAL_ERROR_2); /* (caller checked for these) */
     9444                    default: AssertFailedReturn(VERR_IEM_IPE_1); /* (caller checked for these) */
    94459445                }
    94469446
     
    95489548                    }
    95499549                    default:
    9550                         AssertFailedReturn(VERR_INTERNAL_ERROR_2); /* (caller checked for these) */
     9550                        AssertFailedReturn(VERR_IEM_IPE_2); /* (caller checked for these) */
    95519551                }
    95529552
  • trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h

    r56287 r56629  
    52885288    {
    52895289        int rc = CPUMSetGuestDRx(IEMCPU_TO_VMCPU(pIemCpu), iDrReg, uNewDrX);
    5290         AssertRCSuccessReturn(rc, RT_SUCCESS_NP(rc) ? VERR_INTERNAL_ERROR : rc);
     5290        AssertRCSuccessReturn(rc, RT_SUCCESS_NP(rc) ? VERR_IEM_IPE_1 : rc);
    52915291    }
    52925292    else
     
    54435443        *pCtx2 = CtxTmp;
    54445444#else
    5445         AssertReleaseFailedReturn(VERR_INTERNAL_ERROR_4);
     5445        AssertReleaseFailedReturn(VERR_IEM_IPE_2);
    54465446#endif
    54475447    }
     
    55045504            case 2: pCtx->ax  = (uint16_t)u32Value; break;
    55055505            case 4: pCtx->rax = u32Value;           break;
    5506             default: AssertFailedReturn(VERR_INTERNAL_ERROR_3);
     5506            default: AssertFailedReturn(VERR_IEM_IPE_3);
    55075507        }
    55085508        iemRegAddToRipAndClearRF(pIemCpu, cbInstr);
     
    55685568        case 2: u32Value = pCtx->ax;  break;
    55695569        case 4: u32Value = pCtx->eax; break;
    5570         default: AssertFailedReturn(VERR_INTERNAL_ERROR_3);
     5570        default: AssertFailedReturn(VERR_IEM_IPE_4);
    55715571    }
    55725572    if (!IEM_VERIFICATION_ENABLED(pIemCpu))
  • trunk/src/VBox/VMM/VMMAll/IEMAllInstructions.cpp.h

    r56287 r56629  
    84568456        }
    84578457    }
    8458     AssertFailedReturn(VERR_INTERNAL_ERROR_3);
     8458    AssertFailedReturn(VERR_IEM_IPE_9);
    84598459}
    84608460
     
    86378637            return VINF_SUCCESS;
    86388638    }
    8639     AssertFailedReturn(VERR_INTERNAL_ERROR_3);
     8639    AssertFailedReturn(VERR_IEM_IPE_8);
    86408640}
    86418641
     
    1010510105            return VINF_SUCCESS;
    1010610106    }
    10107     AssertFailedReturn(VERR_INTERNAL_ERROR_5);
     10107    AssertFailedReturn(VERR_IEM_IPE_7);
    1010810108}
    1010910109
     
    1084410844                switch (pIemCpu->enmEffAddrMode)
    1084510845                {
    10846                     case IEMMODE_16BIT: AssertFailedReturn(VERR_INTERNAL_ERROR_3);
     10846                    case IEMMODE_16BIT: AssertFailedReturn(VERR_IEM_IPE_6);
    1084710847                    case IEMMODE_32BIT: return IEM_MC_DEFER_TO_CIMPL_1(iemCImpl_rep_movs_op64_addr32, pIemCpu->iEffSeg);
    1084810848                    case IEMMODE_64BIT: return IEM_MC_DEFER_TO_CIMPL_1(iemCImpl_rep_movs_op64_addr64, pIemCpu->iEffSeg);
     
    1088310883            switch (pIemCpu->enmEffAddrMode)
    1088410884            {
    10885                 case IEMMODE_16BIT: AssertFailedReturn(VERR_INTERNAL_ERROR_4); /* cannot be encoded */ break;
     10885                case IEMMODE_16BIT: AssertFailedReturn(VERR_IEM_IPE_1); /* cannot be encoded */ break;
    1088610886                case IEMMODE_32BIT: IEM_MOVS_CASE(64, 32); break;
    1088710887                case IEMMODE_64BIT: IEM_MOVS_CASE(64, 64); break;
     
    1100311003                switch (pIemCpu->enmEffAddrMode)
    1100411004                {
    11005                     case IEMMODE_16BIT: AssertFailedReturn(VERR_INTERNAL_ERROR_3);
     11005                    case IEMMODE_16BIT: AssertFailedReturn(VERR_IEM_IPE_4);
    1100611006                    case IEMMODE_32BIT: return IEM_MC_DEFER_TO_CIMPL_1(iemCImpl_repe_cmps_op64_addr32, pIemCpu->iEffSeg);
    1100711007                    case IEMMODE_64BIT: return IEM_MC_DEFER_TO_CIMPL_1(iemCImpl_repe_cmps_op64_addr64, pIemCpu->iEffSeg);
     
    1103711037                switch (pIemCpu->enmEffAddrMode)
    1103811038                {
    11039                     case IEMMODE_16BIT: AssertFailedReturn(VERR_INTERNAL_ERROR_3);
     11039                    case IEMMODE_16BIT: AssertFailedReturn(VERR_IEM_IPE_2);
    1104011040                    case IEMMODE_32BIT: return IEM_MC_DEFER_TO_CIMPL_1(iemCImpl_repne_cmps_op64_addr32, pIemCpu->iEffSeg);
    1104111041                    case IEMMODE_64BIT: return IEM_MC_DEFER_TO_CIMPL_1(iemCImpl_repne_cmps_op64_addr64, pIemCpu->iEffSeg);
     
    1107711077            switch (pIemCpu->enmEffAddrMode)
    1107811078            {
    11079                 case IEMMODE_16BIT: AssertFailedReturn(VERR_INTERNAL_ERROR_4); /* cannot be encoded */ break;
     11079                case IEMMODE_16BIT: AssertFailedReturn(VERR_IEM_IPE_1); /* cannot be encoded */ break;
    1108011080                case IEMMODE_32BIT: IEM_CMPS_CASE(64, 32); break;
    1108111081                case IEMMODE_64BIT: IEM_CMPS_CASE(64, 64); break;
     
    1119311193                switch (pIemCpu->enmEffAddrMode)
    1119411194                {
    11195                     case IEMMODE_16BIT: AssertFailedReturn(VERR_INTERNAL_ERROR_3);
     11195                    case IEMMODE_16BIT: AssertFailedReturn(VERR_IEM_IPE_9);
    1119611196                    case IEMMODE_32BIT: return IEM_MC_DEFER_TO_CIMPL_0(iemCImpl_stos_rax_m32);
    1119711197                    case IEMMODE_64BIT: return IEM_MC_DEFER_TO_CIMPL_0(iemCImpl_stos_rax_m64);
     
    1123211232            switch (pIemCpu->enmEffAddrMode)
    1123311233            {
    11234                 case IEMMODE_16BIT: AssertFailedReturn(VERR_INTERNAL_ERROR_4); /* cannot be encoded */ break;
     11234                case IEMMODE_16BIT: AssertFailedReturn(VERR_IEM_IPE_1); /* cannot be encoded */ break;
    1123511235                case IEMMODE_32BIT: IEM_STOS_CASE(64, 32); break;
    1123611236                case IEMMODE_64BIT: IEM_STOS_CASE(64, 64); break;
     
    1132911329                switch (pIemCpu->enmEffAddrMode)
    1133011330                {
    11331                     case IEMMODE_16BIT: AssertFailedReturn(VERR_INTERNAL_ERROR_3);
     11331                    case IEMMODE_16BIT: AssertFailedReturn(VERR_IEM_IPE_7);
    1133211332                    case IEMMODE_32BIT: return IEM_MC_DEFER_TO_CIMPL_1(iemCImpl_lods_rax_m32, pIemCpu->iEffSeg);
    1133311333                    case IEMMODE_64BIT: return IEM_MC_DEFER_TO_CIMPL_1(iemCImpl_lods_rax_m64, pIemCpu->iEffSeg);
     
    1136811368            switch (pIemCpu->enmEffAddrMode)
    1136911369            {
    11370                 case IEMMODE_16BIT: AssertFailedReturn(VERR_INTERNAL_ERROR_4); /* cannot be encoded */ break;
     11370                case IEMMODE_16BIT: AssertFailedReturn(VERR_IEM_IPE_1); /* cannot be encoded */ break;
    1137111371                case IEMMODE_32BIT: IEM_LODS_CASE(64, 32); break;
    1137211372                case IEMMODE_64BIT: IEM_LODS_CASE(64, 64); break;
     
    1148211482                switch (pIemCpu->enmEffAddrMode)
    1148311483                {
    11484                     case IEMMODE_16BIT: AssertFailedReturn(VERR_INTERNAL_ERROR_3); /** @todo It's this wrong, we can do 16-bit addressing in 64-bit mode, but not 32-bit. right? */
     11484                    case IEMMODE_16BIT: AssertFailedReturn(VERR_IEM_IPE_6); /** @todo It's this wrong, we can do 16-bit addressing in 64-bit mode, but not 32-bit. right? */
    1148511485                    case IEMMODE_32BIT: return IEM_MC_DEFER_TO_CIMPL_0(iemCImpl_repe_scas_rax_m32);
    1148611486                    case IEMMODE_64BIT: return IEM_MC_DEFER_TO_CIMPL_0(iemCImpl_repe_scas_rax_m64);
     
    1151511515                switch (pIemCpu->enmEffAddrMode)
    1151611516                {
    11517                     case IEMMODE_16BIT: AssertFailedReturn(VERR_INTERNAL_ERROR_3);
     11517                    case IEMMODE_16BIT: AssertFailedReturn(VERR_IEM_IPE_5);
    1151811518                    case IEMMODE_32BIT: return IEM_MC_DEFER_TO_CIMPL_0(iemCImpl_repne_scas_rax_m32);
    1151911519                    case IEMMODE_64BIT: return IEM_MC_DEFER_TO_CIMPL_0(iemCImpl_repne_scas_rax_m64);
     
    1155411554            switch (pIemCpu->enmEffAddrMode)
    1155511555            {
    11556                 case IEMMODE_16BIT: AssertFailedReturn(VERR_INTERNAL_ERROR_4); /* cannot be encoded */ break;
     11556                case IEMMODE_16BIT: AssertFailedReturn(VERR_IEM_IPE_1); /* cannot be encoded */ break;
    1155711557                case IEMMODE_32BIT: IEM_SCAS_CASE(64, 32); break;
    1155811558                case IEMMODE_64BIT: IEM_SCAS_CASE(64, 64); break;
     
    1730117301            return IEMOP_RAISE_INVALID_OPCODE();
    1730217302    }
    17303     AssertFailedReturn(VERR_INTERNAL_ERROR_2);
     17303    AssertFailedReturn(VERR_IEM_IPE_3);
    1730417304}
    1730517305
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