d21a1c83c7
The CONFIG_KVM_ARM_MAX_VCPUS symbol is needed in order to build the kernel/context_tracking.c code, which includes the vgic data structures implictly through the kvm headers. Definining the symbol to zero on builds without KVM resolves this build error: In file included from include/linux/kvm_host.h:33:0, from kernel/context_tracking.c:18: arch/arm/include/asm/kvm_host.h:28:23: warning: "CONFIG_KVM_ARM_MAX_VCPUS" is not defined [-Wundef] #define KVM_MAX_VCPUS CONFIG_KVM_ARM_MAX_VCPUS ^ arch/arm/include/asm/kvm_vgic.h:34:24: note: in expansion of macro 'KVM_MAX_VCPUS' #define VGIC_MAX_CPUS KVM_MAX_VCPUS ^ arch/arm/include/asm/kvm_vgic.h:38:6: note: in expansion of macro 'VGIC_MAX_CPUS' #if (VGIC_MAX_CPUS > 8) ^ In file included from arch/arm/include/asm/kvm_host.h:41:0, from include/linux/kvm_host.h:33, from kernel/context_tracking.c:18: arch/arm/include/asm/kvm_vgic.h:59:11: error: 'CONFIG_KVM_ARM_MAX_VCPUS' undeclared here (not in a function) } percpu[VGIC_MAX_CPUS]; ^ Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Marc Zyngier <marc.zyngier@arm.com> Cc: Christoffer Dall <cdall@cs.columbia.edu> Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>
72 lines
1.8 KiB
Text
72 lines
1.8 KiB
Text
#
|
|
# KVM configuration
|
|
#
|
|
|
|
source "virt/kvm/Kconfig"
|
|
|
|
menuconfig VIRTUALIZATION
|
|
bool "Virtualization"
|
|
---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
|
|
bool "Kernel-based Virtual Machine (KVM) support"
|
|
select PREEMPT_NOTIFIERS
|
|
select ANON_INODES
|
|
select KVM_MMIO
|
|
select KVM_ARM_HOST
|
|
depends on ARM_VIRT_EXT && ARM_LPAE
|
|
---help---
|
|
Support hosting virtualized guest machines. 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.
|
|
|
|
If unsure, say N.
|
|
|
|
config KVM_ARM_HOST
|
|
bool "KVM host support for ARM cpus."
|
|
depends on KVM
|
|
depends on MMU
|
|
select MMU_NOTIFIER
|
|
---help---
|
|
Provides host support for ARM processors.
|
|
|
|
config KVM_ARM_MAX_VCPUS
|
|
int "Number maximum supported virtual CPUs per VM" if KVM_ARM_HOST
|
|
default 4 if KVM_ARM_HOST
|
|
default 0
|
|
help
|
|
Static number of max supported virtual CPUs per VM.
|
|
|
|
If you choose a high number, the vcpu structures will be quite
|
|
large, so only choose a reasonable number that you expect to
|
|
actually use.
|
|
|
|
config KVM_ARM_VGIC
|
|
bool "KVM support for Virtual GIC"
|
|
depends on KVM_ARM_HOST && OF
|
|
select HAVE_KVM_IRQCHIP
|
|
default y
|
|
---help---
|
|
Adds support for a hardware assisted, in-kernel GIC emulation.
|
|
|
|
config KVM_ARM_TIMER
|
|
bool "KVM support for Architected Timers"
|
|
depends on KVM_ARM_VGIC && ARM_ARCH_TIMER
|
|
select HAVE_KVM_IRQCHIP
|
|
default y
|
|
---help---
|
|
Adds support for the Architected Timers in virtual machines
|
|
|
|
source drivers/virtio/Kconfig
|
|
|
|
endif # VIRTUALIZATION
|