VirtualBox

Changeset 47773 in vbox for trunk/src/VBox/VMM/VMMR0


Ignore:
Timestamp:
Aug 15, 2013 2:53:40 PM (11 years ago)
Author:
vboxsync
Message:

VMM/HM: RunGuestCodeStep() Load should be Save, and some typos, cosmetics.

Location:
trunk/src/VBox/VMM/VMMR0
Files:
2 edited

Legend:

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

    r47771 r47773  
    8282{
    8383    /** Per CPU globals. */
    84     HMGLOBALCPUINFO                  aCpuInfo[RTCPUSET_MAX_CPUS];
     84    HMGLOBALCPUINFO                 aCpuInfo[RTCPUSET_MAX_CPUS];
    8585
    8686    /** @name Ring-0 method table for AMD-V and VT-x specific operations.
     
    344344        || u == UINT32_C(0x000106E5) /* 322166.pdf - AAN92  - B1 - Intel CoreTM i7-800 and i5-700 Desktop Processor Series */
    345345        || u == UINT32_C(0x000106E5) /* 320767.pdf - AAP86  - B1 - Intel Core i7-900 Mobile Processor Extreme Edition Series, Intel Core i7-800 and i7-700 Mobile Processor Series */
    346         || u == UINT32_C(0x000106A0) /*?321333.pdf - AAM126 - C0 - Intel Xeon Processor 3500 Series Specification */
    347         || u == UINT32_C(0x000106A1) /*?321333.pdf - AAM126 - C1 - Intel Xeon Processor 3500 Series Specification */
     346        || u == UINT32_C(0x000106A0) /* 321333.pdf - AAM126 - C0 - Intel Xeon Processor 3500 Series Specification */
     347        || u == UINT32_C(0x000106A1) /* 321333.pdf - AAM126 - C1 - Intel Xeon Processor 3500 Series Specification */
    348348        || u == UINT32_C(0x000106A4) /* 320836.pdf - AAJ124 - C0 - Intel Core i7-900 Desktop Processor Extreme Edition Series and Intel Core i7-900 Desktop Processor Series */
    349349        || u == UINT32_C(0x000106A5) /* 321333.pdf - AAM126 - D0 - Intel Xeon Processor 3500 Series Specification */
     
    16441644VMMR0_INT_DECL(int)   HMR0TestSwitcher3264(PVM pVM)
    16451645{
    1646     PVMCPU   pVCpu = &pVM->aCpus[0];
    1647     PCPUMCTX pCtx  = CPUMQueryGuestCtxPtr(pVCpu);
     1646    PVMCPU   pVCpu     = &pVM->aCpus[0];
     1647    PCPUMCTX pCtx      = CPUMQueryGuestCtxPtr(pVCpu);
    16481648    uint32_t aParam[5] = {0, 1, 2, 3, 4};
    16491649    int      rc;
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r47771 r47773  
    55075507     * If VT-x marks the segment as unusable, most other bits remain undefined:
    55085508     *    - For CS the L, D and G bits have meaning.
    5509      *    - For SS the DPL have meaning (it -is- the CPL for Intel and VBox).
     5509     *    - For SS the DPL has meaning (it -is- the CPL for Intel and VBox).
    55105510     *    - For the remaining data segments no bits are defined.
    55115511     *
    5512      * The present bit and the unused bit has been observed to be set at the
     5512     * The present bit and the unusable bit has been observed to be set at the
    55135513     * same time (the selector was supposed to invalid as we started executing
    55145514     * a V8086 interrupt in ring-0).
     
    55175517     * cleared.  Some of the other VBox code recognizes the unusable bit, but
    55185518     * AMD-V certainly don't, and REM doesn't really either.  So, to be on the
    5519      * safe side here we'll strip off P and other bits we don't care about.  If
    5520      * any code breaks because attr.u != 0 when Sel < 4, it should be fixed.
     5519     * safe side here, we'll strip off P and other bits we don't care about.  If
     5520     * any code breaks because Attr.u != 0 when Sel < 4, it should be fixed.
    55215521     *
    55225522     * See Intel spec. 27.3.2 "Saving Segment Registers and Descriptor-Table Registers".
     
    55295529        pSelReg->Attr.u &= X86DESCATTR_UNUSABLE | X86DESCATTR_L | X86DESCATTR_D | X86DESCATTR_G
    55305530                         | X86DESCATTR_DPL | X86DESCATTR_TYPE | X86DESCATTR_DT;
     5531
    55315532        Log4(("hmR0VmxReadSegmentReg: Unusable idxSel=%#x attr=%#x -> %#x\n", idxSel, u32Val, pSelReg->Attr.u));
    55325533#ifdef DEBUG_bird
     
    61936194        pVCpu->hm.s.fClearTrapFlag = false;
    61946195    }
    6195 /** @todo there seems to be issues with the resume flag when the monitor trap
    6196  *        flag is pending without being used. Seen early in bios init when
    6197  *        accessing APIC page in prot mode. */
     6196    /** @todo there seems to be issues with the resume flag when the monitor trap
     6197     *        flag is pending without being used. Seen early in bios init when
     6198     *        accessing APIC page in prot mode. */
    61986199
    61996200    /* On our way back from ring-3 the following needs to be done. */
     
    74917492         * Otherwise, make sure one of the TFs gets set.
    74927493         */
    7493         int rc2 = hmR0VmxLoadGuestRip(pVCpu, pCtx);
    7494         rc2 |= hmR0VmxSaveGuestSegmentRegs(pVCpu, pCtx);
     7494        int rc2 = hmR0VmxSaveGuestRip(pVCpu, pCtx);
     7495        rc2    |= hmR0VmxSaveGuestSegmentRegs(pVCpu, pCtx);
    74957496        AssertRCReturn(rc2, rc2);
    74967497        if (   pCtx->rip    != uRipStart
     
    77517752        Assert(u32Val == pVCpu->hm.s.vmx.u32ProcCtls);
    77527753#endif
    7753         const bool fLongModeGuest = !!(pVCpu->hm.s.vmx.u32ProcCtls & VMX_VMCS_CTRL_ENTRY_IA32E_MODE_GUEST);
     7754        bool const fLongModeGuest = !!(pVCpu->hm.s.vmx.u32ProcCtls & VMX_VMCS_CTRL_ENTRY_IA32E_MODE_GUEST);
    77547755
    77557756        /*
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