Kconfig 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. #
  2. # KVM configuration
  3. #
  4. source "virt/kvm/Kconfig"
  5. menuconfig VIRTUALIZATION
  6. bool "Virtualization"
  7. ---help---
  8. Say Y here to get to see options for using your Linux host to run
  9. other operating systems inside virtual machines (guests).
  10. This option alone does not add any kernel code.
  11. If you say N, all options in this submenu will be skipped and
  12. disabled.
  13. if VIRTUALIZATION
  14. config KVM
  15. bool
  16. select PREEMPT_NOTIFIERS
  17. select ANON_INODES
  18. select HAVE_KVM_EVENTFD
  19. config KVM_BOOK3S_HANDLER
  20. bool
  21. config KVM_BOOK3S_32_HANDLER
  22. bool
  23. select KVM_BOOK3S_HANDLER
  24. select KVM_MMIO
  25. config KVM_BOOK3S_64_HANDLER
  26. bool
  27. select KVM_BOOK3S_HANDLER
  28. config KVM_BOOK3S_PR
  29. bool
  30. select KVM_MMIO
  31. select MMU_NOTIFIER
  32. config KVM_BOOK3S_32
  33. tristate "KVM support for PowerPC book3s_32 processors"
  34. depends on PPC_BOOK3S_32 && !SMP && !PTE_64BIT
  35. select KVM
  36. select KVM_BOOK3S_32_HANDLER
  37. select KVM_BOOK3S_PR
  38. ---help---
  39. Support running unmodified book3s_32 guest kernels
  40. in virtual machines on book3s_32 host processors.
  41. This module provides access to the hardware capabilities through
  42. a character device node named /dev/kvm.
  43. If unsure, say N.
  44. config KVM_BOOK3S_64
  45. tristate "KVM support for PowerPC book3s_64 processors"
  46. depends on PPC_BOOK3S_64
  47. select KVM_BOOK3S_64_HANDLER
  48. select KVM
  49. ---help---
  50. Support running unmodified book3s_64 and book3s_32 guest kernels
  51. in virtual machines on book3s_64 host processors.
  52. This module provides access to the hardware capabilities through
  53. a character device node named /dev/kvm.
  54. If unsure, say N.
  55. config KVM_BOOK3S_64_HV
  56. bool "KVM support for POWER7 and PPC970 using hypervisor mode in host"
  57. depends on KVM_BOOK3S_64
  58. select MMU_NOTIFIER
  59. select CMA
  60. ---help---
  61. Support running unmodified book3s_64 guest kernels in
  62. virtual machines on POWER7 and PPC970 processors that have
  63. hypervisor mode available to the host.
  64. If you say Y here, KVM will use the hardware virtualization
  65. facilities of POWER7 (and later) processors, meaning that
  66. guest operating systems will run at full hardware speed
  67. using supervisor and user modes. However, this also means
  68. that KVM is not usable under PowerVM (pHyp), is only usable
  69. on POWER7 (or later) processors and PPC970-family processors,
  70. and cannot emulate a different processor from the host processor.
  71. If unsure, say N.
  72. config KVM_BOOK3S_64_PR
  73. def_bool y
  74. depends on KVM_BOOK3S_64 && !KVM_BOOK3S_64_HV
  75. select KVM_BOOK3S_PR
  76. config KVM_BOOKE_HV
  77. bool
  78. config KVM_440
  79. bool "KVM support for PowerPC 440 processors"
  80. depends on 44x
  81. select KVM
  82. select KVM_MMIO
  83. ---help---
  84. Support running unmodified 440 guest kernels in virtual machines on
  85. 440 host processors.
  86. This module provides access to the hardware capabilities through
  87. a character device node named /dev/kvm.
  88. If unsure, say N.
  89. config KVM_EXIT_TIMING
  90. bool "Detailed exit timing"
  91. depends on KVM_440 || KVM_E500V2 || KVM_E500MC
  92. ---help---
  93. Calculate elapsed time for every exit/enter cycle. A per-vcpu
  94. report is available in debugfs kvm/vm#_vcpu#_timing.
  95. The overhead is relatively small, however it is not recommended for
  96. production environments.
  97. If unsure, say N.
  98. config KVM_E500V2
  99. bool "KVM support for PowerPC E500v2 processors"
  100. depends on E500 && !PPC_E500MC
  101. select KVM
  102. select KVM_MMIO
  103. select MMU_NOTIFIER
  104. ---help---
  105. Support running unmodified E500 guest kernels in virtual machines on
  106. E500v2 host processors.
  107. This module provides access to the hardware capabilities through
  108. a character device node named /dev/kvm.
  109. If unsure, say N.
  110. config KVM_E500MC
  111. bool "KVM support for PowerPC E500MC/E5500/E6500 processors"
  112. depends on PPC_E500MC
  113. select KVM
  114. select KVM_MMIO
  115. select KVM_BOOKE_HV
  116. select MMU_NOTIFIER
  117. ---help---
  118. Support running unmodified E500MC/E5500/E6500 guest kernels in
  119. virtual machines on E500MC/E5500/E6500 host processors.
  120. This module provides access to the hardware capabilities through
  121. a character device node named /dev/kvm.
  122. If unsure, say N.
  123. config KVM_MPIC
  124. bool "KVM in-kernel MPIC emulation"
  125. depends on KVM && E500
  126. select HAVE_KVM_IRQCHIP
  127. select HAVE_KVM_IRQ_ROUTING
  128. select HAVE_KVM_MSI
  129. help
  130. Enable support for emulating MPIC devices inside the
  131. host kernel, rather than relying on userspace to emulate.
  132. Currently, support is limited to certain versions of
  133. Freescale's MPIC implementation.
  134. config KVM_XICS
  135. bool "KVM in-kernel XICS emulation"
  136. depends on KVM_BOOK3S_64 && !KVM_MPIC
  137. ---help---
  138. Include support for the XICS (eXternal Interrupt Controller
  139. Specification) interrupt controller architecture used on
  140. IBM POWER (pSeries) servers.
  141. source drivers/vhost/Kconfig
  142. endif # VIRTUALIZATION