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	default n
20	help
21	  Virtual Secure Mode (VSM) is a set of hypervisor capabilities and
22	  enlightenments offered to host and guest partitions which enables
23	  the creation and management of new security boundaries within
24	  operating system software.
25
26	  VSM achieves and maintains isolation through Virtual Trust Levels
27	  (VTLs). Virtual Trust Levels are hierarchical, with higher levels
28	  being more privileged than lower levels. VTL0 is the least privileged
29	  level, and currently only other level supported is VTL2.
30
31	  Select this option to build a Linux kernel to run at a VTL other than
32	  the normal VTL0, which currently is only VTL2.  This option
33	  initializes the x86 platform for VTL2, and adds the ability to boot
34	  secondary CPUs directly into 64-bit context as required for VTLs other
35	  than 0.  A kernel built with this option must run at VTL2, and will
36	  not run as a normal guest.
37
38	  If unsure, say N
39
40config HYPERV_TIMER
41	def_bool HYPERV && X86
42
43config HYPERV_UTILS
44	tristate "Microsoft Hyper-V Utilities driver"
45	depends on HYPERV && CONNECTOR && NLS
46	depends on PTP_1588_CLOCK_OPTIONAL
47	help
48	  Select this option to enable the Hyper-V Utilities.
49
50config HYPERV_BALLOON
51	tristate "Microsoft Hyper-V Balloon driver"
52	depends on HYPERV
53	select PAGE_REPORTING
54	help
55	  Select this option to enable Hyper-V Balloon driver.
56
57endmenu
58