VirtualBox

儲存庫 vbox 的更動 15186


忽略:
時間撮記:
2008-12-9 下午03:50:52 (16 年 以前)
作者:
vboxsync
訊息:

Fixed fpu and debug state syncing.

位置:
trunk/src/VBox/VMM
檔案:
修改 2 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/VMM/VMMR0/CPUMR0.cpp

    r14876 r15186  
    261261    if (CPUMIsGuestInLongModeEx(pCtx))
    262262    {
    263         HWACCMR0SaveFPUState(pVM, pVCpu, pCtx);
     263        if (!(pVCpu->cpum.s.fUseFlags & CPUM_SYNC_FPU_STATE))
     264            HWACCMR0SaveFPUState(pVM, pVCpu, pCtx);
     265
    264266        CPUMR0RestoreHostFPUState(&pVCpu->cpum.s);
    265267    }
     
    322324    if (CPUMIsGuestInLongModeEx(pCtx))
    323325    {
    324         uint64_t dr6 = pCtx->dr[6];
    325 
    326         HWACCMR0SaveDebugState(pVM, pVCpu, pCtx);
    327         if (!fDR6) /* dr6 was already up-to-date */
    328             pCtx->dr[6] = dr6;
     326        if (!(pVCpu->cpum.s.fUseFlags & CPUM_SYNC_DEBUG_STATE))
     327        {
     328            uint64_t dr6 = pCtx->dr[6];
     329
     330            HWACCMR0SaveDebugState(pVM, pVCpu, pCtx);
     331            if (!fDR6) /* dr6 was already up-to-date */
     332                pCtx->dr[6] = dr6;
     333        }
    329334    }
    330335    else
  • trunk/src/VBox/VMM/VMMSwitcher/LegacyandAMD64.mac

    r15030 r15186  
    259259    fxrstor [rdx + CPUMCPU.Guest.fpu]
    260260    mov     cr0, rcx                    ; and restore old CR0 again
     261   
     262    and     [rdx + CPUMCPU.fUseFlags], ~CPUM_SYNC_FPU_STATE
    261263
    262264gth_fpu_no:
     
    275277    mov rax, qword [rdx + CPUMCPU.Guest.dr + 6*8]
    276278    mov dr6, rax    ; not required for AMD-V
     279
     280    and     [rdx + CPUMCPU.fUseFlags], ~CPUM_SYNC_DEBUG_STATE
    277281
    278282gth_debug_no:
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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