Changeset 97522 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Nov 13, 2022 2:45:48 AM (2 years ago)
- svn:sync-xref-src-repo-rev:
- 154546
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAll.cpp
r97497 r97522 10903 10903 { 10904 10904 IEMEXEC_ASSERT_INSTR_LEN_RETURN(cbInstr, 2); 10905 IEM_CTX_ASSERT(pVCpu, IEM_CPUMCTX_EXTRN_EXEC_DECODED_NO_MEM_MASK );10905 IEM_CTX_ASSERT(pVCpu, IEM_CPUMCTX_EXTRN_EXEC_DECODED_NO_MEM_MASK | CPUMCTX_EXTRN_DR7); 10906 10906 Assert(iDrReg < 8); 10907 10907 Assert(iGReg < 16); … … 10928 10928 { 10929 10929 IEMEXEC_ASSERT_INSTR_LEN_RETURN(cbInstr, 2); 10930 IEM_CTX_ASSERT(pVCpu, IEM_CPUMCTX_EXTRN_EXEC_DECODED_NO_MEM_MASK );10930 IEM_CTX_ASSERT(pVCpu, IEM_CPUMCTX_EXTRN_EXEC_DECODED_NO_MEM_MASK | CPUMCTX_EXTRN_DR7); 10931 10931 Assert(iDrReg < 8); 10932 10932 Assert(iGReg < 16); -
trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp
r97521 r97522 6431 6431 return iemRaiseGeneralProtectionFault0(pVCpu); 6432 6432 Assert(!pVCpu->cpum.GstCtx.eflags.Bits.u1VM); 6433 IEM_CTX_ASSERT(pVCpu, CPUMCTX_EXTRN_DR7 | CPUMCTX_EXTRN_CR0); 6434 6435 if ( (iDrReg == 4 || iDrReg == 5) 6436 && (pVCpu->cpum.GstCtx.cr4 & X86_CR4_DE) ) 6437 { 6438 Log(("mov r%u,dr%u: CR4.DE=1 -> #GP(0)\n", iGReg, iDrReg)); 6439 return iemRaiseGeneralProtectionFault0(pVCpu); 6433 IEM_CTX_ASSERT(pVCpu, CPUMCTX_EXTRN_DR7); 6434 6435 /** @todo \#UD in outside ring-0 too? */ 6436 if (iDrReg == 4 || iDrReg == 5) 6437 { 6438 IEM_CTX_IMPORT_RET(pVCpu, CPUMCTX_EXTRN_CR4); 6439 if (pVCpu->cpum.GstCtx.cr4 & X86_CR4_DE) 6440 { 6441 Log(("mov r%u,dr%u: CR4.DE=1 -> #GP(0)\n", iGReg, iDrReg)); 6442 return iemRaiseGeneralProtectionFault0(pVCpu); 6443 } 6444 iDrReg += 2; 6440 6445 } 6441 6446 … … 6470 6475 break; 6471 6476 case 6: 6472 case 4:6473 6477 IEM_CTX_IMPORT_RET(pVCpu, CPUMCTX_EXTRN_DR6); 6474 6478 drX = pVCpu->cpum.GstCtx.dr[6]; … … 6477 6481 break; 6478 6482 case 7: 6479 case 5:6480 6483 IEM_CTX_ASSERT(pVCpu, CPUMCTX_EXTRN_DR7); 6481 6484 drX = pVCpu->cpum.GstCtx.dr[7]; … … 6537 6540 return iemRaiseGeneralProtectionFault0(pVCpu); 6538 6541 Assert(!pVCpu->cpum.GstCtx.eflags.Bits.u1VM); 6539 IEM_CTX_ASSERT(pVCpu, CPUMCTX_EXTRN_DR7 | CPUMCTX_EXTRN_CR4);6542 IEM_CTX_ASSERT(pVCpu, CPUMCTX_EXTRN_DR7); 6540 6543 6541 6544 if (iDrReg == 4 || iDrReg == 5) 6542 6545 { 6546 IEM_CTX_IMPORT_RET(pVCpu, CPUMCTX_EXTRN_CR4); 6543 6547 if (pVCpu->cpum.GstCtx.cr4 & X86_CR4_DE) 6544 6548 {
Note:
See TracChangeset
for help on using the changeset viewer.