VirtualBox

Changeset 46748 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Jun 24, 2013 10:11:21 AM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
86675
Message:

VMM/HMSVMR0: nits.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp

    r46725 r46748  
    114114 * @name Exception bitmap mask for all contributory exceptions.
    115115 *
    116  * Page fault is deliberately excluded here as it's conditional whether it's
    117  * contributory or benign. It's handled separately.
     116 * Page fault is deliberately excluded here as it's conditional as to whether
     117 * it's contributory or benign. Page faults are handled separately.
    118118 */
    119119#define HMSVM_CONTRIBUTORY_XCPT_MASK  ( RT_BIT(X86_XCPT_GP) | RT_BIT(X86_XCPT_NP) | RT_BIT(X86_XCPT_SS) | RT_BIT(X86_XCPT_TS) \
     
    20032003            case X86_XCPT_AC:
    20042004            {
     2005                Event.n.u1ErrorCodeValid = 1;
    20052006                Event.n.u32ErrorCode     = uErrCode;
    2006                 Event.n.u1ErrorCodeValid = 1;
    20072007                break;
    20082008            }
     
    29122912                    switch (Event.n.u8Vector)
    29132913                    {
     2914                        case X86_XCPT_DE:
     2915                            STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestDE);
     2916                            break;
     2917
     2918                        case X86_XCPT_BP:
     2919                            /** Saves the wrong EIP on the stack (pointing to the int3) instead of the
     2920                             *  next instruction. */
     2921                            /** @todo Investigate this later. */
     2922                            break;
     2923
     2924                        case X86_XCPT_UD:
     2925                            STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestUD);
     2926                            break;
     2927
     2928                        case X86_XCPT_NP:
     2929                            Event.n.u1ErrorCodeValid    = 1;
     2930                            Event.n.u32ErrorCode        = pVmcb->ctrl.u64ExitInfo1;
     2931                            STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestNP);
     2932                            break;
     2933
     2934                        case X86_XCPT_SS:
     2935                            Event.n.u1ErrorCodeValid    = 1;
     2936                            Event.n.u32ErrorCode        = pVmcb->ctrl.u64ExitInfo1;
     2937                            STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestSS);
     2938                            break;
     2939
    29142940                        case X86_XCPT_GP:
    29152941                            Event.n.u1ErrorCodeValid    = 1;
     
    29172943                            STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestGP);
    29182944                            break;
    2919                         case X86_XCPT_BP:
    2920                             /** Saves the wrong EIP on the stack (pointing to the int3) instead of the
    2921                              *  next instruction. */
    2922                             /** @todo Investigate this later. */
    2923                             break;
    2924                         case X86_XCPT_DE:
    2925                             STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestDE);
    2926                             break;
    2927                         case X86_XCPT_UD:
    2928                             STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestUD);
    2929                             break;
    2930                         case X86_XCPT_SS:
    2931                             Event.n.u1ErrorCodeValid    = 1;
    2932                             Event.n.u32ErrorCode        = pVmcb->ctrl.u64ExitInfo1;
    2933                             STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestSS);
    2934                             break;
    2935                         case X86_XCPT_NP:
    2936                             Event.n.u1ErrorCodeValid    = 1;
    2937                             Event.n.u32ErrorCode        = pVmcb->ctrl.u64ExitInfo1;
    2938                             STAM_COUNTER_INC(&pVCpu->hm.s.StatExitGuestNP);
    2939                             break;
    29402945                    }
     2946
    29412947                    Log4(("#Xcpt: Vector=%#x at CS:RIP=%04x:%RGv\n", Event.n.u8Vector, pCtx->cs.Sel, (RTGCPTR)pCtx->rip));
    29422948                    hmR0SvmSetPendingEvent(pVCpu, &Event, 0 /* GCPtrFaultAddress */);
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette