linux/arch/x86/kvm/vmx/hyperv.c

// SPDX-License-Identifier: GPL-2.0
#define pr_fmt(fmt)

#include <linux/errno.h>
#include <linux/smp.h>

#include "../cpuid.h"
#include "hyperv.h"
#include "nested.h"
#include "vmcs.h"
#include "vmx.h"
#include "trace.h"

#define CC

u64 nested_get_evmptr(struct kvm_vcpu *vcpu)
{}

uint16_t nested_get_evmcs_version(struct kvm_vcpu *vcpu)
{}

enum evmcs_revision {};

enum evmcs_ctrl_type {};

static const u32 evmcs_supported_ctrls[NR_EVMCS_CTRLS][NR_EVMCS_REVISIONS] =;

static u32 evmcs_get_supported_ctls(enum evmcs_ctrl_type ctrl_type)
{}

static bool evmcs_has_perf_global_ctrl(struct kvm_vcpu *vcpu)
{}

void nested_evmcs_filter_control_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 *pdata)
{}

static bool nested_evmcs_is_valid_controls(enum evmcs_ctrl_type ctrl_type,
					   u32 val)
{}

int nested_evmcs_check_controls(struct vmcs12 *vmcs12)
{}

int nested_enable_evmcs(struct kvm_vcpu *vcpu,
			uint16_t *vmcs_version)
{}

bool nested_evmcs_l2_tlb_flush_enabled(struct kvm_vcpu *vcpu)
{}

void vmx_hv_inject_synthetic_vmexit_post_tlb_flush(struct kvm_vcpu *vcpu)
{}