儲存庫 vbox 的更動 99353
- 時間撮記:
- 2023-4-8 上午12:27:03 (20 月 以前)
- 檔案:
-
- 修改 1 筆資料
圖例:
- 未更動
- 新增
- 刪除
-
trunk/src/VBox/VMM/include/IEMMc.h
r99352 r99353 94 94 #define IEM_MC_MAYBE_RAISE_AVX_RELATED_XCPT() \ 95 95 do { \ 96 if ( (pVCpu->cpum.GstCtx.aXcr[0] & (XSAVE_C_YMM | XSAVE_C_SSE)) == (XSAVE_C_YMM | XSAVE_C_SSE) \ 97 && (pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSXSAVE)) { /* probable */ } \ 98 else return iemRaiseUndefinedOpcode(pVCpu); \ 99 \ 100 if (!(pVCpu->cpum.GstCtx.cr0 & X86_CR0_TS)) { /* probable */ } \ 101 else return iemRaiseDeviceNotAvailable(pVCpu); \ 102 } while (0) 96 /* Since none of the bits we compare from XCR0, CR4 and CR0 overlap, it can \ 97 be reduced to a single compare branch in the more probably code path. */ \ 98 if (RT_LIKELY( ( (pVCpu->cpum.GstCtx.aXcr[0] & (XSAVE_C_YMM | XSAVE_C_SSE)) \ 99 | (pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSXSAVE) \ 100 | (pVCpu->cpum.GstCtx.cr0 & X86_CR0_TS)) \ 101 == (XSAVE_C_YMM | XSAVE_C_SSE | X86_CR4_OSXSAVE))) \ 102 { /* probable */ } \ 103 else if ( (pVCpu->cpum.GstCtx.aXcr[0] & (XSAVE_C_YMM | XSAVE_C_SSE)) != (XSAVE_C_YMM | XSAVE_C_SSE) \ 104 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSXSAVE)) \ 105 return iemRaiseUndefinedOpcode(pVCpu); \ 106 else \ 107 return iemRaiseDeviceNotAvailable(pVCpu); \ 108 } while (0) 109 AssertCompile(!((XSAVE_C_YMM | XSAVE_C_SSE) & X86_CR4_OSXSAVE)); 110 AssertCompile(!((XSAVE_C_YMM | XSAVE_C_SSE) & X86_CR0_TS)); 111 AssertCompile(!(X86_CR4_OSXSAVE & X86_CR0_TS)); 103 112 #define IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT() \ 104 113 do { \ 105 114 /* Since the CR4 and CR0 bits doesn't overlap, it can be reduced to a 106 115 single compare branch in the more probable code path. */ \ 107 AssertCompile(!((X86_CR0_EM | X86_CR0_TS) & X86_CR4_OSFXSR)); \108 116 if (RT_LIKELY( ( (pVCpu->cpum.GstCtx.cr0 & (X86_CR0_EM | X86_CR0_TS)) \ 109 117 | (pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSFXSR)) \ … … 116 124 return iemRaiseDeviceNotAvailable(pVCpu); \ 117 125 } while (0) 126 AssertCompile(!((X86_CR0_EM | X86_CR0_TS) & X86_CR4_OSFXSR)); 118 127 #define IEM_MC_MAYBE_RAISE_MMX_RELATED_XCPT() \ 119 128 do { \
注意:
瀏覽 TracChangeset
來幫助您使用更動檢視器