* [PATCH] LoongArch: KVM: Add some feature detection on host with 3C6000
@ 2025-07-07 3:51 Bibo Mao
2025-07-07 5:20 ` Yanteng Si
2025-07-14 9:57 ` Bibo Mao
0 siblings, 2 replies; 3+ messages in thread
From: Bibo Mao @ 2025-07-07 3:51 UTC (permalink / raw)
To: Tianrui Zhao, Huacai Chen; +Cc: WANG Xuerui, kvm, loongarch, linux-kernel
With 3C6000 hardware platform, hardware page table walking and avec
features are supported on host. Here add these two feature detection
on KVM host.
Signed-off-by: Bibo Mao <maobibo@loongson.cn>
---
arch/loongarch/include/uapi/asm/kvm.h | 2 ++
arch/loongarch/kvm/vm.c | 8 ++++++++
2 files changed, 10 insertions(+)
diff --git a/arch/loongarch/include/uapi/asm/kvm.h b/arch/loongarch/include/uapi/asm/kvm.h
index 5f354f5c6847..0b9feb6c0d53 100644
--- a/arch/loongarch/include/uapi/asm/kvm.h
+++ b/arch/loongarch/include/uapi/asm/kvm.h
@@ -103,6 +103,8 @@ struct kvm_fpu {
#define KVM_LOONGARCH_VM_FEAT_PMU 5
#define KVM_LOONGARCH_VM_FEAT_PV_IPI 6
#define KVM_LOONGARCH_VM_FEAT_PV_STEALTIME 7
+#define KVM_LOONGARCH_VM_FEAT_PTW 8
+#define KVM_LOONGARCH_VM_FEAT_AVEC 9
/* Device Control API on vcpu fd */
#define KVM_LOONGARCH_VCPU_CPUCFG 0
diff --git a/arch/loongarch/kvm/vm.c b/arch/loongarch/kvm/vm.c
index edccfc8c9cd8..728b24a62f1e 100644
--- a/arch/loongarch/kvm/vm.c
+++ b/arch/loongarch/kvm/vm.c
@@ -146,6 +146,14 @@ static int kvm_vm_feature_has_attr(struct kvm *kvm, struct kvm_device_attr *attr
if (kvm_pvtime_supported())
return 0;
return -ENXIO;
+ case KVM_LOONGARCH_VM_FEAT_PTW:
+ if (cpu_has_ptw)
+ return 0;
+ return -ENXIO;
+ case KVM_LOONGARCH_VM_FEAT_AVEC:
+ if (cpu_has_avecint)
+ return 0;
+ return -ENXIO;
default:
return -ENXIO;
}
--
2.39.3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] LoongArch: KVM: Add some feature detection on host with 3C6000
2025-07-07 3:51 [PATCH] LoongArch: KVM: Add some feature detection on host with 3C6000 Bibo Mao
@ 2025-07-07 5:20 ` Yanteng Si
2025-07-14 9:57 ` Bibo Mao
1 sibling, 0 replies; 3+ messages in thread
From: Yanteng Si @ 2025-07-07 5:20 UTC (permalink / raw)
To: Bibo Mao, Tianrui Zhao, Huacai Chen
Cc: WANG Xuerui, kvm, loongarch, linux-kernel
在 7/7/25 11:51 AM, Bibo Mao 写道:
> With 3C6000 hardware platform, hardware page table walking and avec
> features are supported on host. Here add these two feature detection
> on KVM host.
>
> Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Reviewed-by: Yanteng Si <siyanteng@cqsoftware.com.cn>
Thanks,
Yanteng
> ---
> arch/loongarch/include/uapi/asm/kvm.h | 2 ++
> arch/loongarch/kvm/vm.c | 8 ++++++++
> 2 files changed, 10 insertions(+)
>
> diff --git a/arch/loongarch/include/uapi/asm/kvm.h b/arch/loongarch/include/uapi/asm/kvm.h
> index 5f354f5c6847..0b9feb6c0d53 100644
> --- a/arch/loongarch/include/uapi/asm/kvm.h
> +++ b/arch/loongarch/include/uapi/asm/kvm.h
> @@ -103,6 +103,8 @@ struct kvm_fpu {
> #define KVM_LOONGARCH_VM_FEAT_PMU 5
> #define KVM_LOONGARCH_VM_FEAT_PV_IPI 6
> #define KVM_LOONGARCH_VM_FEAT_PV_STEALTIME 7
> +#define KVM_LOONGARCH_VM_FEAT_PTW 8
> +#define KVM_LOONGARCH_VM_FEAT_AVEC 9
>
> /* Device Control API on vcpu fd */
> #define KVM_LOONGARCH_VCPU_CPUCFG 0
> diff --git a/arch/loongarch/kvm/vm.c b/arch/loongarch/kvm/vm.c
> index edccfc8c9cd8..728b24a62f1e 100644
> --- a/arch/loongarch/kvm/vm.c
> +++ b/arch/loongarch/kvm/vm.c
> @@ -146,6 +146,14 @@ static int kvm_vm_feature_has_attr(struct kvm *kvm, struct kvm_device_attr *attr
> if (kvm_pvtime_supported())
> return 0;
> return -ENXIO;
> + case KVM_LOONGARCH_VM_FEAT_PTW:
> + if (cpu_has_ptw)
> + return 0;
> + return -ENXIO;
> + case KVM_LOONGARCH_VM_FEAT_AVEC:
> + if (cpu_has_avecint)
> + return 0;
> + return -ENXIO;
> default:
> return -ENXIO;
> }
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] LoongArch: KVM: Add some feature detection on host with 3C6000
2025-07-07 3:51 [PATCH] LoongArch: KVM: Add some feature detection on host with 3C6000 Bibo Mao
2025-07-07 5:20 ` Yanteng Si
@ 2025-07-14 9:57 ` Bibo Mao
1 sibling, 0 replies; 3+ messages in thread
From: Bibo Mao @ 2025-07-14 9:57 UTC (permalink / raw)
To: Tianrui Zhao, Huacai Chen; +Cc: WANG Xuerui, kvm, loongarch, linux-kernel
Maybe it is too early to submit such patch :(
At least there is new CSR registers about AVEC feature which are not
saved and restored in vCPU context switch function. And the AVEC feature
in KVM is not tested also.
Regards
Bibo Mao
On 2025/7/7 上午11:51, Bibo Mao wrote:
> With 3C6000 hardware platform, hardware page table walking and avec
> features are supported on host. Here add these two feature detection
> on KVM host.
>
> Signed-off-by: Bibo Mao <maobibo@loongson.cn>
> ---
> arch/loongarch/include/uapi/asm/kvm.h | 2 ++
> arch/loongarch/kvm/vm.c | 8 ++++++++
> 2 files changed, 10 insertions(+)
>
> diff --git a/arch/loongarch/include/uapi/asm/kvm.h b/arch/loongarch/include/uapi/asm/kvm.h
> index 5f354f5c6847..0b9feb6c0d53 100644
> --- a/arch/loongarch/include/uapi/asm/kvm.h
> +++ b/arch/loongarch/include/uapi/asm/kvm.h
> @@ -103,6 +103,8 @@ struct kvm_fpu {
> #define KVM_LOONGARCH_VM_FEAT_PMU 5
> #define KVM_LOONGARCH_VM_FEAT_PV_IPI 6
> #define KVM_LOONGARCH_VM_FEAT_PV_STEALTIME 7
> +#define KVM_LOONGARCH_VM_FEAT_PTW 8
> +#define KVM_LOONGARCH_VM_FEAT_AVEC 9
>
> /* Device Control API on vcpu fd */
> #define KVM_LOONGARCH_VCPU_CPUCFG 0
> diff --git a/arch/loongarch/kvm/vm.c b/arch/loongarch/kvm/vm.c
> index edccfc8c9cd8..728b24a62f1e 100644
> --- a/arch/loongarch/kvm/vm.c
> +++ b/arch/loongarch/kvm/vm.c
> @@ -146,6 +146,14 @@ static int kvm_vm_feature_has_attr(struct kvm *kvm, struct kvm_device_attr *attr
> if (kvm_pvtime_supported())
> return 0;
> return -ENXIO;
> + case KVM_LOONGARCH_VM_FEAT_PTW:
> + if (cpu_has_ptw)
> + return 0;
> + return -ENXIO;
> + case KVM_LOONGARCH_VM_FEAT_AVEC:
> + if (cpu_has_avecint)
> + return 0;
> + return -ENXIO;
> default:
> return -ENXIO;
> }
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-07-14 9:59 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-07 3:51 [PATCH] LoongArch: KVM: Add some feature detection on host with 3C6000 Bibo Mao
2025-07-07 5:20 ` Yanteng Si
2025-07-14 9:57 ` Bibo Mao
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).