hc
2023-12-06 d38611ca164021d018c1b23eee65bbebc09c63e0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# SPDX-License-Identifier: GPL-2.0
#
# KVM configuration
#
 
source "virt/kvm/Kconfig"
 
menuconfig VIRTUALIZATION
   bool "Virtualization"
   depends on HAVE_KVM || X86
   default y
   help
     Say Y here to get to see options for using your Linux host to run other
     operating systems inside virtual machines (guests).
     This option alone does not add any kernel code.
 
     If you say N, all options in this submenu will be skipped and disabled.
 
if VIRTUALIZATION
 
config KVM
   tristate "Kernel-based Virtual Machine (KVM) support"
   depends on HAVE_KVM
   depends on HIGH_RES_TIMERS
   # for TASKSTATS/TASK_DELAY_ACCT:
   depends on NET && MULTIUSER
   depends on X86_LOCAL_APIC
   select PREEMPT_NOTIFIERS
   select MMU_NOTIFIER
   select HAVE_KVM_IRQCHIP
   select HAVE_KVM_IRQFD
   select IRQ_BYPASS_MANAGER
   select HAVE_KVM_IRQ_BYPASS
   select HAVE_KVM_IRQ_ROUTING
   select HAVE_KVM_EVENTFD
   select KVM_ASYNC_PF
   select USER_RETURN_NOTIFIER
   select KVM_MMIO
   select TASKSTATS
   select TASK_DELAY_ACCT
   select PERF_EVENTS
   select HAVE_KVM_MSI
   select HAVE_KVM_CPU_RELAX_INTERCEPT
   select HAVE_KVM_NO_POLL
   select KVM_XFER_TO_GUEST_WORK
   select KVM_GENERIC_DIRTYLOG_READ_PROTECT
   select KVM_VFIO
   select SRCU
   help
     Support hosting fully virtualized guest machines using hardware
     virtualization extensions.  You will need a fairly recent
     processor equipped with virtualization extensions. You will also
     need to select one or more of the processor modules below.
 
     This module provides access to the hardware capabilities through
     a character device node named /dev/kvm.
 
     To compile this as a module, choose M here: the module
     will be called kvm.
 
     If unsure, say N.
 
config KVM_WERROR
   bool "Compile KVM with -Werror"
   # KASAN may cause the build to fail due to larger frames
   default y if X86_64 && !KASAN
   # We use the dependency on !COMPILE_TEST to not be enabled
   # blindly in allmodconfig or allyesconfig configurations
   depends on KVM
   depends on (X86_64 && !KASAN) || !COMPILE_TEST
   depends on EXPERT
   help
     Add -Werror to the build flags for KVM.
 
     If in doubt, say "N".
 
config KVM_INTEL
   tristate "KVM for Intel (and compatible) processors support"
   depends on KVM && IA32_FEAT_CTL
   help
     Provides support for KVM on processors equipped with Intel's VT
     extensions, a.k.a. Virtual Machine Extensions (VMX).
 
     To compile this as a module, choose M here: the module
     will be called kvm-intel.
 
config KVM_AMD
   tristate "KVM for AMD processors support"
   depends on KVM
   help
     Provides support for KVM on AMD processors equipped with the AMD-V
     (SVM) extensions.
 
     To compile this as a module, choose M here: the module
     will be called kvm-amd.
 
config KVM_AMD_SEV
   def_bool y
   bool "AMD Secure Encrypted Virtualization (SEV) support"
   depends on KVM_AMD && X86_64
   depends on CRYPTO_DEV_SP_PSP && !(KVM_AMD=y && CRYPTO_DEV_CCP_DD=m)
   help
   Provides support for launching Encrypted VMs on AMD processors.
 
config KVM_MMU_AUDIT
   bool "Audit KVM MMU"
   depends on KVM && TRACEPOINTS
   help
    This option adds a R/W kVM module parameter 'mmu_audit', which allows
    auditing of KVM MMU events at runtime.
 
endif # VIRTUALIZATION