xref: /openbmc/linux/arch/arm64/kvm/Kconfig (revision e6b673b7)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2c3eb5b14SMarc Zyngier#
3c3eb5b14SMarc Zyngier# KVM configuration
4c3eb5b14SMarc Zyngier#
5c3eb5b14SMarc Zyngier
6c3eb5b14SMarc Zyngiersource "virt/kvm/Kconfig"
72412405bSEric Augersource "virt/lib/Kconfig"
8c3eb5b14SMarc Zyngier
9c3eb5b14SMarc Zyngiermenuconfig VIRTUALIZATION
10c3eb5b14SMarc Zyngier	bool "Virtualization"
11c3eb5b14SMarc Zyngier	---help---
12c3eb5b14SMarc Zyngier	  Say Y here to get to see options for using your Linux host to run
13c3eb5b14SMarc Zyngier	  other operating systems inside virtual machines (guests).
14c3eb5b14SMarc Zyngier	  This option alone does not add any kernel code.
15c3eb5b14SMarc Zyngier
16c3eb5b14SMarc Zyngier	  If you say N, all options in this submenu will be skipped and
17c3eb5b14SMarc Zyngier	  disabled.
18c3eb5b14SMarc Zyngier
19c3eb5b14SMarc Zyngierif VIRTUALIZATION
20c3eb5b14SMarc Zyngier
21c3eb5b14SMarc Zyngierconfig KVM
22c3eb5b14SMarc Zyngier	bool "Kernel-based Virtual Machine (KVM) support"
23662d9715SChristoffer Dall	depends on OF
24c3eb5b14SMarc Zyngier	select MMU_NOTIFIER
25c3eb5b14SMarc Zyngier	select PREEMPT_NOTIFIERS
26c3eb5b14SMarc Zyngier	select ANON_INODES
27d241aac7SMarc Zyngier	select HAVE_KVM_CPU_RELAX_INTERCEPT
287276030aSMario Smarduch	select HAVE_KVM_ARCH_TLB_FLUSH_ALL
29c3eb5b14SMarc Zyngier	select KVM_MMIO
30c3eb5b14SMarc Zyngier	select KVM_ARM_HOST
317276030aSMario Smarduch	select KVM_GENERIC_DIRTYLOG_READ_PROTECT
3283fe27eaSPranith Kumar	select SRCU
338889583cSKim Phillips	select KVM_VFIO
34174178feSEric Auger	select HAVE_KVM_EVENTFD
35174178feSEric Auger	select HAVE_KVM_IRQFD
3604fe4726SShannon Zhao	select KVM_ARM_PMU if HW_PERF_EVENTS
370e4e82f1SAndre Przywara	select HAVE_KVM_MSI
38180ae7b1SEric Auger	select HAVE_KVM_IRQCHIP
39180ae7b1SEric Auger	select HAVE_KVM_IRQ_ROUTING
402412405bSEric Auger	select IRQ_BYPASS_MANAGER
412412405bSEric Auger	select HAVE_KVM_IRQ_BYPASS
42e6b673b7SDave Martin	select HAVE_KVM_VCPU_RUN_PID_CHANGE
43c3eb5b14SMarc Zyngier	---help---
44c3eb5b14SMarc Zyngier	  Support hosting virtualized guest machines.
4544eaacf1SSuzuki K. Poulose	  We don't support KVM with 16K page tables yet, due to the multiple
4644eaacf1SSuzuki K. Poulose	  levels of fake page tables.
47c3eb5b14SMarc Zyngier
48c3eb5b14SMarc Zyngier	  If unsure, say N.
49c3eb5b14SMarc Zyngier
50c3eb5b14SMarc Zyngierconfig KVM_ARM_HOST
51c3eb5b14SMarc Zyngier	bool
52c3eb5b14SMarc Zyngier	---help---
53c3eb5b14SMarc Zyngier	  Provides host support for ARM processors.
54c3eb5b14SMarc Zyngier
5504fe4726SShannon Zhaoconfig KVM_ARM_PMU
5604fe4726SShannon Zhao	bool
5704fe4726SShannon Zhao	---help---
5804fe4726SShannon Zhao	  Adds support for a virtual Performance Monitoring Unit (PMU) in
5904fe4726SShannon Zhao	  virtual machines.
6004fe4726SShannon Zhao
614340ba80SMarc Zyngierconfig KVM_INDIRECT_VECTORS
62dee39247SMarc Zyngier       def_bool KVM && (HARDEN_BRANCH_PREDICTOR || HARDEN_EL2_VECTORS)
634340ba80SMarc Zyngier
6475755c6dSWei Huangsource drivers/vhost/Kconfig
6575755c6dSWei Huang
66c3eb5b14SMarc Zyngierendif # VIRTUALIZATION
67