linux/arch/x86/hyperv/hv_apic.c

// SPDX-License-Identifier: GPL-2.0

/*
 * Hyper-V specific APIC code.
 *
 * Copyright (C) 2018, Microsoft, Inc.
 *
 * Author : K. Y. Srinivasan <[email protected]>
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 as published
 * by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
 * NON INFRINGEMENT.  See the GNU General Public License for more
 * details.
 *
 */

#include <linux/types.h>
#include <linux/vmalloc.h>
#include <linux/mm.h>
#include <linux/clockchips.h>
#include <linux/hyperv.h>
#include <linux/slab.h>
#include <linux/cpuhotplug.h>
#include <asm/hypervisor.h>
#include <asm/mshyperv.h>
#include <asm/apic.h>

#include <asm/trace/hyperv.h>

static struct apic orig_apic;

static u64 hv_apic_icr_read(void)
{}

static void hv_apic_icr_write(u32 low, u32 id)
{}

static u32 hv_apic_read(u32 reg)
{}

static void hv_apic_write(u32 reg, u32 val)
{}

static void hv_apic_eoi_write(void)
{}

static bool cpu_is_self(int cpu)
{}

/*
 * IPI implementation on Hyper-V.
 */
static bool __send_ipi_mask_ex(const struct cpumask *mask, int vector,
			       bool exclude_self)
{}

static bool __send_ipi_mask(const struct cpumask *mask, int vector,
			    bool exclude_self)
{}

static bool __send_ipi_one(int cpu, int vector)
{}

static void hv_send_ipi(int cpu, int vector)
{}

static void hv_send_ipi_mask(const struct cpumask *mask, int vector)
{}

static void hv_send_ipi_mask_allbutself(const struct cpumask *mask, int vector)
{}

static void hv_send_ipi_allbutself(int vector)
{}

static void hv_send_ipi_all(int vector)
{}

static void hv_send_ipi_self(int vector)
{}

void __init hv_apic_init(void)
{}