Changeset 65623 in vbox
- Timestamp:
- Feb 6, 2017 2:02:15 PM (8 years ago)
- svn:sync-xref-src-repo-rev:
- 113295
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAll.cpp
r65612 r65623 5266 5266 { 5267 5267 return iemRaiseXcptOrInt(pVCpu, 0, X86_XCPT_NP, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR, uErr, 0); 5268 }5269 5270 5271 /** \#NP(seg) - 0b. */5272 DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseSelectorNotPresentBySegReg(PVMCPU pVCpu, uint32_t iSegReg)5273 {5274 return iemRaiseXcptOrInt(pVCpu, 0, X86_XCPT_NP, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR,5275 iemSRegFetchU16(pVCpu, iSegReg) & ~X86_SEL_RPL, 0);5276 5268 } 5277 5269 … … 7433 7425 if (!pHid->Attr.n.u1Present) 7434 7426 { 7435 Log(("iemMemSegCheckWriteAccessEx: %#x (index %u) - segment not present -> #NP\n", iemSRegFetchU16(pVCpu, iSegReg), iSegReg)); 7436 return iemRaiseSelectorNotPresentBySegReg(pVCpu, iSegReg); 7427 uint16_t uSel = iemSRegFetchU16(pVCpu, iSegReg); 7428 AssertRelease(uSel == 0); 7429 Log(("iemMemSegCheckWriteAccessEx: %#x (index %u) - bad selector -> #GP\n", uSel, iSegReg)); 7430 return iemRaiseGeneralProtectionFault0(pVCpu); 7437 7431 } 7438 7432 … … 7469 7463 if (!pHid->Attr.n.u1Present) 7470 7464 { 7471 Log(("iemMemSegCheckReadAccessEx: %#x (index %u) - segment not present -> #NP\n", iemSRegFetchU16(pVCpu, iSegReg), iSegReg)); 7472 return iemRaiseSelectorNotPresentBySegReg(pVCpu, iSegReg); 7465 uint16_t uSel = iemSRegFetchU16(pVCpu, iSegReg); 7466 AssertRelease(uSel == 0); 7467 Log(("iemMemSegCheckReadAccessEx: %#x (index %u) - bad selector -> #GP\n", uSel, iSegReg)); 7468 return iemRaiseGeneralProtectionFault0(pVCpu); 7473 7469 } 7474 7470
Note:
See TracChangeset
for help on using the changeset viewer.