Changeset 91308 in vbox
- Timestamp:
- Sep 17, 2021 9:35:52 PM (3 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
-
include/VBox/vmm/cpumctx.h (modified) (4 diffs)
-
src/VBox/VMM/VMMR0/HMSVMR0.cpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/cpumctx.h
r91307 r91308 506 506 * This need not be physically contiguous pages because we use the one from 507 507 * HMPHYSCPU while executing the nested-guest using hardware-assisted SVM. 508 * This one is just used for caching the bitmap from guest physical memory. */ 508 * This one is just used for caching the bitmap from guest physical memory. 509 * 510 * @todo r=bird: This is not used directly by AMD-V hardware, so it doesn't 511 * really need to even be page aligned. 512 * 513 * Also, couldn't we just access the guest page directly when we need to, 514 * or do we have to use a cached copy of it? */ 509 515 uint8_t abMsrBitmap[SVM_MSRPM_PAGES * X86_PAGE_SIZE]; 510 516 /** 0x7000 - The IOPM (IO Permission bitmap). … … 515 521 * 516 522 * This one is just used for caching the IOPM from guest physical memory in 517 * case the guest hypervisor allows direct access to some IO ports. */ 523 * case the guest hypervisor allows direct access to some IO ports. 524 * 525 * @todo r=bird: This is not used directly by AMD-V hardware, so it doesn't 526 * really need to even be page aligned. 527 * 528 * Also, couldn't we just access the guest page directly when we need to, 529 * or do we have to use a cached copy of it? */ 518 530 uint8_t abIoBitmap[SVM_IOPM_PAGES * X86_PAGE_SIZE]; 519 531 … … 543 555 /** 0X5000 - The shadow VMCS. */ 544 556 VMXVVMCS ShadowVmcs; 545 /** 0x6000 - The VMREAD bitmap. */ 557 /** 0x6000 - The VMREAD bitmap. 558 * @todo r=bird: Do we really need to keep copies for these? Couldn't we just 559 * access the guest memory directly as needed? */ 546 560 uint8_t abVmreadBitmap[VMX_V_VMREAD_VMWRITE_BITMAP_SIZE]; 547 /** 0x7000 - The VMWRITE bitmap. */ 561 /** 0x7000 - The VMWRITE bitmap. 562 * @todo r=bird: Do we really need to keep copies for these? Couldn't we just 563 * access the guest memory directly as needed? */ 548 564 uint8_t abVmwriteBitmap[VMX_V_VMREAD_VMWRITE_BITMAP_SIZE]; 549 565 /** 0x8000 - The VM-entry MSR-load area. */ … … 553 569 /** 0xc000 - The VM-exit MSR-load area. */ 554 570 VMXAUTOMSR aExitMsrLoadArea[VMX_V_AUTOMSR_AREA_SIZE / sizeof(VMXAUTOMSR)]; 555 /** 0xe000 - The MSR permission bitmap. */ 571 /** 0xe000 - The MSR permission bitmap. 572 * @todo r=bird: Do we really need to keep copies for these? Couldn't we just 573 * access the guest memory directly as needed? */ 556 574 uint8_t abMsrBitmap[VMX_V_MSR_BITMAP_SIZE]; 557 /** 0xf000 - The I/O permission bitmap. */ 575 /** 0xf000 - The I/O permission bitmap. 576 * @todo r=bird: Do we really need to keep copies for these? Couldn't we just 577 * access the guest memory directly as needed? */ 558 578 uint8_t abIoBitmap[VMX_V_IO_BITMAP_A_SIZE + VMX_V_IO_BITMAP_B_SIZE]; 559 579 /** 0x11000 - The virtual-APIC page. -
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r91291 r91308 2490 2490 } 2491 2491 2492 2493 2492 #ifdef VBOX_WITH_NESTED_HWVIRT_SVM 2493 2494 2494 /** 2495 2495 * Merges the guest and nested-guest MSR permission bitmap. … … 2605 2605 pVCpu->hmr0.s.svm.fSyncVTpr = false; 2606 2606 2607 # ifdef DEBUG_ramshankar2607 # ifdef DEBUG_ramshankar 2608 2608 /* For debugging purposes - copy the LBR info. from outer guest VMCB. */ 2609 2609 pVmcbNstGstCtrl->LbrVirt.n.u1LbrVirt = pVmcb->ctrl.LbrVirt.n.u1LbrVirt; 2610 # endif2610 # endif 2611 2611 2612 2612 /* … … 2640 2640 } 2641 2641 } 2642 2642 2643 #endif /* VBOX_WITH_NESTED_HWVIRT_SVM */ 2643 2644 2644 2645 2645 /**
Note:
See TracChangeset
for help on using the changeset viewer.

