2018-03-27 15:01:04 -07:00
|
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
|
2011-11-18 18:40:52 +01:00
|
|
|
menu "Microsoft Hyper-V guest support"
|
|
|
|
|
2011-10-04 12:29:52 -07:00
|
|
|
config HYPERV
|
|
|
|
tristate "Microsoft Hyper-V client drivers"
|
2023-03-20 00:47:40 -07:00
|
|
|
depends on (X86 && X86_LOCAL_APIC && HYPERVISOR_GUEST) \
|
2025-04-28 14:07:34 -07:00
|
|
|
|| (ARM64 && !CPU_BIG_ENDIAN)
|
2017-08-02 18:09:19 +02:00
|
|
|
select PARAVIRT
|
2021-08-04 08:52:39 -07:00
|
|
|
select X86_HV_CALLBACK_VECTOR if X86
|
2023-03-20 00:47:40 -07:00
|
|
|
select OF_EARLY_FLATTREE if OF
|
2025-06-13 16:00:59 -07:00
|
|
|
select SYSFB if EFI && !HYPERV_VTL_MODE
|
2011-10-04 12:29:52 -07:00
|
|
|
help
|
|
|
|
Select this option to run Linux as a Hyper-V client operating
|
|
|
|
system.
|
|
|
|
|
2023-04-10 22:55:31 -07:00
|
|
|
config HYPERV_VTL_MODE
|
|
|
|
bool "Enable Linux to boot in VTL context"
|
2025-04-28 14:07:34 -07:00
|
|
|
depends on (X86_64 || ARM64) && HYPERV
|
2024-03-03 00:01:36 -08:00
|
|
|
depends on SMP
|
2023-04-10 22:55:31 -07:00
|
|
|
default n
|
|
|
|
help
|
|
|
|
Virtual Secure Mode (VSM) is a set of hypervisor capabilities and
|
|
|
|
enlightenments offered to host and guest partitions which enables
|
|
|
|
the creation and management of new security boundaries within
|
|
|
|
operating system software.
|
|
|
|
|
|
|
|
VSM achieves and maintains isolation through Virtual Trust Levels
|
|
|
|
(VTLs). Virtual Trust Levels are hierarchical, with higher levels
|
|
|
|
being more privileged than lower levels. VTL0 is the least privileged
|
|
|
|
level, and currently only other level supported is VTL2.
|
|
|
|
|
|
|
|
Select this option to build a Linux kernel to run at a VTL other than
|
|
|
|
the normal VTL0, which currently is only VTL2. This option
|
2025-04-28 14:07:34 -07:00
|
|
|
initializes the kernel to run in VTL2, and adds the ability to boot
|
2023-04-10 22:55:31 -07:00
|
|
|
secondary CPUs directly into 64-bit context as required for VTLs other
|
|
|
|
than 0. A kernel built with this option must run at VTL2, and will
|
|
|
|
not run as a normal guest.
|
|
|
|
|
|
|
|
If unsure, say N
|
|
|
|
|
2019-07-01 04:25:56 +00:00
|
|
|
config HYPERV_TIMER
|
2021-08-04 08:52:39 -07:00
|
|
|
def_bool HYPERV && X86
|
2019-07-01 04:25:56 +00:00
|
|
|
|
2011-10-04 12:29:52 -07:00
|
|
|
config HYPERV_UTILS
|
|
|
|
tristate "Microsoft Hyper-V Utilities driver"
|
|
|
|
depends on HYPERV && CONNECTOR && NLS
|
2021-11-25 18:33:16 -08:00
|
|
|
depends on PTP_1588_CLOCK_OPTIONAL
|
2011-10-04 12:29:52 -07:00
|
|
|
help
|
|
|
|
Select this option to enable the Hyper-V Utilities.
|
|
|
|
|
2012-11-14 01:09:02 -08:00
|
|
|
config HYPERV_BALLOON
|
|
|
|
tristate "Microsoft Hyper-V Balloon driver"
|
|
|
|
depends on HYPERV
|
2021-03-23 18:47:16 +00:00
|
|
|
select PAGE_REPORTING
|
2012-11-14 01:09:02 -08:00
|
|
|
help
|
|
|
|
Select this option to enable Hyper-V Balloon driver.
|
|
|
|
|
2025-02-21 11:56:35 -08:00
|
|
|
config MSHV_ROOT
|
|
|
|
tristate "Microsoft Hyper-V root partition support"
|
|
|
|
depends on HYPERV && (X86_64 || ARM64)
|
|
|
|
depends on !HYPERV_VTL_MODE
|
|
|
|
# The hypervisor interface operates on 4k pages. Enforcing it here
|
|
|
|
# simplifies many assumptions in the root partition code.
|
|
|
|
# e.g. When withdrawing memory, the hypervisor gives back 4k pages in
|
|
|
|
# no particular order, making it impossible to reassemble larger pages
|
|
|
|
depends on PAGE_SIZE_4KB
|
2025-03-14 12:28:56 -07:00
|
|
|
select EVENTFD
|
2025-02-21 11:56:35 -08:00
|
|
|
default n
|
|
|
|
help
|
|
|
|
Select this option to enable support for booting and running as root
|
|
|
|
partition on Microsoft Hyper-V.
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
2011-11-18 18:40:52 +01:00
|
|
|
endmenu
|