Changeset 73774 in vbox for trunk/include
- Timestamp:
- Aug 20, 2018 8:36:16 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/hm_vmx.h
r73773 r73774 1781 1781 1782 1782 1783 /** @name VMCS field encoding: Widths 1783 /** @name VMCS field encoding: Access. 1784 * @{ */ 1785 typedef enum 1786 { 1787 VMXVMCSFIELDACCESS_FULL = 0, 1788 VMXVMCSFIELDACCESS_HIGH 1789 } VMXVMCSFIELDACCESS; 1790 AssertCompileSize(VMXVMCSFIELDACCESS, 4); 1791 /** @} */ 1792 1793 1794 /** @name VMCS field encoding: Type. 1795 * @{ */ 1796 typedef enum 1797 { 1798 VMXVMCSFIELDTYPE_CONTROL = 0, 1799 VMXVMCSFIELDTYPE_VMEXIT_INFO, 1800 VMXVMCSFIELDTYPE_GUEST_STATE, 1801 VMXVMCSFIELDTYPE_HOST_STATE 1802 } VMXVMCSFIELDTYPE; 1803 AssertCompileSize(VMXVMCSFIELDTYPE, 4); 1804 /** @} */ 1805 1806 1807 /** @name VMCS field encoding: Width. 1784 1808 * @{ */ 1785 1809 typedef enum … … 2844 2868 return (uFieldEnc >> 13) & 0x3; 2845 2869 } 2870 2871 2872 /** 2873 * Returns whether the given VMCS field is a read-only VMCS field or not. 2874 * 2875 * @returns @c true if it's a read-only field, @c false otherwise. 2876 * @param uFieldEnc The VMCS field encoding. 2877 * 2878 * @remarks Warning! This function does not verify the encoding is for a valid and 2879 * supported VMCS field. 2880 */ 2881 DECLINLINE(bool) HMVmxIsVmcsFieldReadOnly(uint32_t uFieldEnc) 2882 { 2883 /* See Intel spec. B.4.2 "Natural-Width Read-Only Data Fields". */ 2884 return (RT_BF_GET(uFieldEnc, VMX_BF_VMCS_ENC_TYPE) == VMXVMCSFIELDTYPE_VMEXIT_INFO); 2885 } 2846 2886 /** @} */ 2847 2887
Note:
See TracChangeset
for help on using the changeset viewer.