KVM
Macros | Functions
vmx_onhyperv.c File Reference
#include "capabilities.h"
#include "vmx_onhyperv.h"
Include dependency graph for vmx_onhyperv.c:

Go to the source code of this file.

Macros

#define evmcs_check_vmcs_conf(field, ctrl)
 

Functions

 DEFINE_STATIC_KEY_FALSE (__kvm_is_using_evmcs)
 
void evmcs_sanitize_exec_ctrls (struct vmcs_config *vmcs_conf)
 

Macro Definition Documentation

◆ evmcs_check_vmcs_conf

#define evmcs_check_vmcs_conf (   field,
  ctrl 
)
Value:
do { \
typeof(vmcs_conf->field) unsupported; \
\
unsupported = vmcs_conf->field & ~EVMCS1_SUPPORTED_ ## ctrl; \
if (unsupported) { \
pr_warn_once(#field " unsupported with eVMCS: 0x%llx\n",\
(u64)unsupported); \
vmcs_conf->field &= EVMCS1_SUPPORTED_ ## ctrl; \
} \
} \
while (0)

Definition at line 15 of file vmx_onhyperv.c.

Function Documentation

◆ DEFINE_STATIC_KEY_FALSE()

DEFINE_STATIC_KEY_FALSE ( __kvm_is_using_evmcs  )

◆ evmcs_sanitize_exec_ctrls()

void evmcs_sanitize_exec_ctrls ( struct vmcs_config vmcs_conf)

Definition at line 28 of file vmx_onhyperv.c.

29 {
30  evmcs_check_vmcs_conf(cpu_based_exec_ctrl, EXEC_CTRL);
31  evmcs_check_vmcs_conf(pin_based_exec_ctrl, PINCTRL);
32  evmcs_check_vmcs_conf(cpu_based_2nd_exec_ctrl, 2NDEXEC);
33  evmcs_check_vmcs_conf(cpu_based_3rd_exec_ctrl, 3RDEXEC);
34  evmcs_check_vmcs_conf(vmentry_ctrl, VMENTRY_CTRL);
35  evmcs_check_vmcs_conf(vmexit_ctrl, VMEXIT_CTRL);
36 }
#define evmcs_check_vmcs_conf(field, ctrl)
Definition: vmx_onhyperv.c:15
Here is the caller graph for this function: