- Timestamp:
- Dec 4, 2013 3:33:44 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r49775 r49776 9273 9273 case VMX_EXIT_INTERRUPTION_INFO_TYPE_PRIV_SW_XCPT: /* Privileged software exception. (#DB from ICEBP) */ 9274 9274 Assert(uVector == X86_XCPT_DB); 9275 /* fall through*/9275 /* no break */ 9276 9276 case VMX_EXIT_INTERRUPTION_INFO_TYPE_SW_XCPT: /* Software exception. (#BP or #OF) */ 9277 9277 Assert(uVector == X86_XCPT_BP || uVector == X86_XCPT_OF || uIntType == VMX_EXIT_INTERRUPTION_INFO_TYPE_PRIV_SW_XCPT); … … 10942 10942 /* 10943 10943 * Raise #DB in the guest. 10944 * 10945 * It is important to reflect what the VM-exit gave us (preserving the interruption-type) rather than use 10946 * hmR0VmxSetPendingXcptDB() as the #DB could've been raised while executing ICEBP and not the 'normal' #DB. 10947 * Thus it -may- trigger different handling in the CPU (like skipped DPL checks). See @bugref{6398}. 10948 * 10949 * Since ICEBP isn't documented on Intel, see AMD spec. 15.20 "Event Injection". 10944 10950 */ 10945 10951 rc = hmR0VmxReadExitIntInfoVmcs(pVmxTransient);
Note:
See TracChangeset
for help on using the changeset viewer.