Drivers: hv: Redo Hyper-V synthetic MSR get/set functions
authorMichael Kelley <mikelley@microsoft.com>
Tue, 2 Mar 2021 21:38:15 +0000 (13:38 -0800)
committerWei Liu <wei.liu@kernel.org>
Mon, 8 Mar 2021 17:32:59 +0000 (17:32 +0000)
commitf3c5e63c3690fc64e5a7a2b3e4f9f5ff1fa25584
treee0d4a0756b05766589c2aeaab81fca6608df2d6f
parent5e4e6ddf8d74068fd6bb7922dabcfa2c0f506c39
Drivers: hv: Redo Hyper-V synthetic MSR get/set functions

Current code defines a separate get and set macro for each Hyper-V
synthetic MSR used by the VMbus driver. Furthermore, the get macro
can't be converted to a standard function because the second argument
is modified in place, which is somewhat bad form.

Redo this by providing a single get and a single set function that
take a parameter specifying the MSR to be operated on. Fixup usage
of the get function. Calling locations are no more complex than before,
but the code under arch/x86 and the upcoming code under arch/arm64
is significantly simplified.

Also standardize the names of Hyper-V synthetic MSRs that are
architecture neutral. But keep the old x86-specific names as aliases
that can be removed later when all references (particularly in KVM
code) have been cleaned up in a separate patch series.

No functional change.

Signed-off-by: Michael Kelley <mikelley@microsoft.com>
Reviewed-by: Boqun Feng <boqun.feng@gmail.com>
Link: https://lore.kernel.org/r/1614721102-2241-4-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/hyperv-tlfs.h
arch/x86/include/asm/mshyperv.h
drivers/clocksource/hyperv_timer.c
drivers/hv/hv.c
drivers/hv/vmbus_drv.c
include/asm-generic/mshyperv.h