hc
2023-10-25 6c2073b7aa40e29d0eca7d571dd7bc590c7ecaa7
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
# 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 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_INTEL
   tristate "KVM for Intel processors support"
   depends on KVM
   # for perf_guest_get_msrs():
   depends on CPU_SUP_INTEL
   ---help---
     Provides support for KVM on Intel processors equipped with the VT
     extensions.
 
     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.
 
# OK, it's a little counter-intuitive to do this, but it puts it neatly under
# the virtualization menu.
source drivers/vhost/Kconfig
 
endif # VIRTUALIZATION