VirtualBox

Changeset 79713 in vbox for trunk/include/VBox/vmm


Ignore:
Timestamp:
Jul 12, 2019 5:59:05 AM (5 years ago)
Author:
vboxsync
Message:

VMM: Nested VMX: bugref:9180 Added uDiagAux.

Location:
trunk/include/VBox/vmm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/cpum.mac

    r78632 r79713  
    280280    alignb 8
    281281    .hwvirt.svm.HCPhysVmcb             RTHCPHYS_RES  1
    282     .hwvirt.svm.au64Padding0           resq         33
     282    .hwvirt.svm.abPadding0             resb        272
    283283    .hwvirt.enmHwvirt                  resd          1
    284284    .hwvirt.fGif                       resb          1
  • trunk/include/VBox/vmm/cpumctx.h

    r79572 r79713  
    555555                RTHCPHYS                HCPhysVmcb;
    556556                /** 0x3f0 - Padding. */
    557                 uint64_t                au64Padding0[33];
     557                uint8_t                 abPadding0[272];
    558558            } svm;
    559559
     
    568568                /** 0x2f8 - Last emulated VMX instruction/VM-exit diagnostic. */
    569569                VMXVDIAG                enmDiag;
    570                 /** 0x2fc - VMX abort reason. */
     570                /** 0x2fc - Last emulated VMX instruction/VM-exit diagnostic auxiliary
     571                 *  information field. */
     572                uint64_t                uDiagAux;
     573                /** 0x304 - VMX abort reason. */
    571574                VMXABORT                enmAbort;
    572                 /** 0x300 - VMX abort auxiliary information field. */
     575                /** 0x308 - VMX abort auxiliary information field. */
    573576                uint32_t                uAbortAux;
    574                 /** 0x304 - Whether the guest is in VMX root mode. */
     577                /** 0x30c - Whether the guest is in VMX root mode. */
    575578                bool                    fInVmxRootMode;
    576                 /** 0x305 - Whether the guest is in VMX non-root mode. */
     579                /** 0x30d - Whether the guest is in VMX non-root mode. */
    577580                bool                    fInVmxNonRootMode;
    578                 /** 0x306 - Whether the injected events are subjected to event intercepts.  */
     581                /** 0x30e - Whether the injected events are subjected to event intercepts.  */
    579582                bool                    fInterceptEvents;
    580                 /** 0x307 - Whether blocking of NMI (or virtual-NMIs) was in effect in VMX non-root
     583                /** 0x30f - Whether blocking of NMI (or virtual-NMIs) was in effect in VMX non-root
    581584                 *  mode before execution of IRET. */
    582585                bool                    fNmiUnblockingIret;
    583                 /** 0x308 - The current VMCS - R0 ptr. */
     586                /** 0x310 - The current VMCS - R0 ptr. */
    584587                R0PTRTYPE(PVMXVVMCS)    pVmcsR0;
    585588#if HC_ARCH_BITS == 32
    586589                uint32_t                uVmcsR0Padding;
    587590#endif
    588                 /** 0x310 - The curent VMCS - R3 ptr. */
     591                /** 0x318 - The curent VMCS - R3 ptr. */
    589592                R3PTRTYPE(PVMXVVMCS)    pVmcsR3;
    590593#if HC_ARCH_BITS == 32
    591594                uint32_t                uVmcsR3Padding;
    592595#endif
    593                 /** 0X318 - The shadow VMCS - R0 ptr. */
     596                /** 0X320 - The shadow VMCS - R0 ptr. */
    594597                R0PTRTYPE(PVMXVVMCS)    pShadowVmcsR0;
    595598#if HC_ARCH_BITS == 32
    596599                uint32_t                uShadowVmcsR0Padding;
    597600#endif
    598                 /** 0x320 - The shadow VMCS - R3 ptr. */
     601                /** 0x328 - The shadow VMCS - R3 ptr. */
    599602                R3PTRTYPE(PVMXVVMCS)    pShadowVmcsR3;
    600603#if HC_ARCH_BITS == 32
    601604                uint32_t                uShadowVmcsR3Padding;
    602605#endif
    603                 /** 0x328 - The virtual-APIC page - R0 ptr. */
     606                /** 0x330 - The virtual-APIC page - R0 ptr. */
    604607                R0PTRTYPE(void *)       pvVirtApicPageR0;
    605608#if HC_ARCH_BITS == 32
    606609                uint32_t                uVirtApicPageR0Padding;
    607610#endif
    608                 /** 0x330 - The virtual-APIC page - R3 ptr. */
     611                /** 0x338 - The virtual-APIC page - R3 ptr. */
    609612                R3PTRTYPE(void *)       pvVirtApicPageR3;
    610613#if HC_ARCH_BITS == 32
    611614                uint32_t                uVirtApicPageR3Padding;
    612615#endif
    613                 /** 0x338 - The VMREAD bitmap - R0 ptr. */
     616                /** 0x340 - The VMREAD bitmap - R0 ptr. */
    614617                R0PTRTYPE(void *)       pvVmreadBitmapR0;
    615618#if HC_ARCH_BITS == 32
    616619                uint32_t                uVmreadBitmapR0Padding;
    617620#endif
    618                 /** 0x340 - The VMREAD bitmap - R3 ptr. */
     621                /** 0x348 - The VMREAD bitmap - R3 ptr. */
    619622                R3PTRTYPE(void *)       pvVmreadBitmapR3;
    620623#if HC_ARCH_BITS == 32
    621624                uint32_t                uVmreadBitmapR3Padding;
    622625#endif
    623                 /** 0x348 - The VMWRITE bitmap - R0 ptr. */
     626                /** 0x350 - The VMWRITE bitmap - R0 ptr. */
    624627                R0PTRTYPE(void *)       pvVmwriteBitmapR0;
    625628#if HC_ARCH_BITS == 32
    626629                uint32_t                uVmwriteBitmapR0Padding;
    627630#endif
    628                 /** 0x350 - The VMWRITE bitmap - R3 ptr. */
     631                /** 0x358 - The VMWRITE bitmap - R3 ptr. */
    629632                R3PTRTYPE(void *)       pvVmwriteBitmapR3;
    630633#if HC_ARCH_BITS == 32
    631634                uint32_t                uVmwriteBitmapR3Padding;
    632635#endif
    633                 /** 0x358 - The VM-entry MSR-load area - R0 ptr. */
     636                /** 0x360 - The VM-entry MSR-load area - R0 ptr. */
    634637                R0PTRTYPE(PVMXAUTOMSR)  pEntryMsrLoadAreaR0;
    635638#if HC_ARCH_BITS == 32
    636639                uint32_t                uEntryMsrLoadAreaR0;
    637640#endif
    638                 /** 0x360 - The VM-entry MSR-load area - R3 ptr. */
     641                /** 0x368 - The VM-entry MSR-load area - R3 ptr. */
    639642                R3PTRTYPE(PVMXAUTOMSR)  pEntryMsrLoadAreaR3;
    640643#if HC_ARCH_BITS == 32
    641644                uint32_t                uEntryMsrLoadAreaR3;
    642645#endif
    643                 /** 0x368 - The VM-exit MSR-store area - R0 ptr. */
     646                /** 0x370 - The VM-exit MSR-store area - R0 ptr. */
    644647                R0PTRTYPE(PVMXAUTOMSR)  pExitMsrStoreAreaR0;
    645648#if HC_ARCH_BITS == 32
    646649                uint32_t                uExitMsrStoreAreaR0;
    647650#endif
    648                 /** 0x370 - The VM-exit MSR-store area - R3 ptr. */
     651                /** 0x378 - The VM-exit MSR-store area - R3 ptr. */
    649652                R3PTRTYPE(PVMXAUTOMSR)  pExitMsrStoreAreaR3;
    650653#if HC_ARCH_BITS == 32
    651654                uint32_t                uExitMsrStoreAreaR3;
    652655#endif
    653                 /** 0x378 - The VM-exit MSR-load area - R0 ptr. */
     656                /** 0x380 - The VM-exit MSR-load area - R0 ptr. */
    654657                R0PTRTYPE(PVMXAUTOMSR)  pExitMsrLoadAreaR0;
    655658#if HC_ARCH_BITS == 32
    656659                uint32_t                uExitMsrLoadAreaR0;
    657660#endif
    658                 /** 0x380 - The VM-exit MSR-load area - R3 ptr. */
     661                /** 0x388 - The VM-exit MSR-load area - R3 ptr. */
    659662                R3PTRTYPE(PVMXAUTOMSR)  pExitMsrLoadAreaR3;
    660663#if HC_ARCH_BITS == 32
    661664                uint32_t                uExitMsrLoadAreaR3;
    662665#endif
    663                 /** 0x388 - MSR bitmap - R0 ptr. */
     666                /** 0x390 - MSR bitmap - R0 ptr. */
    664667                R0PTRTYPE(void *)       pvMsrBitmapR0;
    665668#if HC_ARCH_BITS == 32
    666669                uint32_t                uMsrBitmapR0;
    667670#endif
    668                 /** 0x390 - The MSR bitmap - R3 ptr. */
     671                /** 0x398 - The MSR bitmap - R3 ptr. */
    669672                R3PTRTYPE(void *)       pvMsrBitmapR3;
    670673#if HC_ARCH_BITS == 32
    671674                uint32_t                uMsrBitmapR3;
    672675#endif
    673                 /** 0x398 - The I/O bitmap - R0 ptr. */
     676                /** 0x3a0 - The I/O bitmap - R0 ptr. */
    674677                R0PTRTYPE(void *)       pvIoBitmapR0;
    675678#if HC_ARCH_BITS == 32
    676679                uint32_t                uIoBitmapR0;
    677680#endif
    678                 /** 0x3a0 - The I/O bitmap - R3 ptr. */
     681                /** 0x3a8 - The I/O bitmap - R3 ptr. */
    679682                R3PTRTYPE(void *)       pvIoBitmapR3;
    680683#if HC_ARCH_BITS == 32
    681684                uint32_t                uIoBitmapR3;
    682685#endif
    683                 /** 0x3a8 - Guest TSC timestamp of the first PAUSE instruction that is considered to
     686                /** 0x3b0 - Guest TSC timestamp of the first PAUSE instruction that is considered to
    684687                 *  be the first in a loop. */
    685688                uint64_t                uFirstPauseLoopTick;
    686                 /** 0x3b0 - Guest TSC timestamp of the previous PAUSE instruction. */
     689                /** 0x3b8 - Guest TSC timestamp of the previous PAUSE instruction. */
    687690                uint64_t                uPrevPauseTick;
    688                 /** 0x3b8 - Guest TSC timestamp of VM-entry (used for VMX-preemption timer). */
     691                /** 0x3c0 - Guest TSC timestamp of VM-entry (used for VMX-preemption timer). */
    689692                uint64_t                uEntryTick;
    690                 /** 0x3c0 - Virtual-APIC write offset (until trap-like VM-exit). */
     693                /** 0x3c8 - Virtual-APIC write offset (until trap-like VM-exit). */
    691694                uint16_t                offVirtApicWrite;
    692                 /** 0x3c2 - Whether virtual-NMI blocking is in effect. */
     695                /** 0x3ca - Whether virtual-NMI blocking is in effect. */
    693696                bool                    fVirtNmiBlocking;
    694                 /** 0x3c3 - Whether the virtual-APIC may have been modified in VMX non-root
     697                /** 0x3cb - Whether the virtual-APIC may have been modified in VMX non-root
    695698                 *  operation and we should write to it before VM-exit. */
    696699                bool                    fVirtApicPageDirty;
    697                 /** 0x3c4 - Padding. */
     700                /** 0x3cc - Padding. */
    698701                uint8_t                 abPadding0[4];
    699                 /** 0x3c8 - Guest VMX MSRs. */
     702                /** 0x3d0 - Guest VMX MSRs. */
    700703                VMXMSRS                 Msrs;
    701                 /** 0x4a8 - Host physical address of the VMCS. */
     704                /** 0x4b0 - Host physical address of the VMCS. */
    702705                RTHCPHYS                HCPhysVmcs;
    703                 /** 0x4b0 - Host physical address of the shadow VMCS. */
     706                /** 0x4b8 - Host physical address of the shadow VMCS. */
    704707                RTHCPHYS                HCPhysShadowVmcs;
    705                 /** 0x4b8 - Host physical address of the virtual-APIC page. */
     708                /** 0x4c0 - Host physical address of the virtual-APIC page. */
    706709                RTHCPHYS                HCPhysVirtApicPage;
    707                 /** 0x4c0 - Host physical address of the VMREAD bitmap. */
     710                /** 0x4c8 - Host physical address of the VMREAD bitmap. */
    708711                RTHCPHYS                HCPhysVmreadBitmap;
    709                 /** 0x4c8 - Host physical address of the VMWRITE bitmap. */
     712                /** 0x4d0 - Host physical address of the VMWRITE bitmap. */
    710713                RTHCPHYS                HCPhysVmwriteBitmap;
    711                 /** 0x4d0 - Host physical address of the VM-entry MSR-load area. */
     714                /** 0x4d8 - Host physical address of the VM-entry MSR-load area. */
    712715                RTHCPHYS                HCPhysEntryMsrLoadArea;
    713                 /** 0x4d8 - Host physical address of the VM-exit MSR-store area. */
     716                /** 0x4e0 - Host physical address of the VM-exit MSR-store area. */
    714717                RTHCPHYS                HCPhysExitMsrStoreArea;
    715                 /** 0x4e0 - Host physical address of the VM-exit MSR-load area. */
     718                /** 0x4e8 - Host physical address of the VM-exit MSR-load area. */
    716719                RTHCPHYS                HCPhysExitMsrLoadArea;
    717                 /** 0x4e8 - Host physical address of the MSR bitmap. */
     720                /** 0x4f0 - Host physical address of the MSR bitmap. */
    718721                RTHCPHYS                HCPhysMsrBitmap;
    719                 /** 0x4f0 - Host physical address of the I/O bitmap. */
     722                /** 0x4f8 - Host physical address of the I/O bitmap. */
    720723                RTHCPHYS                HCPhysIoBitmap;
    721724            } vmx;
    722725        } CPUM_UNION_NM(s);
    723726
    724         /** 0x4f8 - Hardware virtualization type currently in use. */
     727        /** 0x500 - Hardware virtualization type currently in use. */
    725728        CPUMHWVIRT              enmHwvirt;
    726         /** 0x4fc - Global interrupt flag - AMD only (always true on Intel). */
     729        /** 0x504 - Global interrupt flag - AMD only (always true on Intel). */
    727730        bool                    fGif;
    728731        bool                    afPadding1[3];
    729         /** 0x500 - A subset of guest force flags that are saved while running the
     732        /** 0x508 - A subset of guest force flags that are saved while running the
    730733         *  nested-guest. */
    731734#ifdef VMCPU_WITH_64_BIT_FFS
     
    735738        uint32_t                fPadding;
    736739#endif
    737         /** 0x508 - Pad to 64 byte boundary. */
    738         uint8_t                 abPadding0[56];
     740        /** 0x510 - Pad to 64 byte boundary. */
     741        uint8_t                 abPadding0[48];
    739742    } hwvirt;
    740743    /** @} */
     
    807810AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.GCPhysShadowVmcs,            0x2f0);
    808811AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.enmDiag,                     0x2f8);
    809 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.enmAbort,                    0x2fc);
    810 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uAbortAux,                   0x300);
    811 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fInVmxRootMode,              0x304);
    812 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fInVmxNonRootMode,           0x305);
    813 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fInterceptEvents,            0x306);
    814 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fNmiUnblockingIret,          0x307);
    815 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pVmcsR0,                     0x308);
    816 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pVmcsR3,                     0x310);
    817 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pShadowVmcsR0,               0x318);
    818 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pShadowVmcsR3,               0x320);
    819 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVirtApicPageR0,            0x328);
    820 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVirtApicPageR3,            0x330);
    821 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmreadBitmapR0,            0x338);
    822 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmreadBitmapR3,            0x340);
    823 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmwriteBitmapR0,           0x348);
    824 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmwriteBitmapR3,           0x350);
    825 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pEntryMsrLoadAreaR0,         0x358);
    826 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pEntryMsrLoadAreaR3,         0x360);
    827 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pExitMsrStoreAreaR0,         0x368);
    828 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pExitMsrStoreAreaR3,         0x370);
    829 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pExitMsrLoadAreaR0,          0x378);
    830 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pExitMsrLoadAreaR3,          0x380);
    831 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvMsrBitmapR0,               0x388);
    832 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvMsrBitmapR3,               0x390);
    833 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvIoBitmapR0,                0x398);
    834 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvIoBitmapR3,                0x3a0);
    835 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uFirstPauseLoopTick,         0x3a8);
    836 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uPrevPauseTick,              0x3b0);
    837 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uEntryTick,                  0x3b8);
    838 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.offVirtApicWrite,            0x3c0);
    839 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fVirtNmiBlocking,            0x3c2);
    840 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fVirtApicPageDirty,          0x3c3);
    841 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.Msrs,                        0x3c8);
    842 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysVmcs,                  0x4a8);
    843 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysShadowVmcs,            0x4b0);
    844 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysVirtApicPage,          0x4b8);
    845 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysVmreadBitmap,          0x4c0);
    846 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysVmwriteBitmap,         0x4c8);
    847 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysEntryMsrLoadArea,      0x4d0);
    848 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysExitMsrStoreArea,      0x4d8);
    849 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysExitMsrLoadArea,       0x4e0);
    850 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysMsrBitmap,             0x4e8);
    851 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysIoBitmap,              0x4f0);
     812AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uDiagAux,                    0x2fc);
     813AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.enmAbort,                    0x304);
     814AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uAbortAux,                   0x308);
     815AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fInVmxRootMode,              0x30c);
     816AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fInVmxNonRootMode,           0x30d);
     817AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fInterceptEvents,            0x30e);
     818AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fNmiUnblockingIret,          0x30f);
     819AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pVmcsR0,                     0x310);
     820AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pVmcsR3,                     0x318);
     821AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pShadowVmcsR0,               0x320);
     822AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pShadowVmcsR3,               0x328);
     823AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVirtApicPageR0,            0x330);
     824AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVirtApicPageR3,            0x338);
     825AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmreadBitmapR0,            0x340);
     826AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmreadBitmapR3,            0x348);
     827AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmwriteBitmapR0,           0x350);
     828AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvVmwriteBitmapR3,           0x358);
     829AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pEntryMsrLoadAreaR0,         0x360);
     830AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pEntryMsrLoadAreaR3,         0x368);
     831AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pExitMsrStoreAreaR0,         0x370);
     832AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pExitMsrStoreAreaR3,         0x378);
     833AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pExitMsrLoadAreaR0,          0x380);
     834AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pExitMsrLoadAreaR3,          0x388);
     835AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvMsrBitmapR0,               0x390);
     836AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvMsrBitmapR3,               0x398);
     837AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvIoBitmapR0,                0x3a0);
     838AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvIoBitmapR3,                0x3a8);
     839AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uFirstPauseLoopTick,         0x3b0);
     840AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uPrevPauseTick,              0x3b8);
     841AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uEntryTick,                  0x3c0);
     842AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.offVirtApicWrite,            0x3c8);
     843AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fVirtNmiBlocking,            0x3ca);
     844AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.fVirtApicPageDirty,          0x3cb);
     845AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.Msrs,                        0x3d0);
     846AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysVmcs,                  0x4b0);
     847AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysShadowVmcs,            0x4b8);
     848AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysVirtApicPage,          0x4c0);
     849AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysVmreadBitmap,          0x4c8);
     850AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysVmwriteBitmap,         0x4d0);
     851AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysEntryMsrLoadArea,      0x4d8);
     852AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysExitMsrStoreArea,      0x4e0);
     853AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysExitMsrLoadArea,       0x4e8);
     854AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysMsrBitmap,             0x4f0);
     855AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.HCPhysIoBitmap,              0x4f8);
    852856AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pVmcsR0,               8);
    853857AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pShadowVmcsR0,         8);
     
    860864AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvIoBitmapR0,          8);
    861865AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.Msrs,                  8);
    862 AssertCompileMemberOffset(CPUMCTX, hwvirt.enmHwvirt,           0x4f8);
    863 AssertCompileMemberOffset(CPUMCTX, hwvirt.fGif,                0x4fc);
    864 AssertCompileMemberOffset(CPUMCTX, hwvirt.fLocalForcedActions, 0x500);
     866AssertCompileMemberOffset(CPUMCTX, hwvirt.enmHwvirt,           0x500);
     867AssertCompileMemberOffset(CPUMCTX, hwvirt.fGif,                0x504);
     868AssertCompileMemberOffset(CPUMCTX, hwvirt.fLocalForcedActions, 0x508);
    865869AssertCompileMembersAtSameOffset(CPUMCTX, CPUM_UNION_STRUCT_NM(g,qw.) rax, CPUMCTX, CPUM_UNION_NM(g.) aGRegs);
    866870AssertCompileMembersAtSameOffset(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.

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