xref: /linux/drivers/hv/Kconfig (revision ab93e0dd72c37d378dd936f031ffb83ff2bd87ce)
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) \
8f41ceff1SRoman Kisel		|| (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
12*96959283SMichael Kelley	select SYSFB if EFI && !HYPERV_VTL_MODE
1346a97191SGreg Kroah-Hartman	help
1446a97191SGreg Kroah-Hartman	  Select this option to run Linux as a Hyper-V client operating
1546a97191SGreg Kroah-Hartman	  system.
1646a97191SGreg Kroah-Hartman
17d01b9a9fSSaurabh Sengarconfig HYPERV_VTL_MODE
18d01b9a9fSSaurabh Sengar	bool "Enable Linux to boot in VTL context"
19f41ceff1SRoman Kisel	depends on (X86_64 || ARM64) && HYPERV
202b4b90e0SSaurabh Sengar	depends on SMP
21d01b9a9fSSaurabh Sengar	default n
22d01b9a9fSSaurabh Sengar	help
23d01b9a9fSSaurabh Sengar	  Virtual Secure Mode (VSM) is a set of hypervisor capabilities and
24d01b9a9fSSaurabh Sengar	  enlightenments offered to host and guest partitions which enables
25d01b9a9fSSaurabh Sengar	  the creation and management of new security boundaries within
26d01b9a9fSSaurabh Sengar	  operating system software.
27d01b9a9fSSaurabh Sengar
28d01b9a9fSSaurabh Sengar	  VSM achieves and maintains isolation through Virtual Trust Levels
29d01b9a9fSSaurabh Sengar	  (VTLs). Virtual Trust Levels are hierarchical, with higher levels
30d01b9a9fSSaurabh Sengar	  being more privileged than lower levels. VTL0 is the least privileged
31d01b9a9fSSaurabh Sengar	  level, and currently only other level supported is VTL2.
32d01b9a9fSSaurabh Sengar
33d01b9a9fSSaurabh Sengar	  Select this option to build a Linux kernel to run at a VTL other than
34d01b9a9fSSaurabh Sengar	  the normal VTL0, which currently is only VTL2.  This option
35f41ceff1SRoman Kisel	  initializes the kernel to run in VTL2, and adds the ability to boot
36d01b9a9fSSaurabh Sengar	  secondary CPUs directly into 64-bit context as required for VTLs other
37d01b9a9fSSaurabh Sengar	  than 0.  A kernel built with this option must run at VTL2, and will
38d01b9a9fSSaurabh Sengar	  not run as a normal guest.
39d01b9a9fSSaurabh Sengar
40d01b9a9fSSaurabh Sengar	  If unsure, say N
41d01b9a9fSSaurabh Sengar
42fd1fea68SMichael Kelleyconfig HYPERV_TIMER
437aff79e2SMichael Kelley	def_bool HYPERV && X86
44fd1fea68SMichael Kelley
4546a97191SGreg Kroah-Hartmanconfig HYPERV_UTILS
4646a97191SGreg Kroah-Hartman	tristate "Microsoft Hyper-V Utilities driver"
4746a97191SGreg Kroah-Hartman	depends on HYPERV && CONNECTOR && NLS
481dc2f2b8SRandy Dunlap	depends on PTP_1588_CLOCK_OPTIONAL
4946a97191SGreg Kroah-Hartman	help
5046a97191SGreg Kroah-Hartman	  Select this option to enable the Hyper-V Utilities.
5146a97191SGreg Kroah-Hartman
529aa8b50bSK. Y. Srinivasanconfig HYPERV_BALLOON
539aa8b50bSK. Y. Srinivasan	tristate "Microsoft Hyper-V Balloon driver"
549aa8b50bSK. Y. Srinivasan	depends on HYPERV
556dc2a774SSunil Muthuswamy	select PAGE_REPORTING
569aa8b50bSK. Y. Srinivasan	help
579aa8b50bSK. Y. Srinivasan	  Select this option to enable Hyper-V Balloon driver.
589aa8b50bSK. Y. Srinivasan
59461fbbd0SNuno Das Nevesconfig MSHV_ROOT
60461fbbd0SNuno Das Neves	tristate "Microsoft Hyper-V root partition support"
61461fbbd0SNuno Das Neves	depends on HYPERV && (X86_64 || ARM64)
62461fbbd0SNuno Das Neves	depends on !HYPERV_VTL_MODE
63461fbbd0SNuno Das Neves	# The hypervisor interface operates on 4k pages. Enforcing it here
64461fbbd0SNuno Das Neves	# simplifies many assumptions in the root partition code.
65461fbbd0SNuno Das Neves	# e.g. When withdrawing memory, the hypervisor gives back 4k pages in
66461fbbd0SNuno Das Neves	# no particular order, making it impossible to reassemble larger pages
67461fbbd0SNuno Das Neves	depends on PAGE_SIZE_4KB
68621191d7SNuno Das Neves	select EVENTFD
69461fbbd0SNuno Das Neves	default n
70461fbbd0SNuno Das Neves	help
71461fbbd0SNuno Das Neves	  Select this option to enable support for booting and running as root
72461fbbd0SNuno Das Neves	  partition on Microsoft Hyper-V.
73461fbbd0SNuno Das Neves
74461fbbd0SNuno Das Neves	  If unsure, say N.
75461fbbd0SNuno Das Neves
76124a6b4cSBart Van Asscheendmenu
77