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