#include <linux/kernel.h>
#include <linux/spinlock.h>
#include <linux/slab.h>
#include <linux/atomic.h>
#include <asm/paravirt.h>
#include <asm/qspinlock.h>
#include <xen/events.h>
#include "xen-ops.h"
static DEFINE_PER_CPU(int, lock_kicker_irq) = …;
static DEFINE_PER_CPU(char *, irq_name);
static DEFINE_PER_CPU(atomic_t, xen_qlock_wait_nest);
static void xen_qlock_kick(int cpu)
{ … }
static void xen_qlock_wait(u8 *byte, u8 val)
{ … }
static irqreturn_t dummy_handler(int irq, void *dev_id)
{ … }
void xen_init_lock_cpu(int cpu)
{ … }
void xen_uninit_lock_cpu(int cpu)
{ … }
PV_CALLEE_SAVE_REGS_THUNK(…);
void __init xen_init_spinlocks(void)
{ … }