VirtualBox

Changeset 71927 in vbox


Ignore:
Timestamp:
Apr 20, 2018 4:18:24 AM (7 years ago)
Author:
vboxsync
Message:

VMM/HM: Naming, nits.

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/hm_svm.h

    r71859 r71927  
    514514typedef struct
    515515{
     516    uint16_t    u16Reserved0;
    516517    uint16_t    u16Reserved1;
    517     uint16_t    u16Reserved2;
    518518    uint32_t    u32Limit;       /**< Only lower 16 bits are implemented. */
    519519    uint64_t    u64Base;
     
    561561        uint32_t    u1VIrqPending       : 1;    /* V_IRQ */
    562562        uint32_t    u1VGif              : 1;    /* VGIF */
    563         uint32_t    u6Reserved0         : 6;
     563        uint32_t    u6Reserved          : 6;
    564564        uint32_t    u4VIntrPrio         : 4;    /* V_INTR_PRIO */
    565565        uint32_t    u1IgnoreTPR         : 1;    /* V_IGN_TPR */
     
    567567        uint32_t    u1VIntrMasking      : 1;    /* V_INTR_MASKING */
    568568        uint32_t    u1VGifEnable        : 1;    /* VGIF enable */
    569         uint32_t    u5Reserved1         : 5;
     569        uint32_t    u5Reserved          : 5;
    570570        uint32_t    u1AvicEnable        : 1;    /* AVIC enable */
    571571        uint32_t    u8VIntrVector       : 8;    /* V_INTR_VECTOR */
     
    598598        uint32_t    u1Type              : 1;   /**< Bit 0: 0 = out, 1 = in */
    599599        uint32_t    u1Reserved          : 1;   /**< Bit 1: Reserved */
    600         uint32_t    u1STR               : 1;   /**< Bit 2: String I/O (1) or not (0). */
    601         uint32_t    u1REP               : 1;   /**< Bit 3: Repeat prefixed string I/O. */
    602         uint32_t    u1OP8               : 1;   /**< Bit 4: 8-bit operand. */
    603         uint32_t    u1OP16              : 1;   /**< Bit 5: 16-bit operand. */
    604         uint32_t    u1OP32              : 1;   /**< Bit 6: 32-bit operand. */
    605         uint32_t    u1ADDR16            : 1;   /**< Bit 7: 16-bit address size. */
    606         uint32_t    u1ADDR32            : 1;   /**< Bit 8: 32-bit address size. */
    607         uint32_t    u1ADDR64            : 1;   /**< Bit 9: 64-bit address size. */
    608         uint32_t    u3SEG               : 3;   /**< Bits 12:10: Effective segment number. Added w/ decode assist in APM v3.17. */
     600        uint32_t    u1Str               : 1;   /**< Bit 2: String I/O (1) or not (0). */
     601        uint32_t    u1Rep               : 1;   /**< Bit 3: Repeat prefixed string I/O. */
     602        uint32_t    u1Op8               : 1;   /**< Bit 4: 8-bit operand. */
     603        uint32_t    u1Op16              : 1;   /**< Bit 5: 16-bit operand. */
     604        uint32_t    u1Op32              : 1;   /**< Bit 6: 32-bit operand. */
     605        uint32_t    u1Addr16            : 1;   /**< Bit 7: 16-bit address size. */
     606        uint32_t    u1Addr32            : 1;   /**< Bit 8: 32-bit address size. */
     607        uint32_t    u1Addr64            : 1;   /**< Bit 9: 64-bit address size. */
     608        uint32_t    u3Seg               : 3;   /**< Bits 12:10: Effective segment number. Added w/ decode assist in APM v3.17. */
    609609        uint32_t    u3Reserved          : 3;
    610610        uint32_t    u16Port             : 16;  /**< Bits 31:16: Port number. */
     
    659659    struct
    660660    {
     661        uint64_t    u12Reserved0        : 12;
     662        uint64_t    u40Addr             : 40;
    661663        uint64_t    u12Reserved1        : 12;
    662         uint64_t    u40Addr             : 40;
    663         uint64_t    u12Reserved2        : 12;
    664664    } n;
    665665    uint64_t    u;
     
    693693        uint32_t    u1Sev          :  1;
    694694        uint32_t    u1SevEs        :  1;
    695         uint32_t    u29Reserved0   : 29;
     695        uint32_t    u29Reserved    : 29;
    696696    } n;
    697697    uint64_t    u;
     
    708708        uint32_t    u1IntShadow    :  1;
    709709        uint32_t    u1GuestIntMask :  1;
    710         uint32_t    u30Reserved0   : 30;
     710        uint32_t    u30Reserved    : 30;
    711711    } n;
    712712    uint64_t    u;
     
    723723        uint32_t    u1LbrVirt          :  1;
    724724        uint32_t    u1VirtVmsaveVmload :  1;
    725         uint32_t    u30Reserved1       : 30;
     725        uint32_t    u30Reserved        : 30;
    726726    } n;
    727727    uint64_t    u;
     
    751751    uint64_t        u64InterceptCtrl;
    752752    /** Offset 0x14-0x3f - Reserved. */
    753     uint8_t         u8Reserved[0x3c - 0x14];
     753    uint8_t         u8Reserved0[0x3c - 0x14];
    754754    /** Offset 0x3c - PAUSE filter threshold.  */
    755755    uint16_t        u16PauseFilterThreshold;
     
    781781    SVMAVIC         AvicBar;
    782782    /** Offset 0xa0-0xa7 - Reserved. */
    783     uint8_t         u8Reserved2[0xA8 - 0xA0];
     783    uint8_t         u8Reserved1[0xA8 - 0xA0];
    784784    /** Offset 0xa8 - Event injection. */
    785785    SVMEVENT        EventInject;
     
    800800    SVMAVIC         AvicBackingPagePtr;
    801801    /** Offset 0xe8-0xef - Reserved. */
    802     uint8_t         u8Reserved3[0xF0 - 0xE8];
     802    uint8_t         u8Reserved2[0xF0 - 0xE8];
    803803    /** Offset 0xf0 - AVIC LOGICAL_TABLE pointer. */
    804804    SVMAVIC         AvicLogicalTablePtr;
     
    818818AssertCompileMemberOffset(SVMVMCBCTRL, u32InterceptXcpt,        0x08);
    819819AssertCompileMemberOffset(SVMVMCBCTRL, u64InterceptCtrl,        0x0c);
    820 AssertCompileMemberOffset(SVMVMCBCTRL, u8Reserved,              0x14);
     820AssertCompileMemberOffset(SVMVMCBCTRL, u8Reserved0,             0x14);
    821821AssertCompileMemberOffset(SVMVMCBCTRL, u16PauseFilterThreshold, 0x3c);
    822822AssertCompileMemberOffset(SVMVMCBCTRL, u16PauseFilterCount,     0x3e);
     
    833833AssertCompileMemberOffset(SVMVMCBCTRL, NestedPagingCtrl,        0x90);
    834834AssertCompileMemberOffset(SVMVMCBCTRL, AvicBar,                 0x98);
    835 AssertCompileMemberOffset(SVMVMCBCTRL, u8Reserved2,             0xa0);
     835AssertCompileMemberOffset(SVMVMCBCTRL, u8Reserved1,             0xa0);
    836836AssertCompileMemberOffset(SVMVMCBCTRL, EventInject,             0xa8);
    837837AssertCompileMemberOffset(SVMVMCBCTRL, u64NestedPagingCR3,      0xb0);
     
    842842AssertCompileMemberOffset(SVMVMCBCTRL, abInstr,                 0xd1);
    843843AssertCompileMemberOffset(SVMVMCBCTRL, AvicBackingPagePtr,      0xe0);
    844 AssertCompileMemberOffset(SVMVMCBCTRL, u8Reserved3,             0xe8);
     844AssertCompileMemberOffset(SVMVMCBCTRL, u8Reserved2,             0xe8);
    845845AssertCompileMemberOffset(SVMVMCBCTRL, AvicLogicalTablePtr,     0xf0);
    846846AssertCompileMemberOffset(SVMVMCBCTRL, AvicPhysicalTablePtr,    0xf8);
     
    874874    SVMSELREG   TR;
    875875    /** Offset 0x4A0-0x4CA - Reserved. */
    876     uint8_t     u8Reserved4[0x4CB - 0x4A0];
     876    uint8_t     u8Reserved0[0x4CB - 0x4A0];
    877877    /** Offset 0x4CB - CPL. */
    878878    uint8_t     u8CPL;
    879879    /** Offset 0x4CC-0x4CF - Reserved. */
    880     uint8_t     u8Reserved5[0x4D0 - 0x4CC];
     880    uint8_t     u8Reserved1[0x4D0 - 0x4CC];
    881881    /** Offset 0x4D0 - EFER. */
    882882    uint64_t    u64EFER;
    883883    /** Offset 0x4D8-0x547 - Reserved. */
    884     uint8_t     u8Reserved6[0x548 - 0x4D8];
     884    uint8_t     u8Reserved2[0x548 - 0x4D8];
    885885    /** Offset 0x548 - CR4. */
    886886    uint64_t    u64CR4;
     
    898898    uint64_t    u64RIP;
    899899    /** Offset 0x580-0x5D7 - Reserved. */
    900     uint8_t     u8Reserved7[0x5D8 - 0x580];
     900    uint8_t     u8Reserved3[0x5D8 - 0x580];
    901901    /** Offset 0x5D8 - RSP. */
    902902    uint64_t    u64RSP;
    903903    /** Offset 0x5E0-0x5F7 - Reserved. */
    904     uint8_t     u8Reserved8[0x5F8 - 0x5E0];
     904    uint8_t     u8Reserved4[0x5F8 - 0x5E0];
    905905    /** Offset 0x5F8 - RAX. */
    906906    uint64_t    u64RAX;
     
    924924    uint64_t    u64CR2;
    925925    /** Offset 0x648-0x667 - Reserved. */
    926     uint8_t     u8Reserved9[0x668 - 0x648];
     926    uint8_t     u8Reserved5[0x668 - 0x648];
    927927    /** Offset 0x668 - PAT (Page Attribute Table) MSR. */
    928928    uint64_t    u64PAT;
     
    954954AssertCompileMemberOffset(SVMVMCBSTATESAVE, IDTR,            0x480 - 0x400);
    955955AssertCompileMemberOffset(SVMVMCBSTATESAVE, TR,              0x490 - 0x400);
    956 AssertCompileMemberOffset(SVMVMCBSTATESAVE, u8Reserved4,     0x4a0 - 0x400);
     956AssertCompileMemberOffset(SVMVMCBSTATESAVE, u8Reserved0,     0x4a0 - 0x400);
    957957AssertCompileMemberOffset(SVMVMCBSTATESAVE, u8CPL,           0x4cb - 0x400);
    958 AssertCompileMemberOffset(SVMVMCBSTATESAVE, u8Reserved5,     0x4cc - 0x400);
     958AssertCompileMemberOffset(SVMVMCBSTATESAVE, u8Reserved1,     0x4cc - 0x400);
    959959AssertCompileMemberOffset(SVMVMCBSTATESAVE, u64EFER,         0x4d0 - 0x400);
    960 AssertCompileMemberOffset(SVMVMCBSTATESAVE, u8Reserved6,     0x4d8 - 0x400);
     960AssertCompileMemberOffset(SVMVMCBSTATESAVE, u8Reserved2,     0x4d8 - 0x400);
    961961AssertCompileMemberOffset(SVMVMCBSTATESAVE, u64CR4,          0x548 - 0x400);
    962962AssertCompileMemberOffset(SVMVMCBSTATESAVE, u64CR3,          0x550 - 0x400);
     
    966966AssertCompileMemberOffset(SVMVMCBSTATESAVE, u64RFlags,       0x570 - 0x400);
    967967AssertCompileMemberOffset(SVMVMCBSTATESAVE, u64RIP,          0x578 - 0x400);
    968 AssertCompileMemberOffset(SVMVMCBSTATESAVE, u8Reserved7,     0x580 - 0x400);
     968AssertCompileMemberOffset(SVMVMCBSTATESAVE, u8Reserved3,     0x580 - 0x400);
    969969AssertCompileMemberOffset(SVMVMCBSTATESAVE, u64RSP,          0x5d8 - 0x400);
    970 AssertCompileMemberOffset(SVMVMCBSTATESAVE, u8Reserved8,     0x5e0 - 0x400);
     970AssertCompileMemberOffset(SVMVMCBSTATESAVE, u8Reserved4,     0x5e0 - 0x400);
    971971AssertCompileMemberOffset(SVMVMCBSTATESAVE, u64RAX,          0x5f8 - 0x400);
    972972AssertCompileMemberOffset(SVMVMCBSTATESAVE, u64STAR,         0x600 - 0x400);
     
    979979AssertCompileMemberOffset(SVMVMCBSTATESAVE, u64SysEnterEIP,  0x638 - 0x400);
    980980AssertCompileMemberOffset(SVMVMCBSTATESAVE, u64CR2,          0x640 - 0x400);
    981 AssertCompileMemberOffset(SVMVMCBSTATESAVE, u8Reserved9,     0x648 - 0x400);
     981AssertCompileMemberOffset(SVMVMCBSTATESAVE, u8Reserved5,     0x648 - 0x400);
    982982AssertCompileMemberOffset(SVMVMCBSTATESAVE, u64PAT,          0x668 - 0x400);
    983983AssertCompileMemberOffset(SVMVMCBSTATESAVE, u64DBGCTL,       0x670 - 0x400);
     
    996996    SVMVMCBCTRL ctrl;
    997997    /** Offset 0x100-0x3FF - Reserved. */
    998     uint8_t     u8Reserved3[0x400 - 0x100];
     998    uint8_t     u8Reserved0[0x400 - 0x100];
    999999    /** Offset 0x400 - State save area. */
    10001000    SVMVMCBSTATESAVE guest;
    10011001    /** Offset 0x698-0xFFF- Reserved. */
    1002     uint8_t     u8Reserved10[0x1000 - 0x698];
     1002    uint8_t     u8Reserved1[0x1000 - 0x698];
    10031003} SVMVMCB;
    10041004#pragma pack()
     
    10081008typedef const SVMVMCB *PCSVMVMCB;
    10091009AssertCompileMemberOffset(SVMVMCB, ctrl,         0x00);
    1010 AssertCompileMemberOffset(SVMVMCB, u8Reserved3,  0x100);
     1010AssertCompileMemberOffset(SVMVMCB, u8Reserved0,  0x100);
    10111011AssertCompileMemberOffset(SVMVMCB, guest,        0x400);
    1012 AssertCompileMemberOffset(SVMVMCB, u8Reserved10, 0x698);
     1012AssertCompileMemberOffset(SVMVMCB, u8Reserved1, 0x698);
    10131013AssertCompileSize(SVMVMCB, 0x1000);
    10141014
     
    10591059    /** Cache of the LBR virtualization control. */
    10601060    uint32_t            u1LbrVirt      :  1;
    1061     uint32_t            u31Reserved0   : 30;
     1061    uint32_t            u30Reserved    : 30;
    10621062    uint32_t            u32Reserved1;
    10631063    /** @} */
  • trunk/src/VBox/VMM/VMMAll/HMSVMAll.cpp

    r71910 r71927  
    435435            pIoExitInfo->u         = s_auIoOpSize[cbReg & 7];
    436436            pIoExitInfo->u        |= s_auIoAddrSize[(cAddrSizeBits >> 4) & 7];
    437             pIoExitInfo->n.u1STR   = fStrIo;
    438             pIoExitInfo->n.u1REP   = fRep;
    439             pIoExitInfo->n.u3SEG   = iEffSeg & 7;
     437            pIoExitInfo->n.u1Str   = fStrIo;
     438            pIoExitInfo->n.u1Rep   = fRep;
     439            pIoExitInfo->n.u3Seg   = iEffSeg & 7;
    440440            pIoExitInfo->n.u1Type  = enmIoType;
    441441            pIoExitInfo->n.u16Port = u16Port;
  • trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp

    r71919 r71927  
    39133913        Log4(("ctrl.IntCtrl.u1VIrqPending            %#x\n",      pVmcb->ctrl.IntCtrl.n.u1VIrqPending));
    39143914        Log4(("ctrl.IntCtrl.u1VGif                   %#x\n",      pVmcb->ctrl.IntCtrl.n.u1VGif));
    3915         Log4(("ctrl.IntCtrl.u6Reserved0              %#x\n",      pVmcb->ctrl.IntCtrl.n.u6Reserved0));
     3915        Log4(("ctrl.IntCtrl.u6Reserved0              %#x\n",      pVmcb->ctrl.IntCtrl.n.u6Reserved));
    39163916        Log4(("ctrl.IntCtrl.u4VIntrPrio              %#x\n",      pVmcb->ctrl.IntCtrl.n.u4VIntrPrio));
    39173917        Log4(("ctrl.IntCtrl.u1IgnoreTPR              %#x\n",      pVmcb->ctrl.IntCtrl.n.u1IgnoreTPR));
     
    39193919        Log4(("ctrl.IntCtrl.u1VIntrMasking           %#x\n",      pVmcb->ctrl.IntCtrl.n.u1VIntrMasking));
    39203920        Log4(("ctrl.IntCtrl.u1VGifEnable             %#x\n",      pVmcb->ctrl.IntCtrl.n.u1VGifEnable));
    3921         Log4(("ctrl.IntCtrl.u5Reserved1              %#x\n",      pVmcb->ctrl.IntCtrl.n.u5Reserved1));
     3921        Log4(("ctrl.IntCtrl.u5Reserved1              %#x\n",      pVmcb->ctrl.IntCtrl.n.u5Reserved));
    39223922        Log4(("ctrl.IntCtrl.u8VIntrVector            %#x\n",      pVmcb->ctrl.IntCtrl.n.u8VIntrVector));
    39233923        Log4(("ctrl.IntCtrl.u24Reserved              %#x\n",      pVmcb->ctrl.IntCtrl.n.u24Reserved));
     
    49924992    const uint8_t     cbReg         = (pIoExitInfo->u  >> SVM_IOIO_OP_SIZE_SHIFT)   & 7;
    49934993    const uint8_t     cAddrSizeBits = ((pIoExitInfo->u >> SVM_IOIO_ADDR_SIZE_SHIFT) & 7) << 4;
    4994     const uint8_t     iEffSeg       = pIoExitInfo->n.u3SEG;
    4995     const bool        fRep          = pIoExitInfo->n.u1REP;
    4996     const bool        fStrIo        = pIoExitInfo->n.u1STR;
     4994    const uint8_t     iEffSeg       = pIoExitInfo->n.u3Seg;
     4995    const bool        fRep          = pIoExitInfo->n.u1Rep;
     4996    const bool        fStrIo        = pIoExitInfo->n.u1Str;
    49974997
    49984998    return HMSvmIsIOInterceptActive(pvIoBitmap, u16Port, enmIoType, cbReg, cAddrSizeBits, iEffSeg, fRep, fStrIo,
     
    68636863    VBOXSTRICTRC rcStrict;
    68646864    bool fUpdateRipAlready = false;
    6865     if (IoExitInfo.n.u1STR)
     6865    if (IoExitInfo.n.u1Str)
    68666866    {
    68676867#ifdef VBOX_WITH_2ND_IEM_STEP
     
    68826882            if (cbInstr <= 15 && cbInstr >= 1)
    68836883            {
    6884                 Assert(cbInstr >= 1U + IoExitInfo.n.u1REP);
     6884                Assert(cbInstr >= 1U + IoExitInfo.n.u1Rep);
    68856885                if (IoExitInfo.n.u1Type == SVM_IOIO_WRITE)
    68866886                {
    6887                     /* Don't know exactly how to detect whether u3SEG is valid, currently
     6887                    /* Don't know exactly how to detect whether u3Seg is valid, currently
    68886888                       only enabling it for Bulldozer and later with NRIP.  OS/2 broke on
    68896889                       2384 Opterons when only checking NRIP. */
     
    68926892                        && pVM->cpum.ro.GuestFeatures.enmMicroarch >= kCpumMicroarch_AMD_15h_First)
    68936893                    {
    6894                         AssertMsg(IoExitInfo.n.u3SEG == X86_SREG_DS || cbInstr > 1U + IoExitInfo.n.u1REP,
    6895                                   ("u32Seg=%d cbInstr=%d u1REP=%d", IoExitInfo.n.u3SEG, cbInstr, IoExitInfo.n.u1REP));
    6896                         rcStrict = IEMExecStringIoWrite(pVCpu, cbValue, enmAddrMode, IoExitInfo.n.u1REP, (uint8_t)cbInstr,
    6897                                                         IoExitInfo.n.u3SEG, true /*fIoChecked*/);
     6894                        AssertMsg(IoExitInfo.n.u3Seg == X86_SREG_DS || cbInstr > 1U + IoExitInfo.n.u1Rep,
     6895                                  ("u32Seg=%d cbInstr=%d u1REP=%d", IoExitInfo.n.u3Seg, cbInstr, IoExitInfo.n.u1Rep));
     6896                        rcStrict = IEMExecStringIoWrite(pVCpu, cbValue, enmAddrMode, IoExitInfo.n.u1Rep, (uint8_t)cbInstr,
     6897                                                        IoExitInfo.n.u3Seg, true /*fIoChecked*/);
    68986898                    }
    6899                     else if (cbInstr == 1U + IoExitInfo.n.u1REP)
    6900                         rcStrict = IEMExecStringIoWrite(pVCpu, cbValue, enmAddrMode, IoExitInfo.n.u1REP, (uint8_t)cbInstr,
     6899                    else if (cbInstr == 1U + IoExitInfo.n.u1Rep)
     6900                        rcStrict = IEMExecStringIoWrite(pVCpu, cbValue, enmAddrMode, IoExitInfo.n.u1Rep, (uint8_t)cbInstr,
    69016901                                                        X86_SREG_DS, true /*fIoChecked*/);
    69026902                    else
     
    69066906                else
    69076907                {
    6908                     AssertMsg(IoExitInfo.n.u3SEG == X86_SREG_ES /*=0*/, ("%#x\n", IoExitInfo.n.u3SEG));
    6909                     rcStrict = IEMExecStringIoRead(pVCpu, cbValue, enmAddrMode, IoExitInfo.n.u1REP, (uint8_t)cbInstr,
     6908                    AssertMsg(IoExitInfo.n.u3Seg == X86_SREG_ES /*=0*/, ("%#x\n", IoExitInfo.n.u3Seg));
     6909                    rcStrict = IEMExecStringIoRead(pVCpu, cbValue, enmAddrMode, IoExitInfo.n.u1Rep, (uint8_t)cbInstr,
    69106910                                                   true /*fIoChecked*/);
    69116911                    STAM_COUNTER_INC(&pVCpu->hm.s.StatExitIOStringRead);
     
    69556955    {
    69566956        /* IN/OUT - I/O instruction. */
    6957         Assert(!IoExitInfo.n.u1REP);
     6957        Assert(!IoExitInfo.n.u1Rep);
    69586958
    69596959        if (IoExitInfo.n.u1Type == SVM_IOIO_WRITE)
Note: See TracChangeset for help on using the changeset viewer.

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