Changeset 22059 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Aug 7, 2009 11:46:14 AM (15 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/HWACCMInternal.h
r22040 r22059 548 548 struct 549 549 { 550 /** Physical address of the VM control structure (VMCS). */ 551 RTHCPHYS pVMCSPhys; 550 552 /** R0 memory object for the VM control structure (VMCS). */ 551 553 RTR0MEMOBJ pMemObjVMCS; 552 /** Physical address of the VM control structure (VMCS). */553 RTHCPHYS pVMCSPhys;554 554 /** Virtual address of the VM control structure (VMCS). */ 555 555 R0PTRTYPE(void *) pVMCS; … … 564 564 uint64_t proc_ctls2; 565 565 566 /** Physical address of the virtual APIC page for TPR caching. */ 567 RTHCPHYS pVAPICPhys; 566 568 /** R0 memory object for the virtual APIC page for TPR caching. */ 567 569 RTR0MEMOBJ pMemObjVAPIC; 568 /** Physical address of the virtual APIC page for TPR caching. */569 RTHCPHYS pVAPICPhys;570 570 /** Virtual address of the virtual APIC page for TPR caching. */ 571 571 R0PTRTYPE(uint8_t *) pVAPIC; … … 579 579 RTHCPHYS GCPhysEPTP; 580 580 581 /** Physical address of the MSR bitmap (1 page). */ 582 RTHCPHYS pMSRBitmapPhys; 581 583 /** R0 memory object for the MSR bitmap (1 page). */ 582 584 RTR0MEMOBJ pMemObjMSRBitmap; 583 /** Physical address of the MSR bitmap (1 page). */584 RTHCPHYS pMSRBitmapPhys;585 585 /** Virtual address of the MSR bitmap (1 page). */ 586 586 R0PTRTYPE(uint8_t *) pMSRBitmap; 587 587 588 /** Physical address of the guest MSR load area (1 page). */ 589 RTHCPHYS pGuestMSRPhys; 588 590 /** R0 memory object for the guest MSR load area (1 page). */ 589 591 RTR0MEMOBJ pMemObjGuestMSR; 590 /** Physical address of the guest MSR load area (1 page). */591 RTHCPHYS pGuestMSRPhys;592 592 /** Virtual address of the guest MSR load area (1 page). */ 593 593 R0PTRTYPE(uint8_t *) pGuestMSR; 594 594 595 /** Physical address of the MSR load area (1 page). */ 596 RTHCPHYS pHostMSRPhys; 595 597 /** R0 memory object for the MSR load area (1 page). */ 596 598 RTR0MEMOBJ pMemObjHostMSR; 597 /** Physical address of the MSR load area (1 page). */598 RTHCPHYS pHostMSRPhys;599 599 /** Virtual address of the MSR load area (1 page). */ 600 600 R0PTRTYPE(uint8_t *) pHostMSR; 601 602 /* Number of automatically loaded/restored MSRs. */ 603 uint32_t cCachedMSRs; 601 604 602 605 /** VMCS cache. */ -
trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp
r22051 r22059 1881 1881 } 1882 1882 } 1883 pVCpu->hwaccm.s.vmx.cCachedMSRs = idxMsr; 1883 1884 1884 1885 rc = VMXWriteVMCS(VMX_VMCS_CTRL_ENTRY_MSR_LOAD_COUNT, idxMsr); … … 2018 2019 } 2019 2020 2020 uint32_t maxMsr = 0;2021 rc = VMXReadVMCS32(VMX_VMCS_CTRL_EXIT_MSR_STORE_COUNT, &maxMsr);2022 AssertRC(rc);2023 2024 2021 /* Save the possibly changed MSRs that we automatically restore and save during a world switch. */ 2025 for (unsigned i = 0; i < maxMsr; i++)2022 for (unsigned i = 0; i < pVCpu->hwaccm.s.vmx.cCachedMSRs; i++) 2026 2023 { 2027 2024 PVMXMSR pMsr = (PVMXMSR)pVCpu->hwaccm.s.vmx.pGuestMSR;
Note:
See TracChangeset
for help on using the changeset viewer.