mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-11-09 19:10:45 +01:00
This patch add Loongson-3 Virtual IPI interrupt support in the kernel. The current implementation of IPI emulation in QEMU is based on GIC for MIPS, but Loongson-3 doesn't use GIC. Furthermore, IPI emulation in QEMU is too expensive for performance (because of too many context switches between Host and Guest). With current solution, the IPI delay may even cause RCU stall warnings in a multi-core Guest. So, we design a faster solution that emulate IPI interrupt in kernel (only used by Loongson-3 now). Reviewed-by: Aleksandar Markovic <[email protected]> Signed-off-by: Huacai Chen <[email protected]> Co-developed-by: Jiaxun Yang <[email protected]> Message-Id: <[email protected]> Signed-off-by: Paolo Bonzini <[email protected]>
28 lines
615 B
Makefile
28 lines
615 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
# Makefile for KVM support for MIPS
|
|
#
|
|
|
|
common-objs-y = $(addprefix ../../../virt/kvm/, kvm_main.o coalesced_mmio.o eventfd.o)
|
|
|
|
EXTRA_CFLAGS += -Ivirt/kvm -Iarch/mips/kvm
|
|
|
|
common-objs-$(CONFIG_CPU_HAS_MSA) += msa.o
|
|
|
|
kvm-objs := $(common-objs-y) mips.o emulate.o entry.o \
|
|
interrupt.o stats.o commpage.o \
|
|
fpu.o
|
|
kvm-objs += hypcall.o
|
|
kvm-objs += mmu.o
|
|
ifdef CONFIG_CPU_LOONGSON64
|
|
kvm-objs += loongson_ipi.o
|
|
endif
|
|
|
|
ifdef CONFIG_KVM_MIPS_VZ
|
|
kvm-objs += vz.o
|
|
else
|
|
kvm-objs += dyntrans.o
|
|
kvm-objs += trap_emul.o
|
|
endif
|
|
obj-$(CONFIG_KVM) += kvm.o
|
|
obj-y += callback.o tlb.o
|