Paravirt features is enabled by default if it is supported by KVM host, such as KVM_FEATURE_IPI and KVM_FEATURE_STEAL_TIME, however paravirt feature KVM_FEATURE_VIRT_EXTIOI is controlled from qemu VMM rather KVM host.
>From qemu VMM side, all paravirt features should be controlled. Here property of paravirt features are added, also feature detection and enabling is added here. --- v1 ... v2: 1. Add stub implementation with kvm_loongarch_cpu_post_init() so that it passes to compile with --without-system option. 2. In order to detect supported paravirt features from qmp command, paravirt feature is added in array cpu_model_advertised_features such as kvm-pv-ipi and kvm-steal-time. --- Bibo Mao (8): target/loongarch: Add post init function for kvm mode target/loongarch: Mov kvm specified vcpu property to kvm directory target/loongarch: Add CPU property for paravirt ipi feature target/loongarch: Add paravirt ipi feature detection target/loongarch: Add paravirt ipi feature enabling target/loongarch: Add CPU property for kvm steal time feature target/loongarch: Add kvm steal time feature detection target/loongarch: Add virtual extioi feature enabling hw/loongarch/virt.c | 8 -- include/hw/loongarch/virt.h | 9 ++ target/loongarch/cpu.c | 42 +----- target/loongarch/cpu.h | 13 ++ target/loongarch/kvm/kvm.c | 177 +++++++++++++++++++++++++- target/loongarch/loongarch-qmp-cmds.c | 2 +- 6 files changed, 202 insertions(+), 49 deletions(-) base-commit: db7aa99ef894e88fc5eedf02ca2579b8c344b2ec -- 2.39.3