[PATCH 3/3] LoongArch: KVM: Register perf callback for guest

From: Bibo Mao
Date: Mon Feb 24 2025 - 04:57:53 EST


Add selection for GUEST_PERF_EVENTS if KVM is enabled, also add perf
callback register when KVM module is loading.

Signed-off-by: Bibo Mao <maobibo@xxxxxxxxxxx>
---
arch/loongarch/kvm/Kconfig | 1 +
arch/loongarch/kvm/main.c | 2 ++
2 files changed, 3 insertions(+)

diff --git a/arch/loongarch/kvm/Kconfig b/arch/loongarch/kvm/Kconfig
index 97a811077ac3..40eea6da7c25 100644
--- a/arch/loongarch/kvm/Kconfig
+++ b/arch/loongarch/kvm/Kconfig
@@ -33,6 +33,7 @@ config KVM
select KVM_MMIO
select KVM_XFER_TO_GUEST_WORK
select SCHED_INFO
+ select GUEST_PERF_EVENTS if PERF_EVENTS
help
Support hosting virtualized guest machines using
hardware virtualization extensions. You will need
diff --git a/arch/loongarch/kvm/main.c b/arch/loongarch/kvm/main.c
index f6d3242b9234..4c5af4718182 100644
--- a/arch/loongarch/kvm/main.c
+++ b/arch/loongarch/kvm/main.c
@@ -387,6 +387,7 @@ static int kvm_loongarch_env_init(void)
}

kvm_init_gcsr_flag();
+ kvm_register_perf_callbacks(NULL);

/* Register LoongArch IPI interrupt controller interface. */
ret = kvm_loongarch_register_ipi_device();
@@ -408,6 +409,7 @@ static void kvm_loongarch_env_exit(void)
{
unsigned long addr;

+ kvm_unregister_perf_callbacks();
if (vmcs)
free_percpu(vmcs);

--
2.39.3