[v8,0/5] Add support running nested Microsoft Hypervisor

Message ID cover.1670561320.git.jinankjain@linux.microsoft.com
Headers
Series Add support running nested Microsoft Hypervisor |

Message

Jinank Jain Dec. 9, 2022, 5:32 a.m. UTC
  This patch series plans to add support for running nested Microsoft
Hypervisor. In case of nested Microsoft Hypervisor there are few
privileged hypercalls which need to go L0 Hypervisor instead of L1
Hypervisor. This patches series basically identifies such hypercalls and
replace them with nested hypercalls.

Jinank Jain (5):
  x86/hyperv: Add support for detecting nested hypervisor
  Drivers: hv: Setup synic registers in case of nested root partition
  x86/hyperv: Add an interface to do nested hypercalls
  Drivers: hv: Enable vmbus driver for nested root partition
  x86/hyperv: Change interrupt vector for nested root partition

[v4]
- Fix ARM64 compilation

[v5]
- Fix comments from Michael Kelly

[v6]
- Send the correct patches from the right folder

[v7]
- Fix linker issues for CONFIG_HYPERV=n pointed out by Michael
- Fix comments from Nuno: created two separate functions for fetching
  nested vs non-nested registers.

[v8]
- Refactor as per the recommendation from Michael Kelly

 arch/x86/include/asm/hyperv-tlfs.h | 17 +++++-
 arch/x86/include/asm/idtentry.h    |  2 +
 arch/x86/include/asm/irq_vectors.h |  6 +++
 arch/x86/include/asm/mshyperv.h    | 72 ++++++++++++++++----------
 arch/x86/kernel/cpu/mshyperv.c     | 83 ++++++++++++++++++++++++++++++
 arch/x86/kernel/idt.c              | 10 ++++
 drivers/hv/hv.c                    | 32 ++++++++----
 drivers/hv/hv_common.c             |  9 ++--
 drivers/hv/vmbus_drv.c             |  5 +-
 include/asm-generic/hyperv-tlfs.h  |  1 +
 include/asm-generic/mshyperv.h     |  1 +
 11 files changed, 193 insertions(+), 45 deletions(-)