xref: /openbmc/linux/drivers/hv/Kconfig (revision 3d6af30f)
145ea83f0SStephen Hemminger# SPDX-License-Identifier: GPL-2.0
245ea83f0SStephen Hemminger
3124a6b4cSBart Van Asschemenu "Microsoft Hyper-V guest support"
4124a6b4cSBart Van Assche
546a97191SGreg Kroah-Hartmanconfig HYPERV
646a97191SGreg Kroah-Hartman	tristate "Microsoft Hyper-V client drivers"
7f83705a5SSaurabh Sengar	depends on (X86 && X86_LOCAL_APIC && HYPERVISOR_GUEST) \
8f83705a5SSaurabh Sengar		|| (ACPI && ARM64 && !CPU_BIG_ENDIAN)
92ffd9e33SVitaly Kuznetsov	select PARAVIRT
107aff79e2SMichael Kelley	select X86_HV_CALLBACK_VECTOR if X86
11f83705a5SSaurabh Sengar	select OF_EARLY_FLATTREE if OF
1246a97191SGreg Kroah-Hartman	help
1346a97191SGreg Kroah-Hartman	  Select this option to run Linux as a Hyper-V client operating
1446a97191SGreg Kroah-Hartman	  system.
1546a97191SGreg Kroah-Hartman
16d01b9a9fSSaurabh Sengarconfig HYPERV_VTL_MODE
17d01b9a9fSSaurabh Sengar	bool "Enable Linux to boot in VTL context"
18d01b9a9fSSaurabh Sengar	depends on X86_64 && HYPERV
19*3d6af30fSSaurabh Sengar	depends on SMP
20d01b9a9fSSaurabh Sengar	default n
21d01b9a9fSSaurabh Sengar	help
22d01b9a9fSSaurabh Sengar	  Virtual Secure Mode (VSM) is a set of hypervisor capabilities and
23d01b9a9fSSaurabh Sengar	  enlightenments offered to host and guest partitions which enables
24d01b9a9fSSaurabh Sengar	  the creation and management of new security boundaries within
25d01b9a9fSSaurabh Sengar	  operating system software.
26d01b9a9fSSaurabh Sengar
27d01b9a9fSSaurabh Sengar	  VSM achieves and maintains isolation through Virtual Trust Levels
28d01b9a9fSSaurabh Sengar	  (VTLs). Virtual Trust Levels are hierarchical, with higher levels
29d01b9a9fSSaurabh Sengar	  being more privileged than lower levels. VTL0 is the least privileged
30d01b9a9fSSaurabh Sengar	  level, and currently only other level supported is VTL2.
31d01b9a9fSSaurabh Sengar
32d01b9a9fSSaurabh Sengar	  Select this option to build a Linux kernel to run at a VTL other than
33d01b9a9fSSaurabh Sengar	  the normal VTL0, which currently is only VTL2.  This option
34d01b9a9fSSaurabh Sengar	  initializes the x86 platform for VTL2, and adds the ability to boot
35d01b9a9fSSaurabh Sengar	  secondary CPUs directly into 64-bit context as required for VTLs other
36d01b9a9fSSaurabh Sengar	  than 0.  A kernel built with this option must run at VTL2, and will
37d01b9a9fSSaurabh Sengar	  not run as a normal guest.
38d01b9a9fSSaurabh Sengar
39d01b9a9fSSaurabh Sengar	  If unsure, say N
40d01b9a9fSSaurabh Sengar
41fd1fea68SMichael Kelleyconfig HYPERV_TIMER
427aff79e2SMichael Kelley	def_bool HYPERV && X86
43fd1fea68SMichael Kelley
4446a97191SGreg Kroah-Hartmanconfig HYPERV_UTILS
4546a97191SGreg Kroah-Hartman	tristate "Microsoft Hyper-V Utilities driver"
4646a97191SGreg Kroah-Hartman	depends on HYPERV && CONNECTOR && NLS
471dc2f2b8SRandy Dunlap	depends on PTP_1588_CLOCK_OPTIONAL
4846a97191SGreg Kroah-Hartman	help
4946a97191SGreg Kroah-Hartman	  Select this option to enable the Hyper-V Utilities.
5046a97191SGreg Kroah-Hartman
519aa8b50bSK. Y. Srinivasanconfig HYPERV_BALLOON
529aa8b50bSK. Y. Srinivasan	tristate "Microsoft Hyper-V Balloon driver"
539aa8b50bSK. Y. Srinivasan	depends on HYPERV
546dc2a774SSunil Muthuswamy	select PAGE_REPORTING
559aa8b50bSK. Y. Srinivasan	help
569aa8b50bSK. Y. Srinivasan	  Select this option to enable Hyper-V Balloon driver.
579aa8b50bSK. Y. Srinivasan
58124a6b4cSBart Van Asscheendmenu
59