drivers/hv/Kconfig

Source file repositories/reference/linux-study-clean/drivers/hv/Kconfig

File Facts

System
Linux kernel
Corpus path
drivers/hv/Kconfig
Extension
[no extension]
Size
3877 bytes
Lines
114
Domain
Driver Families
Bucket
drivers/hv
Inferred role
Driver Families: build/configuration rule
Status
atlas-only

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0

menu "Microsoft Hyper-V guest support"

config HYPERV
	bool "Microsoft Hyper-V core hypervisor support"
	depends on (X86 && X86_LOCAL_APIC && HYPERVISOR_GUEST) \
		|| (ARM64 && !CPU_BIG_ENDIAN)
	select PARAVIRT
	select X86_HV_CALLBACK_VECTOR if X86
	select OF_EARLY_FLATTREE if OF
	select IRQ_MSI_LIB if X86
	help
	  Select this option to run Linux as a Hyper-V client operating
	  system.

config HYPERV_VTL_MODE
	bool "Enable Linux to boot in VTL context"
	depends on (X86_64 && HAVE_STATIC_CALL) || ARM64
	depends on HYPERV
	depends on SMP
	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
	  initializes the kernel to run in VTL2, and adds the ability to boot
	  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

config HYPERV_TIMER
	def_bool HYPERV && X86

config HYPERV_UTILS
	tristate "Microsoft Hyper-V Utilities driver"
	depends on HYPERV_VMBUS && CONNECTOR && NLS
	depends on PTP_1588_CLOCK_OPTIONAL
	help
	  Select this option to enable the Hyper-V Utilities.

config HYPERV_BALLOON
	tristate "Microsoft Hyper-V Balloon driver"
	depends on HYPERV_VMBUS
	select PAGE_REPORTING
	help
	  Select this option to enable Hyper-V Balloon driver.

config HYPERV_VMBUS
	tristate "Microsoft Hyper-V VMBus driver"
	depends on HYPERV
	default HYPERV
	select SYSFB if EFI && !HYPERV_VTL_MODE
	help
	  Select this option to enable Hyper-V Vmbus driver.

config MSHV_ROOT
	tristate "Microsoft Hyper-V root partition support"
	depends on HYPERV && (X86_64 || ARM64)

Annotation

Implementation Notes