VirtualBox

忽略:
時間撮記:
2007-5-9 下午02:22:52 (18 年 以前)
作者:
vboxsync
訊息:

Return VINF_EM_RESCHEDULE_REM instead of VINF_IOM_HC_IOPORT_WRITE and VINF_IOM_HC_IOPORT_READ on special cases the IOM interpreter doesn't handle, it saves time since it won't be able to handle them in Ring-3 either (same code), and it fixes the debug assertions.

檔案:
修改 1 筆資料

圖例:

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

    r2504 r2560  
    16181618    if (   (uPrefix & PREFIX_REPNE)
    16191619        || pRegFrame->eflags.Bits.u1DF)
    1620         return VINF_IOM_HC_IOPORT_READ;
     1620        return VINF_EM_RESCHEDULE_REM;
    16211621
    16221622    /*
     
    16391639    {
    16401640        Log(("INS destination address conversion failed -> fallback, rc=%d\n", rc));
    1641         return VINF_IOM_HC_IOPORT_READ;
     1641        return VINF_EM_RESCHEDULE_REM;
    16421642    }
    16431643
     
    16501650    {
    16511651        Log(("INS will generate a trap -> fallback, rc=%d\n", rc));
    1652         return VINF_IOM_HC_IOPORT_READ;
     1652        return VINF_EM_RESCHEDULE_REM;
    16531653    }
    16541654
     
    17671767    if (   (uPrefix & (PREFIX_SEG | PREFIX_REPNE))
    17681768        || pRegFrame->eflags.Bits.u1DF)
    1769         return VINF_IOM_HC_IOPORT_WRITE;
     1769        return VINF_EM_RESCHEDULE_REM;
    17701770
    17711771    /*
     
    17881788    {
    17891789        Log(("OUTS source address conversion failed -> fallback, rc=%Vrc\n", rc));
    1790         return VINF_IOM_HC_IOPORT_WRITE;
     1790        return VINF_EM_RESCHEDULE_REM;
    17911791    }
    17921792
     
    17981798    {
    17991799        Log(("OUTS will generate a trap -> fallback, rc=%Vrc\n", rc));
    1800         return VINF_IOM_HC_IOPORT_WRITE;
     1800        return VINF_EM_RESCHEDULE_REM;
    18011801    }
    18021802
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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