Changeset 99331 in vbox for trunk/src/VBox/VMM/include/IEMMc.h
- Timestamp:
- Apr 7, 2023 12:27:07 AM (21 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/include/IEMMc.h
r99330 r99331 92 92 do { \ 93 93 if ( (pVCpu->cpum.GstCtx.aXcr[0] & (XSAVE_C_YMM | XSAVE_C_SSE)) != (XSAVE_C_YMM | XSAVE_C_SSE) \ 94 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSXSAVE) \ 95 || !IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fAvx) \ 94 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSXSAVE)) \ 96 95 return iemRaiseUndefinedOpcode(pVCpu); \ 97 96 if (pVCpu->cpum.GstCtx.cr0 & X86_CR0_TS) \ … … 101 100 do { \ 102 101 if ( (pVCpu->cpum.GstCtx.aXcr[0] & (XSAVE_C_YMM | XSAVE_C_SSE)) != (XSAVE_C_YMM | XSAVE_C_SSE) \ 103 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSXSAVE) \ 104 || !IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fAvx2) \ 102 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSXSAVE)) \ 105 103 return iemRaiseUndefinedOpcode(pVCpu); \ 106 104 if (pVCpu->cpum.GstCtx.cr0 & X86_CR0_TS) \ … … 110 108 do { \ 111 109 if ( (pVCpu->cpum.GstCtx.cr0 & X86_CR0_EM) \ 112 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSFXSR) \ 113 || !IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fAesNi) \ 110 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSFXSR)) \ 114 111 return iemRaiseUndefinedOpcode(pVCpu); \ 115 112 if (pVCpu->cpum.GstCtx.cr0 & X86_CR0_TS) \ … … 119 116 do { \ 120 117 if ( (pVCpu->cpum.GstCtx.cr0 & X86_CR0_EM) \ 121 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSFXSR) \ 122 || !IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fSha) \ 118 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSFXSR)) \ 123 119 return iemRaiseUndefinedOpcode(pVCpu); \ 124 120 if (pVCpu->cpum.GstCtx.cr0 & X86_CR0_TS) \ … … 128 124 do { \ 129 125 if ( (pVCpu->cpum.GstCtx.cr0 & X86_CR0_EM) \ 130 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSFXSR) \ 131 || !IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fSse42) \ 126 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSFXSR)) \ 132 127 return iemRaiseUndefinedOpcode(pVCpu); \ 133 128 if (pVCpu->cpum.GstCtx.cr0 & X86_CR0_TS) \ … … 137 132 do { \ 138 133 if ( (pVCpu->cpum.GstCtx.cr0 & X86_CR0_EM) \ 139 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSFXSR) \ 140 || !IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fSse41) \ 134 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSFXSR)) \ 141 135 return iemRaiseUndefinedOpcode(pVCpu); \ 142 136 if (pVCpu->cpum.GstCtx.cr0 & X86_CR0_TS) \ … … 146 140 do { \ 147 141 if ( (pVCpu->cpum.GstCtx.cr0 & X86_CR0_EM) \ 148 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSFXSR) \ 149 || !IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fSsse3) \ 142 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSFXSR)) \ 150 143 return iemRaiseUndefinedOpcode(pVCpu); \ 151 144 if (pVCpu->cpum.GstCtx.cr0 & X86_CR0_TS) \ … … 155 148 do { \ 156 149 if ( (pVCpu->cpum.GstCtx.cr0 & X86_CR0_EM) \ 157 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSFXSR) \ 158 || !IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fSse3) \ 150 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSFXSR)) \ 159 151 return iemRaiseUndefinedOpcode(pVCpu); \ 160 152 if (pVCpu->cpum.GstCtx.cr0 & X86_CR0_TS) \ … … 164 156 do { \ 165 157 if ( (pVCpu->cpum.GstCtx.cr0 & X86_CR0_EM) \ 166 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSFXSR) \ 167 || !IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fSse2) \ 158 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSFXSR)) \ 168 159 return iemRaiseUndefinedOpcode(pVCpu); \ 169 160 if (pVCpu->cpum.GstCtx.cr0 & X86_CR0_TS) \ … … 173 164 do { \ 174 165 if ( (pVCpu->cpum.GstCtx.cr0 & X86_CR0_EM) \ 175 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSFXSR) \ 176 || !IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fSse) \ 166 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSFXSR)) \ 177 167 return iemRaiseUndefinedOpcode(pVCpu); \ 178 168 if (pVCpu->cpum.GstCtx.cr0 & X86_CR0_TS) \
Note:
See TracChangeset
for help on using the changeset viewer.