VirtualBox

儲存庫 vbox 的更動 16583


忽略:
時間撮記:
2009-2-9 下午01:01:35 (16 年 以前)
作者:
vboxsync
訊息:

CFGM option YieldOnLSRRead for the virtual COM device, helps with Windows guest kernel debugger (xTracker #3612).

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/Devices/Serial/DevSerial.cpp

    r12978 r16583  
    160160    bool                            fGCEnabled;
    161161    bool                            fR0Enabled;
    162     bool                            afAlignment[5];
     162    bool                            fYieldOnLSRRead;
     163    bool                            afAlignment[4];
    163164
    164165    RTSEMEVENT                      ReceiveSem;
     
    385386        break;
    386387    case 5:
     388        if ((s->lsr & UART_LSR_DR) == 0 && s->fYieldOnLSRRead)
     389        {
     390            /* No data available and yielding is enabled, so yield in ring3. */
     391#ifndef IN_RING3
     392            *pRC = VINF_IOM_HC_IOPORT_READ;
     393            break;
     394#else
     395            RTThreadYield ();
     396#endif
     397        }
    387398        ret = s->lsr;
    388399        break;
     
    776787     * Validate and read the configuration.
    777788     */
    778     if (!CFGMR3AreValuesValid(pCfgHandle, "IRQ\0" "IOBase\0" "GCEnabled\0" "R0Enabled\0"))
     789    if (!CFGMR3AreValuesValid(pCfgHandle, "IRQ\0" "IOBase\0" "GCEnabled\0" "R0Enabled\0" "YieldOnLSRRead\0"))
    779790    {
    780791        AssertMsgFailed(("serialConstruct Invalid configuration values\n"));
     
    791802        return PDMDEV_SET_ERROR(pDevIns, rc,
    792803                                N_("Configuration error: Failed to get the \"R0Enabled\" value"));
     804
     805    rc = CFGMR3QueryBoolDef(pCfgHandle, "YieldOnLSRRead", &pThis->fYieldOnLSRRead, false);
     806    if (RT_FAILURE(rc))
     807        return PDMDEV_SET_ERROR(pDevIns, rc,
     808                                N_("Configuration error: Failed to get the \"YieldOnLSRRead\" value"));
    793809
    794810    rc = CFGMR3QueryU8(pCfgHandle, "IRQ", &irq_lvl);
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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