#include <linux/ktime.h>
#include <linux/list.h>
#include <linux/nospec.h>
#include <asm/kvm.h>
#include <asm/vmx.h>
#include "capabilities.h"
Go to the source code of this file.
◆ ROL16
#define ROL16 |
( |
|
val, |
|
|
|
n |
|
) |
| ((u16)(((u16)(val) << (n)) | ((u16)(val) >> (16 - (n))))) |
◆ VMCS_FIELD_INDEX_MASK
#define VMCS_FIELD_INDEX_MASK GENMASK(9, 1) |
◆ VMCS_FIELD_INDEX_SHIFT
#define VMCS_FIELD_INDEX_SHIFT (1) |
◆ vmcs_field_width
Enumerator |
---|
VMCS_FIELD_WIDTH_U16 | |
VMCS_FIELD_WIDTH_U64 | |
VMCS_FIELD_WIDTH_U32 | |
VMCS_FIELD_WIDTH_NATURAL_WIDTH | |
Definition at line 166 of file vmcs.h.
@ VMCS_FIELD_WIDTH_NATURAL_WIDTH
◆ DECLARE_PER_CPU()
DECLARE_PER_CPU |
( |
struct vmcs * |
, |
|
|
current_vmcs |
|
|
) |
| |
◆ is_alignment_check()
static bool is_alignment_check |
( |
u32 |
intr_info | ) |
|
|
inlinestatic |
Definition at line 128 of file vmcs.h.
static bool is_exception_n(u32 intr_info, u8 vector)
◆ is_breakpoint()
static bool is_breakpoint |
( |
u32 |
intr_info | ) |
|
|
inlinestatic |
◆ is_debug()
static bool is_debug |
( |
u32 |
intr_info | ) |
|
|
inlinestatic |
◆ is_double_fault()
static bool is_double_fault |
( |
u32 |
intr_info | ) |
|
|
inlinestatic |
◆ is_exception_n()
static bool is_exception_n |
( |
u32 |
intr_info, |
|
|
u8 |
vector |
|
) |
| |
|
inlinestatic |
Definition at line 93 of file vmcs.h.
95 return is_intr_type_n(intr_info, INTR_TYPE_HARD_EXCEPTION, vector);
static bool is_intr_type_n(u32 intr_info, u32 type, u8 vector)
◆ is_exception_with_error_code()
static bool is_exception_with_error_code |
( |
u32 |
intr_info | ) |
|
|
inlinestatic |
Definition at line 159 of file vmcs.h.
161 const u32 mask = INTR_INFO_VALID_MASK | INTR_INFO_DELIVER_CODE_MASK;
163 return (intr_info & mask) == mask;
◆ is_external_intr()
static bool is_external_intr |
( |
u32 |
intr_info | ) |
|
|
inlinestatic |
Definition at line 154 of file vmcs.h.
static __always_inline bool is_intr_type(u32 intr_info, u32 type)
◆ is_gp_fault()
static bool is_gp_fault |
( |
u32 |
intr_info | ) |
|
|
inlinestatic |
◆ is_icebp()
static bool is_icebp |
( |
u32 |
intr_info | ) |
|
|
inlinestatic |
◆ is_intr_type()
static __always_inline bool is_intr_type |
( |
u32 |
intr_info, |
|
|
u32 |
type |
|
) |
| |
|
static |
Definition at line 78 of file vmcs.h.
80 const u32 mask = INTR_INFO_VALID_MASK | INTR_INFO_INTR_TYPE_MASK;
82 return (intr_info & mask) == (INTR_INFO_VALID_MASK | type);
◆ is_intr_type_n()
static bool is_intr_type_n |
( |
u32 |
intr_info, |
|
|
u32 |
type, |
|
|
u8 |
vector |
|
) |
| |
|
inlinestatic |
Definition at line 85 of file vmcs.h.
87 const u32 mask = INTR_INFO_VALID_MASK | INTR_INFO_INTR_TYPE_MASK |
88 INTR_INFO_VECTOR_MASK;
90 return (intr_info & mask) == (INTR_INFO_VALID_MASK | type | vector);
◆ is_invalid_opcode()
static bool is_invalid_opcode |
( |
u32 |
intr_info | ) |
|
|
inlinestatic |
◆ is_machine_check()
static bool is_machine_check |
( |
u32 |
intr_info | ) |
|
|
inlinestatic |
◆ is_nm_fault()
static bool is_nm_fault |
( |
u32 |
intr_info | ) |
|
|
inlinestatic |
◆ is_nmi()
static __always_inline bool is_nmi |
( |
u32 |
intr_info | ) |
|
|
static |
◆ is_page_fault()
static bool is_page_fault |
( |
u32 |
intr_info | ) |
|
|
inlinestatic |
◆ vmcs_field_index()
static unsigned int vmcs_field_index |
( |
unsigned long |
field | ) |
|
|
inlinestatic |
Definition at line 188 of file vmcs.h.
#define VMCS_FIELD_INDEX_SHIFT
#define VMCS_FIELD_INDEX_MASK
◆ vmcs_field_readonly()
static int vmcs_field_readonly |
( |
unsigned long |
field | ) |
|
|
inlinestatic |
Definition at line 180 of file vmcs.h.
182 return (((field >> 10) & 0x3) == 1);
◆ vmcs_field_width()
Definition at line 173 of file vmcs.h.
177 return (field >> 13) & 0x3;