Changeset 97005 in vbox for trunk/include
- Timestamp:
- Oct 5, 2022 2:37:41 PM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 153937
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/hm_vmx.h
r96711 r97005 3844 3844 typedef const VMXVEXITINFO *PCVMXVEXITINFO; 3845 3845 AssertCompileMemberAlignment(VMXVEXITINFO, u64Qual, 8); 3846 3847 /** Initialize a VMXVEXITINFO structure from exit reason, exit qualifier, 3848 * instruction info and length. */ 3849 #define VMXVEXITINFO_INIT_WITH_QUALIFIER_AND_INSTR_INFO(a_uReason, a_uQualifier, a_uInstrInfo, a_cbInstr) \ 3850 { (a_uReason), (a_cbInstr), { a_uInstrInfo }, VMXINSTRID_NONE, (a_uQualifier), 0, 0, 0, 0 } 3851 3852 /** Initialize a VMXVEXITINFO structure from exit reason, exit qualifier, 3853 * instruction info and length all copied from a VMXTRANSIENT structure. */ 3854 #define VMXVEXITINFO_INIT_WITH_QUALIFIER_AND_INSTR_INFO_FROM_TRANSIENT(a_pVmxTransient) \ 3855 VMXVEXITINFO_INIT_WITH_QUALIFIER_AND_INSTR_INFO((a_pVmxTransient)->uExitReason, \ 3856 (a_pVmxTransient)->uExitQual, \ 3857 (a_pVmxTransient)->ExitInstrInfo.u, \ 3858 (a_pVmxTransient)->cbExitInstr) 3859 3860 /** Initialize a VMXVEXITINFO structure from exit reason, exit qualifier, 3861 * instruction length (no info). */ 3862 #define VMXVEXITINFO_INIT_WITH_QUALIFIER_AND_INSTR_LEN(a_uReason, a_uQualifier, a_cbInstr) \ 3863 { (a_uReason), (a_cbInstr), { 0 }, VMXINSTRID_NONE, (a_uQualifier), 0, 0, 0, 0 } 3864 3865 /** Initialize a VMXVEXITINFO structure from exit reason, exit qualifier and 3866 * instruction length (no info) all copied from a VMXTRANSIENT structure. */ 3867 #define VMXVEXITINFO_INIT_WITH_QUALIFIER_AND_INSTR_LEN_FROM_TRANSIENT(a_pVmxTransient) \ 3868 VMXVEXITINFO_INIT_WITH_QUALIFIER_AND_INSTR_LEN((a_pVmxTransient)->uExitReason, \ 3869 (a_pVmxTransient)->uExitQual, \ 3870 (a_pVmxTransient)->cbExitInstr) 3871 3872 /** Initialize a VMXVEXITINFO structure from exit reason, exit qualifier, 3873 * instruction info, instruction length and guest linear address. */ 3874 #define VMXVEXITINFO_INIT_WITH_QUALIFIER_AND_INSTR_INFO_AND_LIN_ADDR(a_uReason, a_uQualifier, a_uInstrInfo, \ 3875 a_cbInstr, a_uGstLinAddr) \ 3876 { (a_uReason), (a_cbInstr), { (a_uInstrInfo) }, VMXINSTRID_NONE, (a_uQualifier), (a_uGstLinAddr), 0, 0, 0 } 3877 3878 /** Initialize a VMXVEXITINFO structure from exit reason, exit qualifier, 3879 * instruction info, instruction length and guest linear address all copied 3880 * from a VMXTRANSIENT structure. */ 3881 #define VMXVEXITINFO_INIT_WITH_QUALIFIER_AND_INSTR_INFO_AND_LIN_ADDR_FROM_TRANSIENT(a_pVmxTransient) \ 3882 VMXVEXITINFO_INIT_WITH_QUALIFIER_AND_INSTR_INFO_AND_LIN_ADDR((a_pVmxTransient)->uExitReason, \ 3883 (a_pVmxTransient)->uExitQual, \ 3884 (a_pVmxTransient)->ExitInstrInfo.u, \ 3885 (a_pVmxTransient)->cbExitInstr, \ 3886 (a_pVmxTransient)->uGuestLinearAddr) 3887 3888 /** Initialize a VMXVEXITINFO structure from exit reason and pending debug 3889 * exceptions. */ 3890 #define VMXVEXITINFO_INIT_WITH_QUALIFIER_AND_DBG_XCPTS(a_uReason, a_uPendingDbgXcpts) \ 3891 { (a_uReason), 0, { 0 }, VMXINSTRID_NONE, 0, 0, 0, (a_uPendingDbgXcpts), 0 } 3892 3893 /** Initialize a VMXVEXITINFO structure from exit reason and pending debug 3894 * exceptions both copied from a VMXTRANSIENT structure. */ 3895 #define VMXVEXITINFO_INIT_WITH_QUALIFIER_AND_DBG_XCPTS_FROM_TRANSIENT(a_pVmxTransient) \ 3896 VMXVEXITINFO_INIT_WITH_QUALIFIER_AND_DBG_XCPTS((a_pVmxTransient)->uExitReason, (a_pVmxTransient)->uGuestPendingDbgXcpts) 3897 3898 3899 /** Initialize a VMXVEXITINFO structure from exit reason, exit qualifier, 3900 * instruction length, guest linear address and guest physical address. */ 3901 #define VMXVEXITINFO_INIT_WITH_QUALIFIER_AND_INSTR_LEN_AND_GST_ADDRESSES(a_uReason, a_uQualifier, a_cbInstr, \ 3902 a_uGstLinAddr, a_uGstPhysAddr) \ 3903 { (a_uReason), (a_cbInstr), { 0 }, VMXINSTRID_NONE, (a_uQualifier), (a_uGstLinAddr), (a_uGstPhysAddr), 0, 0 } 3904 3846 3905 3847 3906 /**
Note:
See TracChangeset
for help on using the changeset viewer.