1# SPDX-License-Identifier: GPL-2.0
2
3menu "Microsoft Hyper-V guest support"
4
5config HYPERV
6	tristate "Microsoft Hyper-V client drivers"
7	depends on (X86 && X86_LOCAL_APIC && HYPERVISOR_GUEST) \
8		|| (ACPI && ARM64 && !CPU_BIG_ENDIAN)
9	select PARAVIRT
10	select X86_HV_CALLBACK_VECTOR if X86
11	select OF_EARLY_FLATTREE if OF
12	help
13	  Select this option to run Linux as a Hyper-V client operating
14	  system.
15
16config HYPERV_VTL_MODE
17	bool "Enable Linux to boot in VTL context"
18	depends on X86_64 && HYPERV
19	depends on SMP
20	default n
21	help
22	  Virtual Secure Mode (VSM) is a set of hypervisor capabilities and
23	  enlightenments offered to host and guest partitions which enables
24	  the creation and management of new security boundaries within
25	  operating system software.
26
27	  VSM achieves and maintains isolation through Virtual Trust Levels
28	  (VTLs). Virtual Trust Levels are hierarchical, with higher levels
29	  being more privileged than lower levels. VTL0 is the least privileged
30	  level, and currently only other level supported is VTL2.
31
32	  Select this option to build a Linux kernel to run at a VTL other than
33	  the normal VTL0, which currently is only VTL2.  This option
34	  initializes the x86 platform for VTL2, and adds the ability to boot
35	  secondary CPUs directly into 64-bit context as required for VTLs other
36	  than 0.  A kernel built with this option must run at VTL2, and will
37	  not run as a normal guest.
38
39	  If unsure, say N
40
41config HYPERV_TIMER
42	def_bool HYPERV && X86
43
44config HYPERV_UTILS
45	tristate "Microsoft Hyper-V Utilities driver"
46	depends on HYPERV && CONNECTOR && NLS
47	depends on PTP_1588_CLOCK_OPTIONAL
48	help
49	  Select this option to enable the Hyper-V Utilities.
50
51config HYPERV_BALLOON
52	tristate "Microsoft Hyper-V Balloon driver"
53	depends on HYPERV
54	select PAGE_REPORTING
55	help
56	  Select this option to enable Hyper-V Balloon driver.
57
58endmenu
59