// SPDX-License-Identifier: GPL-2.0 /* * Hyper-V specific spinlock code. * * Copyright (C) 2018, Intel, Inc. * * Author : Yi Sun <[email protected]> */ #define pr_fmt(fmt) … #include <linux/spinlock.h> #include <asm/mshyperv.h> #include <asm/paravirt.h> #include <asm/apic.h> static bool hv_pvspin __initdata = …; static void hv_qlock_kick(int cpu) { … } static void hv_qlock_wait(u8 *byte, u8 val) { … } /* * Hyper-V does not support this so far. */ __visible bool hv_vcpu_is_preempted(int vcpu) { … } PV_CALLEE_SAVE_REGS_THUNK(…); void __init hv_init_spinlocks(void) { … } static __init int hv_parse_nopvspin(char *arg) { … } early_param(…);