diff options
author | Nuno Das Neves <nunodasneves@linux.microsoft.com> | 2023-02-10 01:02:52 +0300 |
---|---|---|
committer | Wei Liu <wei.liu@kernel.org> | 2023-02-16 17:32:37 +0300 |
commit | b14033a3e6ba73a5c68974a80b05cba55553ed5b (patch) | |
tree | bcc0d28f73b88f2a545a49eb20699582dfcb78b8 /arch/x86/include/asm/mshyperv.h | |
parent | 96ec2939620c48a503d9c89865c0c230d6f955e4 (diff) | |
download | linux-b14033a3e6ba73a5c68974a80b05cba55553ed5b.tar.xz |
x86/hyperv: Fix hv_get/set_register for nested bringup
hv_get_nested_reg only translates SINT0, resulting in the wrong sint
being registered by nested vmbus.
Fix the issue with new utility function hv_is_sint_reg.
While at it, improve clarity of hv_set_non_nested_register and hv_is_synic_reg.
Signed-off-by: Nuno Das Neves <nunodasneves@linux.microsoft.com>
Reviewed-by: Jinank Jain <jinankjain@linux.microsoft.com>
Link: https://lore.kernel.org/r/1675980172-6851-1-git-send-email-nunodasneves@linux.microsoft.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
Diffstat (limited to 'arch/x86/include/asm/mshyperv.h')
-rw-r--r-- | arch/x86/include/asm/mshyperv.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/x86/include/asm/mshyperv.h b/arch/x86/include/asm/mshyperv.h index 15ac2d03ac59..4c4c0ec3b62e 100644 --- a/arch/x86/include/asm/mshyperv.h +++ b/arch/x86/include/asm/mshyperv.h @@ -224,10 +224,14 @@ extern bool hv_isolation_type_snp(void); static inline bool hv_is_synic_reg(unsigned int reg) { - if ((reg >= HV_REGISTER_SCONTROL) && - (reg <= HV_REGISTER_SINT15)) - return true; - return false; + return (reg >= HV_REGISTER_SCONTROL) && + (reg <= HV_REGISTER_SINT15); +} + +static inline bool hv_is_sint_reg(unsigned int reg) +{ + return (reg >= HV_REGISTER_SINT0) && + (reg <= HV_REGISTER_SINT15); } u64 hv_get_register(unsigned int reg); |