vmx_basic
static inline u32 vmx_basic_vmcs_revision_id(u64 vmx_basic)
return vmx_basic & GENMASK_ULL(30, 0);
static inline u32 vmx_basic_vmcs_size(u64 vmx_basic)
return (vmx_basic & GENMASK_ULL(44, 32)) >> 32;
static inline u32 vmx_basic_vmcs_mem_type(u64 vmx_basic)
return (vmx_basic & GENMASK_ULL(53, 50)) >> 50;
u64 vmx_basic = vmcs_config.nested.basic;
if (!is_bitwise_subset(vmx_basic, data, feature_bits | reserved_bits))
if (vmx_basic_vmcs_revision_id(vmx_basic) !=
if (vmx_basic_vmcs_size(vmx_basic) > vmx_basic_vmcs_size(data))
union vmx_basic basic;