[PATCH 20/41] UBUNTU: SAUCE: asm-generic: hyperv: Fix incorrect architecture dependencies
Tim Gardner
tim.gardner at canonical.com
Thu Nov 4 12:54:28 UTC 2021
From: Michael Kelley <mikelley at microsoft.com>
BugLink: https://bugs.launchpad.net/bugs/1949770
Move the declaration of hv_root_partition and hyperv_pcpu_input_arg
from the x86-specific mshyperv.h to the arch independent mshyperv.h
since they are used by arch independent code. While here, add a
missing #include needed to compile correctly on ARM64.
Signed-off-by: Michael Kelley <mikelley at microsoft.com>
[marcelo.cerri at canonical.com: back ported from
https://lore.kernel.org/linux-hyperv/1620841067-46606-2-git-send-email-mikelley@microsoft.com/]
Signed-off-by: Marcelo Henrique Cerri <marcelo.cerri at canonical.com>
---
arch/x86/include/asm/mshyperv.h | 3 ---
include/asm-generic/mshyperv.h | 5 +++++
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h
index 10cf34d33ddd..c16cd567798d 100644
--- a/arch/x86/include/asm/mshyperv.h
+++ b/arch/x86/include/asm/mshyperv.h
@@ -36,7 +36,6 @@ void hyperv_vector_handler(struct pt_regs *regs);
extern int hyperv_init_cpuhp;
extern void *hv_hypercall_pg;
-extern void __percpu **hyperv_pcpu_input_arg;
static inline u64 hv_do_hypercall(u64 control, void *input, void *output)
{
@@ -163,8 +162,6 @@ int hyperv_fill_flush_guest_mapping_list(
struct hv_guest_mapping_flush_list *flush,
u64 start_gfn, u64 end_gfn);
-extern bool hv_root_partition;
-
#ifdef CONFIG_X86_64
void hv_apic_init(void);
void __init hv_init_spinlocks(void);
diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h
index f100baa6a33d..bd79b48cfe07 100644
--- a/include/asm-generic/mshyperv.h
+++ b/include/asm-generic/mshyperv.h
@@ -22,6 +22,7 @@
#include <linux/atomic.h>
#include <linux/bitops.h>
#include <linux/cpumask.h>
+#include <linux/nmi.h>
#include <asm/ptrace.h>
#include <asm/hyperv-tlfs.h>
@@ -147,6 +148,8 @@ void hv_remove_crash_handler(void);
extern int vmbus_interrupt;
extern int vmbus_irq;
+extern bool hv_root_partition;
+
#if IS_ENABLED(CONFIG_HYPERV)
/*
* Hypervisor's notion of virtual processor ID is different from
@@ -157,6 +160,8 @@ extern int vmbus_irq;
extern u32 *hv_vp_index;
extern u32 hv_max_vp_index;
+extern void __percpu **hyperv_pcpu_input_arg;
+
/* Sentinel value for an uninitialized entry in hv_vp_index array */
#define VP_INVAL U32_MAX
--
2.33.1
More information about the kernel-team
mailing list