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) \ 8*f41ceff1SRoman 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 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" 18*f41ceff1SRoman Kisel depends on (X86_64 || ARM64) && HYPERV 192b4b90e0SSaurabh 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 34*f41ceff1SRoman Kisel initializes the kernel to run in 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 58461fbbd0SNuno Das Nevesconfig MSHV_ROOT 59461fbbd0SNuno Das Neves tristate "Microsoft Hyper-V root partition support" 60461fbbd0SNuno Das Neves depends on HYPERV && (X86_64 || ARM64) 61461fbbd0SNuno Das Neves depends on !HYPERV_VTL_MODE 62461fbbd0SNuno Das Neves # The hypervisor interface operates on 4k pages. Enforcing it here 63461fbbd0SNuno Das Neves # simplifies many assumptions in the root partition code. 64461fbbd0SNuno Das Neves # e.g. When withdrawing memory, the hypervisor gives back 4k pages in 65461fbbd0SNuno Das Neves # no particular order, making it impossible to reassemble larger pages 66461fbbd0SNuno Das Neves depends on PAGE_SIZE_4KB 67621191d7SNuno Das Neves select EVENTFD 68461fbbd0SNuno Das Neves default n 69461fbbd0SNuno Das Neves help 70461fbbd0SNuno Das Neves Select this option to enable support for booting and running as root 71461fbbd0SNuno Das Neves partition on Microsoft Hyper-V. 72461fbbd0SNuno Das Neves 73461fbbd0SNuno Das Neves If unsure, say N. 74461fbbd0SNuno Das Neves 75124a6b4cSBart Van Asscheendmenu 76