| # SPDX-License-Identifier: GPL-2.0 |
| |
| menu "Microsoft Hyper-V guest support" |
| |
| config HYPERV |
| tristate "Microsoft Hyper-V client drivers" |
| depends on (X86 && X86_LOCAL_APIC && HYPERVISOR_GUEST) \ |
| || (ARM64 && !CPU_BIG_ENDIAN) |
| select PARAVIRT |
| select X86_HV_CALLBACK_VECTOR if X86 |
| select OF_EARLY_FLATTREE if OF |
| select SYSFB if !HYPERV_VTL_MODE |
| help |
| Select this option to run Linux as a Hyper-V client operating |
| system. |
| |
| config HYPERV_VTL_MODE |
| bool "Enable Linux to boot in VTL context" |
| depends on (X86_64 || ARM64) && HYPERV |
| depends on SMP |
| default n |
| help |
| Virtual Secure Mode (VSM) is a set of hypervisor capabilities and |
| enlightenments offered to host and guest partitions which enables |
| the creation and management of new security boundaries within |
| operating system software. |
| |
| VSM achieves and maintains isolation through Virtual Trust Levels |
| (VTLs). Virtual Trust Levels are hierarchical, with higher levels |
| being more privileged than lower levels. VTL0 is the least privileged |
| level, and currently only other level supported is VTL2. |
| |
| Select this option to build a Linux kernel to run at a VTL other than |
| the normal VTL0, which currently is only VTL2. This option |
| initializes the kernel to run in VTL2, and adds the ability to boot |
| secondary CPUs directly into 64-bit context as required for VTLs other |
| than 0. A kernel built with this option must run at VTL2, and will |
| not run as a normal guest. |
| |
| If unsure, say N |
| |
| config HYPERV_TIMER |
| def_bool HYPERV && X86 |
| |
| config HYPERV_UTILS |
| tristate "Microsoft Hyper-V Utilities driver" |
| depends on HYPERV && CONNECTOR && NLS |
| depends on PTP_1588_CLOCK_OPTIONAL |
| help |
| Select this option to enable the Hyper-V Utilities. |
| |
| config HYPERV_BALLOON |
| tristate "Microsoft Hyper-V Balloon driver" |
| depends on HYPERV |
| select PAGE_REPORTING |
| help |
| Select this option to enable Hyper-V Balloon driver. |
| |
| config MSHV_ROOT |
| tristate "Microsoft Hyper-V root partition support" |
| depends on HYPERV && (X86_64 || ARM64) |
| depends on !HYPERV_VTL_MODE |
| # The hypervisor interface operates on 4k pages. Enforcing it here |
| # simplifies many assumptions in the root partition code. |
| # e.g. When withdrawing memory, the hypervisor gives back 4k pages in |
| # no particular order, making it impossible to reassemble larger pages |
| depends on PAGE_SIZE_4KB |
| select EVENTFD |
| default n |
| help |
| Select this option to enable support for booting and running as root |
| partition on Microsoft Hyper-V. |
| |
| If unsure, say N. |
| |
| endmenu |