#include <linux/device.h>
#include <linux/kernel.h>
#include <asm/pvclock.h>
#include <asm/kvmclock.h>
#include <linux/module.h>
#include <uapi/asm/kvm_para.h>
#include <uapi/linux/kvm_para.h>
#include <linux/ptp_clock_kernel.h>
#include <linux/ptp_kvm.h>
#include <linux/set_memory.h>
static phys_addr_t clock_pair_gpa;
static struct kvm_clock_pairing clock_pair_glbl;
static struct kvm_clock_pairing *clock_pair;
int kvm_arch_ptp_init(void)
{ … }
void kvm_arch_ptp_exit(void)
{ … }
int kvm_arch_ptp_get_clock(struct timespec64 *ts)
{ … }
int kvm_arch_ptp_get_crosststamp(u64 *cycle, struct timespec64 *tspec,
enum clocksource_ids *cs_id)
{ … }