Changeset 73983 in vbox for trunk/include/VBox/vmm
- Timestamp:
- Aug 31, 2018 8:17:31 AM (6 years ago)
- Location:
- trunk/include/VBox/vmm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/hm_vmx.h
r73955 r73983 972 972 /** The address size; 0=16-bit, 1=32-bit, 2=64-bit, rest undefined. */ 973 973 uint32_t u3AddrSize : 3; 974 /** Memory /Register - Always cleared to 0 to indicate memoryoperand. */974 /** Memory or register operand. */ 975 975 uint32_t fIsRegOperand : 1; 976 976 /** Operand size; 0=16-bit, 1=32-bit, 2=64-bit, 3=unused. */ … … 2313 2313 #define VMX_INSTR_ID_IS_VALID(a) (((a) >> 7) & 1) 2314 2314 #define VMX_INSTR_ID_GET_ID(a) ((a) & ~VMX_INSTR_ID_VALID) 2315 #define VMX_INSTR_ID_NONE 0x7f 2316 /** The following values are in accordance to the VT-x spec: */ 2315 /** The OR'd rvalues are from the VT-x spec (valid bit is VBox specific): */ 2317 2316 #define VMX_INSTR_ID_SGDT ((VMX_INSTR_ID_VALID) | 0) 2318 2317 #define VMX_INSTR_ID_SIDT ((VMX_INSTR_ID_VALID) | 1) … … 2881 2880 kVmxVInstrDiag_Vmwrite_Success, 2882 2881 /* Last member for determining array index limit. */ 2882 /* VMREAD. */ 2883 kVmxVInstrDiag_Vmread_Cpl, 2884 kVmxVInstrDiag_Vmread_FieldInvalid, 2885 kVmxVInstrDiag_Vmread_LinkPtrInvalid, 2886 kVmxVInstrDiag_Vmread_PtrInvalid, 2887 kVmxVInstrDiag_Vmread_PtrMap, 2888 kVmxVInstrDiag_Vmread_Success, 2883 2889 kVmxVInstrDiag_Last 2884 2890 } VMXVINSTRDIAG; … … 2901 2907 typedef struct 2902 2908 { 2909 /** The VM-exit reason. */ 2910 uint32_t uReason; 2911 /** The VM-exit instruction length. */ 2912 uint32_t cbInstr; 2913 /** The VM-exit instruction information. */ 2914 VMXEXITINSTRINFO InstrInfo; 2915 /** Padding. */ 2916 uint32_t u32Padding0; 2917 2903 2918 /** The VM-exit qualification field. */ 2904 uint64_t u64 ExitQual;2919 uint64_t u64Qual; 2905 2920 /** The guest-linear address field. */ 2906 2921 uint64_t u64GuestLinearAddr; 2907 /** The VM-exit instruction information. */ 2908 VMXEXITINSTRINFO ExitInstrInfo; 2909 /** Padding. */ 2910 uint32_t u32Padding0; 2922 /** The effective guest-linear address if @a InstrInfo indicates a memory-based 2923 * instruction VM-exit. */ 2924 RTGCPTR GCPtrEffAddr; 2925 2926 /** The VM-exit instruction ID. */ 2927 VMXINSTRID uInstrId; 2911 2928 } VMXVEXITINFO; 2912 2929 /** Pointer to the VMXVEXITINFO struct. */ -
trunk/include/VBox/vmm/iem.h
r73961 r73983 323 323 324 324 #ifdef VBOX_WITH_NESTED_HWVIRT_VMX 325 VMM_INT_DECL(VBOXSTRICTRC) IEMExecDecodedVmwrite(PVMCPU pVCpu, uint8_t cbInstr, uint64_t u64Val, uint32_t uFieldEnc, 326 PCVMXVEXITINFO pExitInfo); 327 VMM_INT_DECL(VBOXSTRICTRC) IEMExecDecodedVmptrld(PVMCPU pVCpu, uint8_t cbInstr, uint8_t iEffSeg, RTGCPHYS GCPtrVmcs, 328 PCVMXVEXITINFO pExitInfo); 329 VMM_INT_DECL(VBOXSTRICTRC) IEMExecDecodedVmptrst(PVMCPU pVCpu, uint8_t cbInstr, uint8_t iEffSeg, RTGCPHYS GCPtrVmcs, 330 PCVMXVEXITINFO pExitInfo); 331 VMM_INT_DECL(VBOXSTRICTRC) IEMExecDecodedVmclear(PVMCPU pVCpu, uint8_t cbInstr, uint8_t iEffSeg, RTGCPHYS GCPtrVmcs, 332 PCVMXVEXITINFO pExitInfo); 333 VMM_INT_DECL(VBOXSTRICTRC) IEMExecDecodedVmxon(PVMCPU pVCpu, uint8_t cbInstr, uint8_t iEffSeg, RTGCPHYS GCPtrVmxon, 334 PCVMXVEXITINFO pExitInfo); 325 VMM_INT_DECL(VBOXSTRICTRC) IEMExecDecodedVmwrite(PVMCPU pVCpu, PCVMXVEXITINFO pExitInfo); 326 VMM_INT_DECL(VBOXSTRICTRC) IEMExecDecodedVmptrld(PVMCPU pVCpu, PCVMXVEXITINFO pExitInfo); 327 VMM_INT_DECL(VBOXSTRICTRC) IEMExecDecodedVmptrst(PVMCPU pVCpu, PCVMXVEXITINFO pExitInfo); 328 VMM_INT_DECL(VBOXSTRICTRC) IEMExecDecodedVmclear(PVMCPU pVCpu, PCVMXVEXITINFO pExitInfo); 329 VMM_INT_DECL(VBOXSTRICTRC) IEMExecDecodedVmxon(PVMCPU pVCpu, PCVMXVEXITINFO pExitInfo); 335 330 VMM_INT_DECL(VBOXSTRICTRC) IEMExecDecodedVmxoff(PVMCPU pVCpu, uint8_t cbInstr); 336 331 #endif
Note:
See TracChangeset
for help on using the changeset viewer.