x86/hyperv: Add an interface to do nested hypercalls
authorJinank Jain <jinankjain@linux.microsoft.com>
Mon, 2 Jan 2023 07:12:53 +0000 (07:12 +0000)
committerWei Liu <wei.liu@kernel.org>
Tue, 17 Jan 2023 13:37:19 +0000 (13:37 +0000)
commitf0d2f5c2c000c03aa6b6a29954042174b59a0d1c
treee271a53362519c41a9a2014f202291b7870f42c1
parent7fec185a56f45b98d9547982370c2ab33f0f72b5
x86/hyperv: Add an interface to do nested hypercalls

According to TLFS, in order to communicate to L0 hypervisor there needs
to be an additional bit set in the control register. This communication
is required to perform privileged instructions which can only be
performed by L0 hypervisor. An example of that could be setting up the
VMBus infrastructure.

Signed-off-by: Jinank Jain <jinankjain@linux.microsoft.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/24f9d46d5259a688113e6e5e69e21002647f4949.1672639707.git.jinankjain@linux.microsoft.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
arch/x86/include/asm/hyperv-tlfs.h
arch/x86/include/asm/mshyperv.h
include/asm-generic/hyperv-tlfs.h