x86/hyperv: Restrict get_vtl to only VTL platforms
authorSaurabh Sengar <ssengar@linux.microsoft.com>
Wed, 20 Sep 2023 04:04:35 +0000 (21:04 -0700)
committerWei Liu <wei.liu@kernel.org>
Fri, 22 Sep 2023 18:40:53 +0000 (18:40 +0000)
commitf2a55d08d7e1a5746dad80fc5eda023eff2eeea5
tree1accc73c8ee6d950c7e9a6370112c8cc5e3cf8bb
parentce9ecca0238b140b88f43859b211c9fdfd8e5b70
x86/hyperv: Restrict get_vtl to only VTL platforms

When Linux runs in a non-default VTL (CONFIG_HYPERV_VTL_MODE=y),
get_vtl() must never fail as its return value is used in negotiations
with the host. In the more generic case, (CONFIG_HYPERV_VTL_MODE=n) the
VTL is always zero so there's no need to do the hypercall.

Make get_vtl() BUG() in case of failure and put the implementation under
"if IS_ENABLED(CONFIG_HYPERV_VTL_MODE)" to avoid the call altogether in
the most generic use case.

Signed-off-by: Saurabh Sengar <ssengar@linux.microsoft.com>
Reviewed-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Wei Liu <wei.liu@kernel.org>
Link: https://lore.kernel.org/r/1695182675-13405-1-git-send-email-ssengar@linux.microsoft.com
arch/x86/hyperv/hv_init.c