VirtualBox

忽略:
時間撮記:
2008-6-13 上午09:49:54 (16 年 以前)
作者:
vboxsync
訊息:

General cleanup of SELMToFlat.

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/VMM/VMMAll/EMAll.cpp

    r9663 r9675  
    344344static RTGCPTR emConvertToFlatAddr(PVM pVM, PCPUMCTXCORE pRegFrame, PDISCPUSTATE pCpu, POP_PARAMETER pParam, RTGCPTR pvAddr)
    345345{
    346     int   prefix_seg, rc;
    347     RTSEL sel;
    348     CPUMSELREGHID *pSelHidReg;
    349 
    350     prefix_seg = DISDetectSegReg(pCpu, pParam);
    351     rc = DISFetchRegSegEx(pRegFrame, prefix_seg, &sel, &pSelHidReg);
    352     if (VBOX_FAILURE(rc))
    353         return pvAddr;
    354 
    355     return SELMToFlat(pVM, pRegFrame->eflags, sel, pSelHidReg, pvAddr);
     346    DIS_SELREG enmPrefixSeg = DISDetectSegReg(pCpu, pParam);
     347    return SELMToFlat(pVM, enmPrefixSeg, pRegFrame, pvAddr);
    356348}
    357349
     
    639631
    640632            /* Convert address; don't bother checking limits etc, as we only read here */
    641             pStackVal = SELMToFlat(pVM, pRegFrame->eflags, pRegFrame->ss, &pRegFrame->ssHid, (RTGCPTR)pRegFrame->esp);
     633            pStackVal = SELMToFlat(pVM, DIS_SELREG_SS, pRegFrame, (RTGCPTR)pRegFrame->esp);
    642634            if (pStackVal == 0)
    643635                return VERR_EM_INTERPRETER;
     
    20372029
    20382030    Assert(pRegFrame->eflags.u32 & X86_EFL_IF);
    2039     Assert(pvFault == SELMToFlat(pVM, pRegFrame->eflags, pRegFrame->cs, &pRegFrame->csHid, (RTGCPTR)pRegFrame->eip));
     2031    Assert(pvFault == SELMToFlat(pVM, DIS_SELREG_CS, pRegFrame, (RTGCPTR)pRegFrame->eip));
    20402032
    20412033    pVM->em.s.GCPtrInhibitInterrupts = pRegFrame->eip + pCpu->opsize;
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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