Kconfig 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. # SPDX-License-Identifier: GPL-2.0
  2. config PPC_PSERIES
  3. depends on PPC64 && PPC_BOOK3S
  4. bool "IBM pSeries & new (POWER5-based) iSeries"
  5. select HAVE_PCSPKR_PLATFORM
  6. select MPIC
  7. select OF_DYNAMIC
  8. select FORCE_PCI
  9. select PCI_MSI
  10. select PPC_XICS
  11. select PPC_XIVE_SPAPR
  12. select PPC_ICP_NATIVE
  13. select PPC_ICP_HV
  14. select PPC_ICS_RTAS
  15. select PPC_I8259
  16. select PPC_RTAS
  17. select PPC_RTAS_DAEMON
  18. select RTAS_ERROR_LOGGING
  19. select PPC_UDBG_16550
  20. select PPC_DOORBELL
  21. select HOTPLUG_CPU
  22. select FORCE_SMP
  23. select SWIOTLB
  24. select ARCH_SUPPORTS_PER_VMA_LOCK
  25. default y
  26. config PARAVIRT
  27. bool
  28. config PARAVIRT_SPINLOCKS
  29. bool
  30. config PARAVIRT_TIME_ACCOUNTING
  31. select PARAVIRT
  32. bool
  33. config PPC_SPLPAR
  34. bool "Support for shared-processor logical partitions"
  35. depends on PPC_PSERIES
  36. select PARAVIRT_SPINLOCKS if PPC_QUEUED_SPINLOCKS
  37. select PARAVIRT_TIME_ACCOUNTING if VIRT_CPU_ACCOUNTING_GEN
  38. default y
  39. help
  40. Enabling this option will make the kernel run more efficiently
  41. on logically-partitioned pSeries systems which use shared
  42. processors, that is, which share physical processors between
  43. two or more partitions.
  44. Say Y if you are unsure.
  45. config DTL
  46. bool "Dispatch Trace Log"
  47. depends on PPC_SPLPAR && DEBUG_FS
  48. help
  49. SPLPAR machines can log hypervisor preempt & dispatch events to a
  50. kernel buffer. Saying Y here will enable logging these events,
  51. which are accessible through a debugfs file.
  52. Say N if you are unsure.
  53. config PSERIES_ENERGY
  54. tristate "pSeries energy management capabilities driver"
  55. depends on PPC_PSERIES
  56. default y
  57. help
  58. Provides interface to platform energy management capabilities
  59. on supported PSERIES platforms.
  60. Provides: /sys/devices/system/cpu/pseries_(de)activation_hint_list
  61. and /sys/devices/system/cpu/cpuN/pseries_(de)activation_hint
  62. config IO_EVENT_IRQ
  63. bool "IO Event Interrupt support"
  64. depends on PPC_PSERIES
  65. default y
  66. help
  67. Select this option, if you want to enable support for IO Event
  68. interrupts. IO event interrupt is a mechanism provided by RTAS
  69. to return information about hardware error and non-error events
  70. which may need OS attention. RTAS returns events for multiple
  71. event types and scopes. Device drivers can register their handlers
  72. to receive events.
  73. This option will only enable the IO event platform code. You
  74. will still need to enable or compile the actual drivers
  75. that use this infrastructure to handle IO event interrupts.
  76. Say Y if you are unsure.
  77. config LPARCFG
  78. bool "LPAR Configuration Data"
  79. depends on PPC_PSERIES
  80. help
  81. Provide system capacity information via human readable
  82. <key word>=<value> pairs through a /proc/ppc64/lparcfg interface.
  83. config PPC_PSERIES_DEBUG
  84. depends on PPC_PSERIES && PPC_EARLY_DEBUG
  85. bool "Enable extra debug logging in platforms/pseries"
  86. default y
  87. help
  88. Say Y here if you want the pseries core to produce a bunch of
  89. debug messages to the system log. Select this if you are having a
  90. problem with the pseries core and want to see more of what is
  91. going on. This does not enable debugging in lpar.c, which must
  92. be manually done due to its verbosity.
  93. config PPC_SMLPAR
  94. bool "Support for shared-memory logical partitions"
  95. depends on PPC_PSERIES
  96. select LPARCFG
  97. help
  98. Select this option to enable shared memory partition support.
  99. With this option a system running in an LPAR can be given more
  100. memory than physically available and will allow firmware to
  101. balance memory across many LPARs.
  102. config CMM
  103. tristate "Collaborative memory management"
  104. depends on PPC_SMLPAR
  105. select MEMORY_BALLOON
  106. default y
  107. help
  108. Select this option, if you want to enable the kernel interface
  109. to reduce the memory size of the system. This is accomplished
  110. by allocating pages of memory and put them "on hold". This only
  111. makes sense for a system running in an LPAR where the unused pages
  112. will be reused for other LPARs. The interface allows firmware to
  113. balance memory across many LPARs.
  114. config HV_PERF_CTRS
  115. bool "Hypervisor supplied PMU events (24x7 & GPCI)"
  116. default y
  117. depends on PERF_EVENTS && PPC_PSERIES
  118. help
  119. Enable access to hypervisor supplied counters in perf. Currently,
  120. this enables code that uses the hcall GetPerfCounterInfo and 24x7
  121. interfaces to retrieve counters. GPCI exists on Power 6 and later
  122. systems. 24x7 is available on Power 8 and later systems.
  123. If unsure, select Y.
  124. config IBMVIO
  125. depends on PPC_PSERIES
  126. bool
  127. default y
  128. config IBMEBUS
  129. depends on PPC_PSERIES && !CPU_LITTLE_ENDIAN
  130. bool "Support for GX bus based adapters"
  131. help
  132. Bus device driver for GX bus based adapters.
  133. config PSERIES_PLPKS
  134. depends on PPC_PSERIES
  135. bool "Support for the Platform Key Storage"
  136. help
  137. PowerVM provides an isolated Platform Keystore(PKS) storage
  138. allocation for each LPAR with individually managed access
  139. controls to store sensitive information securely. It can be
  140. used to store asymmetric public keys or secrets as required
  141. by different usecases. Select this config to enable
  142. operating system interface to hypervisor to access this space.
  143. If unsure, select N.
  144. config PAPR_SCM
  145. depends on PPC_PSERIES && MEMORY_HOTPLUG && LIBNVDIMM
  146. tristate "Support for the PAPR Storage Class Memory interface"
  147. help
  148. Enable access to hypervisor provided storage class memory.
  149. config PPC_SVM
  150. bool "Secure virtual machine (SVM) support for POWER"
  151. depends on PPC_PSERIES
  152. select SWIOTLB
  153. select ARCH_HAS_MEM_ENCRYPT
  154. select ARCH_HAS_FORCE_DMA_UNENCRYPTED
  155. select ARCH_HAS_CC_PLATFORM
  156. help
  157. There are certain POWER platforms which support secure guests using
  158. the Protected Execution Facility, with the help of an Ultravisor
  159. executing below the hypervisor layer. This enables support for
  160. those guests.
  161. If unsure, say "N".