Commit c1fc48aa authored by Tianrui Zhao's avatar Tianrui Zhao Committed by Huacai Chen
Browse files

LoongArch: KVM: Enable kvm config and add the makefile



Enable LoongArch kvm config and add the makefile to support build kvm
module.

Reviewed-by: default avatarBibo Mao <maobibo@loongson.cn>
Tested-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
Signed-off-by: default avatarTianrui Zhao <zhaotianrui@loongson.cn>
Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
parent 39fdf4be
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -3,5 +3,7 @@ obj-y += mm/
obj-y += net/
obj-y += vdso/

obj-$(CONFIG_KVM) += kvm/

# for cleaning
subdir- += boot
+6 −0
Original line number Diff line number Diff line
@@ -129,6 +129,7 @@ config LOONGARCH
	select HAVE_KPROBES
	select HAVE_KPROBES_ON_FTRACE
	select HAVE_KRETPROBES
	select HAVE_KVM
	select HAVE_MOD_ARCH_SPECIFIC
	select HAVE_NMI
	select HAVE_PCI
@@ -263,6 +264,9 @@ config AS_HAS_LASX_EXTENSION
config AS_HAS_LBT_EXTENSION
	def_bool $(as-instr,movscr2gr \$a0$(comma)\$scr0)

config AS_HAS_LVZ_EXTENSION
	def_bool $(as-instr,hvcl 0)

menu "Kernel type and options"

source "kernel/Kconfig.hz"
@@ -676,3 +680,5 @@ source "kernel/power/Kconfig"
source "drivers/acpi/Kconfig"

endmenu

source "arch/loongarch/kvm/Kconfig"
+2 −0
Original line number Diff line number Diff line
@@ -66,6 +66,8 @@ CONFIG_EFI_ZBOOT=y
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
CONFIG_EFI_CAPSULE_LOADER=m
CONFIG_EFI_TEST=m
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
CONFIG_JUMP_LABEL=y
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
+40 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
#
# 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
	tristate "Kernel-based Virtual Machine (KVM) support"
	depends on AS_HAS_LVZ_EXTENSION
	depends on HAVE_KVM
	select HAVE_KVM_DIRTY_RING_ACQ_REL
	select HAVE_KVM_EVENTFD
	select HAVE_KVM_VCPU_ASYNC_IOCTL
	select KVM_GENERIC_DIRTYLOG_READ_PROTECT
	select KVM_GENERIC_HARDWARE_ENABLING
	select KVM_MMIO
	select KVM_XFER_TO_GUEST_WORK
	select MMU_NOTIFIER
	select PREEMPT_NOTIFIERS
	help
	  Support hosting virtualized guest machines using
	  hardware virtualization extensions. You will need
	  a processor equipped with virtualization extensions.

	  If unsure, say N.

endif # VIRTUALIZATION
+22 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
#
# Makefile for LoongArch KVM support
#

ccflags-y += -I $(srctree)/$(src)

include $(srctree)/virt/kvm/Makefile.kvm

obj-$(CONFIG_KVM) += kvm.o

kvm-y += exit.o
kvm-y += interrupt.o
kvm-y += main.o
kvm-y += mmu.o
kvm-y += switch.o
kvm-y += timer.o
kvm-y += tlb.o
kvm-y += vcpu.o
kvm-y += vm.o

CFLAGS_exit.o	+= $(call cc-option,-Wno-override-init,)