#ifndef __KVM_X86_VMX_VMCS_H
#define __KVM_X86_VMX_VMCS_H
#include <linux/ktime.h>
#include <linux/list.h>
#include <linux/nospec.h>
#include <asm/kvm.h>
#include <asm/vmx.h>
#include "capabilities.h"
#define ROL16(val, n) …
struct vmcs_hdr { … };
struct vmcs { … };
DECLARE_PER_CPU(struct vmcs *, current_vmcs);
struct vmcs_host_state { … };
struct vmcs_controls_shadow { … };
struct loaded_vmcs { … };
static __always_inline bool is_intr_type(u32 intr_info, u32 type)
{ … }
static inline bool is_intr_type_n(u32 intr_info, u32 type, u8 vector)
{ … }
static inline bool is_exception_n(u32 intr_info, u8 vector)
{ … }
static inline bool is_debug(u32 intr_info)
{ … }
static inline bool is_breakpoint(u32 intr_info)
{ … }
static inline bool is_double_fault(u32 intr_info)
{ … }
static inline bool is_page_fault(u32 intr_info)
{ … }
static inline bool is_invalid_opcode(u32 intr_info)
{ … }
static inline bool is_gp_fault(u32 intr_info)
{ … }
static inline bool is_alignment_check(u32 intr_info)
{ … }
static inline bool is_machine_check(u32 intr_info)
{ … }
static inline bool is_nm_fault(u32 intr_info)
{ … }
static inline bool is_ve_fault(u32 intr_info)
{ … }
static inline bool is_icebp(u32 intr_info)
{ … }
static __always_inline bool is_nmi(u32 intr_info)
{ … }
static inline bool is_external_intr(u32 intr_info)
{ … }
static inline bool is_exception_with_error_code(u32 intr_info)
{ … }
enum vmcs_field_width { … };
static inline int vmcs_field_width(unsigned long field)
{ … }
static inline int vmcs_field_readonly(unsigned long field)
{ … }
#define VMCS_FIELD_INDEX_SHIFT …
#define VMCS_FIELD_INDEX_MASK …
static inline unsigned int vmcs_field_index(unsigned long field)
{ … }
#endif