Drivers: hv: Make portions of Hyper-V init code be arch neutral
authorMichael Kelley <mikelley@microsoft.com>
Wed, 14 Jul 2021 18:34:45 +0000 (11:34 -0700)
committerWei Liu <wei.liu@kernel.org>
Thu, 15 Jul 2021 12:59:45 +0000 (12:59 +0000)
commitafca4d95dd7d7936d46a0ff02169cc40f534a6a3
treed37090124c331cf23e25ae78bb9750dd5579f361
parentc445535c3efbfb8cb42d098e624d46ab149664b7
Drivers: hv: Make portions of Hyper-V init code be arch neutral

The code to allocate and initialize the hv_vp_index array is
architecture neutral. Similarly, the code to allocate and
populate the hypercall input and output arg pages is architecture
neutral.  Move both sets of code out from arch/x86 and into
utility functions in drivers/hv/hv_common.c that can be shared
by Hyper-V initialization on ARM64.

No functional changes. However, the allocation of the hypercall
input and output arg pages is done differently so that the
size is always the Hyper-V page size, even if not the same as
the guest page size (such as with ARM64's 64K page size).

Signed-off-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/1626287687-2045-2-git-send-email-mikelley@microsoft.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
arch/x86/hyperv/hv_init.c
arch/x86/include/asm/mshyperv.h
arch/x86/kernel/cpu/mshyperv.c
drivers/hv/hv_common.c
include/asm-generic/mshyperv.h