xref: /openbmc/linux/drivers/hv/Kconfig (revision d01b9a9f)
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
16*d01b9a9fSSaurabh Sengarconfig HYPERV_VTL_MODE
17*d01b9a9fSSaurabh Sengar	bool "Enable Linux to boot in VTL context"
18*d01b9a9fSSaurabh Sengar	depends on X86_64 && HYPERV
19*d01b9a9fSSaurabh Sengar	default n
20*d01b9a9fSSaurabh Sengar	help
21*d01b9a9fSSaurabh Sengar	  Virtual Secure Mode (VSM) is a set of hypervisor capabilities and
22*d01b9a9fSSaurabh Sengar	  enlightenments offered to host and guest partitions which enables
23*d01b9a9fSSaurabh Sengar	  the creation and management of new security boundaries within
24*d01b9a9fSSaurabh Sengar	  operating system software.
25*d01b9a9fSSaurabh Sengar
26*d01b9a9fSSaurabh Sengar	  VSM achieves and maintains isolation through Virtual Trust Levels
27*d01b9a9fSSaurabh Sengar	  (VTLs). Virtual Trust Levels are hierarchical, with higher levels
28*d01b9a9fSSaurabh Sengar	  being more privileged than lower levels. VTL0 is the least privileged
29*d01b9a9fSSaurabh Sengar	  level, and currently only other level supported is VTL2.
30*d01b9a9fSSaurabh Sengar
31*d01b9a9fSSaurabh Sengar	  Select this option to build a Linux kernel to run at a VTL other than
32*d01b9a9fSSaurabh Sengar	  the normal VTL0, which currently is only VTL2.  This option
33*d01b9a9fSSaurabh Sengar	  initializes the x86 platform for VTL2, and adds the ability to boot
34*d01b9a9fSSaurabh Sengar	  secondary CPUs directly into 64-bit context as required for VTLs other
35*d01b9a9fSSaurabh Sengar	  than 0.  A kernel built with this option must run at VTL2, and will
36*d01b9a9fSSaurabh Sengar	  not run as a normal guest.
37*d01b9a9fSSaurabh Sengar
38*d01b9a9fSSaurabh Sengar	  If unsure, say N
39*d01b9a9fSSaurabh Sengar
40fd1fea68SMichael Kelleyconfig HYPERV_TIMER
417aff79e2SMichael Kelley	def_bool HYPERV && X86
42fd1fea68SMichael Kelley
4346a97191SGreg Kroah-Hartmanconfig HYPERV_UTILS
4446a97191SGreg Kroah-Hartman	tristate "Microsoft Hyper-V Utilities driver"
4546a97191SGreg Kroah-Hartman	depends on HYPERV && CONNECTOR && NLS
461dc2f2b8SRandy Dunlap	depends on PTP_1588_CLOCK_OPTIONAL
4746a97191SGreg Kroah-Hartman	help
4846a97191SGreg Kroah-Hartman	  Select this option to enable the Hyper-V Utilities.
4946a97191SGreg Kroah-Hartman
509aa8b50bSK. Y. Srinivasanconfig HYPERV_BALLOON
519aa8b50bSK. Y. Srinivasan	tristate "Microsoft Hyper-V Balloon driver"
529aa8b50bSK. Y. Srinivasan	depends on HYPERV
536dc2a774SSunil Muthuswamy	select PAGE_REPORTING
549aa8b50bSK. Y. Srinivasan	help
559aa8b50bSK. Y. Srinivasan	  Select this option to enable Hyper-V Balloon driver.
569aa8b50bSK. Y. Srinivasan
57124a6b4cSBart Van Asscheendmenu
58