mbox series

[v3,0/2] Add paravirt KVM_FEATURE_VIRT_EXTIOI feature

Message ID 20240725122812.3296140-1-maobibo@loongson.cn (mailing list archive)
Headers show
Series Add paravirt KVM_FEATURE_VIRT_EXTIOI feature | expand

Message

Bibo Mao July 25, 2024, 12:28 p.m. UTC
KVM_FEATURE_VIRT_EXTIOI is paravirt feature defined with EXTIOI
interrupt controller, it can route interrupt to 256 CPUs and cpu
interface IP0-IP7. Now irqchip is emulated in user space rather than
kernel space, here interface is provide for VMM to pass it to KVM
hyperviso.

Also interface is provide to VMM to detect and enable/disable paravirt
features provided in KVM hypervisor.

---
v2 ... v3:
  1. Add interface to detect and enable/disable paravirt features in
KVM hypervisor.
  2. Implement function kvm_arch_para_features() for device driver in
VM side to detected supported paravirt features.

v1 ... v2:
  1. Update changelog suggested by WangXuerui.
  2. Fix typo issue in function kvm_loongarch_cpucfg_set_attr(),
usr_features should be assigned directly, also suggested by WangXueRui.

---
Bibo Mao (2):
  LoongArch: KVM: Enable paravirt feature control from VMM
  LoongArch: KVM: Implement function kvm_arch_para_features

 arch/loongarch/include/asm/kvm_host.h      |  9 +++++
 arch/loongarch/include/asm/kvm_para.h      | 11 ++++++
 arch/loongarch/include/asm/loongarch.h     | 13 -------
 arch/loongarch/include/uapi/asm/Kbuild     |  2 --
 arch/loongarch/include/uapi/asm/kvm.h      |  2 ++
 arch/loongarch/include/uapi/asm/kvm_para.h | 24 +++++++++++++
 arch/loongarch/kernel/paravirt.c           | 22 ++++++++----
 arch/loongarch/kvm/exit.c                  |  4 +--
 arch/loongarch/kvm/vcpu.c                  | 41 +++++++++++++++++++---
 arch/loongarch/kvm/vm.c                    | 12 +++++++
 10 files changed, 111 insertions(+), 29 deletions(-)
 create mode 100644 arch/loongarch/include/uapi/asm/kvm_para.h


base-commit: c33ffdb70cc6df4105160f991288e7d2567d7ffa