#define pr_fmt(fmt) …
#include <linux/hyperv.h>
#include <linux/log2.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <asm/fpu/api.h>
#include <asm/mshyperv.h>
#include <asm/msr.h>
#include <asm/tlbflush.h>
#include <asm/tlb.h>
#define CREATE_TRACE_POINTS
#include <asm/trace/hyperv.h>
#define HV_TLB_FLUSH_UNIT …
static u64 hyperv_flush_tlb_others_ex(const struct cpumask *cpus,
const struct flush_tlb_info *info);
static inline int fill_gva_list(u64 gva_list[], int offset,
unsigned long start, unsigned long end)
{ … }
static bool cpu_is_lazy(int cpu)
{ … }
static void hyperv_flush_tlb_multi(const struct cpumask *cpus,
const struct flush_tlb_info *info)
{ … }
static u64 hyperv_flush_tlb_others_ex(const struct cpumask *cpus,
const struct flush_tlb_info *info)
{ … }
void hyperv_setup_mmu_ops(void)
{ … }