Changeset 74337 in vbox for trunk/include
- Timestamp:
- Sep 18, 2018 9:51:21 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/cpumctx.h
r74303 r74337 544 544 /** 0x2e8 - Guest physical address of the current VMCS pointer. */ 545 545 RTGCPHYS GCPhysVmcs; 546 /** 0x2f0 - Last emulated VMX instruction/VM-exit diagnostic. */ 546 /** 0x2f0 - Guest physical address of the shadow VMCS pointer. */ 547 RTGCPHYS GCPhysShadowVmcs; 548 /** 0x2f8 - Last emulated VMX instruction/VM-exit diagnostic. */ 547 549 VMXVDIAG enmDiag; 548 /** 0x2f 4- Whether the guest is in VMX root mode. */550 /** 0x2fc - Whether the guest is in VMX root mode. */ 549 551 bool fInVmxRootMode; 550 /** 0x2f 5- Whether the guest is in VMX non-root mode. */552 /** 0x2fd - Whether the guest is in VMX non-root mode. */ 551 553 bool fInVmxNonRootMode; 552 /** 0x2f 6- Whether the injected events are subjected to event intercepts. */554 /** 0x2fe - Whether the injected events are subjected to event intercepts. */ 553 555 bool fInterceptEvents; 554 bool afPadding[1];555 /** 0x 2f8- Cache of the nested-guest current VMCS - R0 ptr. */556 bool fPadding0; 557 /** 0x300 - Cache of the nested-guest current VMCS - R0 ptr. */ 556 558 R0PTRTYPE(PVMXVVMCS) pVmcsR0; 557 559 #if HC_ARCH_BITS == 32 558 560 uint32_t uVmcsR0Padding; 559 561 #endif 560 /** 0x30 0- Cache of the nested-guest curent VMCS - R3 ptr. */562 /** 0x308 - Cache of the nested-guest curent VMCS - R3 ptr. */ 561 563 R3PTRTYPE(PVMXVVMCS) pVmcsR3; 562 564 #if HC_ARCH_BITS == 32 563 565 uint32_t uVmcsR3Padding; 564 566 #endif 565 /** 0X3 08- Cache of the nested-guest shadow VMCS - R0 ptr. */567 /** 0X310 - Cache of the nested-guest shadow VMCS - R0 ptr. */ 566 568 R0PTRTYPE(PVMXVVMCS) pShadowVmcsR0; 567 569 #if HC_ARCH_BITS == 32 568 570 uint32_t uShadowVmcsR0Padding; 569 571 #endif 570 /** 0x31 0- Cache of the nested-guest shadow VMCS - R3 ptr. */572 /** 0x318 - Cache of the nested-guest shadow VMCS - R3 ptr. */ 571 573 R3PTRTYPE(PVMXVVMCS) pShadowVmcsR3; 572 574 #if HC_ARCH_BITS == 32 573 575 uint32_t uShadowVmcsR3Padding; 574 576 #endif 575 /** 0x3 18- Cache of the nested-guest Virtual-APIC page - R0 ptr. */577 /** 0x320 - Cache of the nested-guest Virtual-APIC page - R0 ptr. */ 576 578 R0PTRTYPE(void *) pvVirtApicPageR0; 577 579 #if HC_ARCH_BITS == 32 578 580 uint32_t uVirtApicPageR0Padding; 579 581 #endif 580 /** 0x32 0- Cache of the nested-guest Virtual-APIC page - R3 ptr. */582 /** 0x328 - Cache of the nested-guest Virtual-APIC page - R3 ptr. */ 581 583 R3PTRTYPE(void *) pvVirtApicPageR3; 582 584 #if HC_ARCH_BITS == 32 583 585 uint32_t uVirtApicPageR3Padding; 584 586 #endif 585 /** 0x3 28- Cache of the nested-guest VMREAD-bitmap - R0 ptr. */587 /** 0x330 - Cache of the nested-guest VMREAD-bitmap - R0 ptr. */ 586 588 R0PTRTYPE(void *) pvVmreadBitmapR0; 587 589 #if HC_ARCH_BITS == 32 588 590 uint32_t uVmreadBitmapR0Padding; 589 591 #endif 590 /** 0x33 0- Cache of the nested-guest VMREAD-bitmap - R3 ptr. */592 /** 0x338 - Cache of the nested-guest VMREAD-bitmap - R3 ptr. */ 591 593 R3PTRTYPE(void *) pvVmreadBitmapR3; 592 594 #if HC_ARCH_BITS == 32 593 595 uint32_t uVmreadBitmapR3Padding; 594 596 #endif 595 /** 0x3 38- Cache of the nested-guest VMWRITE-bitmap - R0 ptr. */597 /** 0x340 - Cache of the nested-guest VMWRITE-bitmap - R0 ptr. */ 596 598 R0PTRTYPE(void *) pvVmwriteBitmapR0; 597 599 #if HC_ARCH_BITS == 32 598 600 uint32_t uVmwriteBitmapR0Padding; 599 601 #endif 600 /** 0x34 0- Cache of the nested-guest VMWRITE-bitmap - R3 ptr. */602 /** 0x348 - Cache of the nested-guest VMWRITE-bitmap - R3 ptr. */ 601 603 R3PTRTYPE(void *) pvVmwriteBitmapR3; 602 604 #if HC_ARCH_BITS == 32 603 605 uint32_t uVmwriteBitmapR3Padding; 604 606 #endif 605 /** 0x3 48- The MSR auto-load/store area - R0 ptr. */607 /** 0x350 - The MSR auto-load/store area - R0 ptr. */ 606 608 R0PTRTYPE(PVMXAUTOMSR) pAutoMsrAreaR0; 607 609 #if HC_ARCH_BITS == 32 608 610 uint32_t uAutoMsrAreaR0; 609 611 #endif 610 /** 0x35 0- The MSR auto-load/store area - R3 ptr. */612 /** 0x358 - The MSR auto-load/store area - R3 ptr. */ 611 613 R3PTRTYPE(PVMXAUTOMSR) pAutoMsrAreaR3; 612 614 #if HC_ARCH_BITS == 32 613 615 uint32_t uAutoMsrAreaR3; 614 616 #endif 615 /** 0x3 58- Padding. */616 uint8_t abPadding[0x3f0 - 0x3 58];617 /** 0x360 - Padding. */ 618 uint8_t abPadding[0x3f0 - 0x360]; 617 619 } vmx; 618 620 } CPUM_UNION_NM(s); … … 690 692 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) svm.pvIoBitmapR3, 0x3e0); 691 693 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) svm.HCPhysVmcb, 0x3e8); 692 AssertCompileMemberOffset(CPUMCTX, hwvirt.uInhibitRip, 0x3f0);693 AssertCompileMemberOffset(CPUMCTX, hwvirt.fLocalForcedActions, 0x3f8);694 AssertCompileMemberOffset(CPUMCTX, hwvirt.fGif, 0x3fc);695 694 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) svm.pVmcbR0, 8); 696 695 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) svm.pvMsrBitmapR0, 8); … … 698 697 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.GCPhysVmxon, 0x2e0); 699 698 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.GCPhysVmcs, 0x2e8); 700 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.enmDiag, 0x2f0); 701 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fInVmxRootMode, 0x2f4); 702 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fInVmxNonRootMode, 0x2f5); 703 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pVmcsR0, 0x2f8); 704 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pVmcsR3, 0x300); 705 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pShadowVmcsR0, 0x308); 706 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pShadowVmcsR3, 0x310); 707 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVirtApicPageR0, 0x318); 708 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVirtApicPageR3, 0x320); 709 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmreadBitmapR0, 0x328); 710 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmreadBitmapR3, 0x330); 711 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmwriteBitmapR0, 0x338); 712 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmwriteBitmapR3, 0x340); 699 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.GCPhysShadowVmcs, 0x2f0); 700 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.enmDiag, 0x2f8); 701 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fInVmxRootMode, 0x2fc); 702 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fInVmxNonRootMode, 0x2fd); 703 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fInterceptEvents, 0x2fe); 704 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pVmcsR0, 0x300); 705 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pVmcsR3, 0x308); 706 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pShadowVmcsR0, 0x310); 707 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pShadowVmcsR3, 0x318); 708 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVirtApicPageR0, 0x320); 709 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVirtApicPageR3, 0x328); 710 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmreadBitmapR0, 0x330); 711 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmreadBitmapR3, 0x338); 712 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmwriteBitmapR0, 0x340); 713 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmwriteBitmapR3, 0x348); 714 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pAutoMsrAreaR0, 0x350); 715 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pAutoMsrAreaR3, 0x358); 713 716 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pVmcsR0, 8); 714 717 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pShadowVmcsR0, 8); … … 716 719 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmreadBitmapR0, 8); 717 720 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmwriteBitmapR0, 8); 721 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pAutoMsrAreaR0, 8); 722 AssertCompileMemberOffset(CPUMCTX, hwvirt.uInhibitRip, 0x3f0); 723 AssertCompileMemberOffset(CPUMCTX, hwvirt.fLocalForcedActions, 0x3f8); 724 AssertCompileMemberOffset(CPUMCTX, hwvirt.fGif, 0x3fc); 718 725 AssertCompileMembersAtSameOffset(CPUMCTX, CPUM_UNION_STRUCT_NM(g,qw.) rax, CPUMCTX, CPUM_UNION_NM(g.) aGRegs); 719 726 AssertCompileMembersAtSameOffset(CPUMCTX, CPUM_UNION_STRUCT_NM(g,qw.) rax, CPUMCTX, CPUM_UNION_STRUCT_NM(g,qw2.) r0);
Note:
See TracChangeset
for help on using the changeset viewer.