public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/3] Add extioi virt extension support
@ 2024-08-05  7:35 Bibo Mao
  2024-08-05  7:35 ` [PATCH v5 1/3] LoongArch: KVM: Enable paravirt feature control from VMM Bibo Mao
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Bibo Mao @ 2024-08-05  7:35 UTC (permalink / raw)
  To: Tianrui Zhao, Huacai Chen, Thomas Gleixner
  Cc: WANG Xuerui, kvm, loongarch, linux-kernel, virtualization, x86,
	Song Gao

KVM_FEATURE_VIRT_EXTIOI is paravirt feature defined with EXTIOI
interrupt controller, it can route interrupt to 256 CPUs and cpu
interrupt pin IP0-IP7. Now irqchip is emulated in user space rather than
kernel space, here interface is provided for VMM to pass this feature to
VMM hypervisor.

Also interface is provided to VMM to detect and enable/disable paravirt
features provided in KVM hypervisor. And api kvm_para_has_feature() is
available on LoongArch for device driver to detect paravirt features and
do some optimization.

---
v4 ... v5:
  1. Refresh annotation "WITH Linux-syscall-note" about uapi header file
     arch/loongarch/include/uapi/asm/kvm_para.h

v3 ... v4:
  1. Implement function kvm_para_has_feature() on LoongArch platform,
     and redefine feature with normal number rather than bitmap number,
     since function kvm_para_has_feature() requires this.
  2. Add extioi virt extension support in this patch set.
  3. Update extioi virt extension support patch with review comments,
     including documentation, using kvm_para_has_feature() to detect
     features etc.

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 (3):
  LoongArch: KVM: Enable paravirt feature control from VMM
  LoongArch: KVM: Implement function kvm_para_has_feature
  irqchip/loongson-eiointc: Add extioi virt extension support

 .../arch/loongarch/irq-chip-model.rst         |  64 ++++++++++
 .../zh_CN/arch/loongarch/irq-chip-model.rst   |  55 +++++++++
 arch/loongarch/include/asm/irq.h              |   1 +
 arch/loongarch/include/asm/kvm_host.h         |   7 ++
 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         |   5 +
 arch/loongarch/include/uapi/asm/kvm_para.h    |  24 ++++
 arch/loongarch/kernel/paravirt.c              |  32 ++---
 arch/loongarch/kvm/exit.c                     |   6 +-
 arch/loongarch/kvm/vcpu.c                     |  41 ++++++-
 arch/loongarch/kvm/vm.c                       |  43 ++++++-
 drivers/irqchip/irq-loongson-eiointc.c        | 109 ++++++++++++++----
 14 files changed, 355 insertions(+), 58 deletions(-)
 create mode 100644 arch/loongarch/include/uapi/asm/kvm_para.h


base-commit: de9c2c66ad8e787abec7c9d7eff4f8c3cdd28aed
-- 
2.39.3


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-08-12  1:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-05  7:35 [PATCH v5 0/3] Add extioi virt extension support Bibo Mao
2024-08-05  7:35 ` [PATCH v5 1/3] LoongArch: KVM: Enable paravirt feature control from VMM Bibo Mao
2024-08-05  7:35 ` [PATCH v5 2/3] LoongArch: KVM: Implement function kvm_para_has_feature Bibo Mao
2024-08-05  7:35 ` [PATCH v5 3/3] irqchip/loongson-eiointc: Add extioi virt extension support Bibo Mao
2024-08-10 20:46   ` Thomas Gleixner
2024-08-12  1:10     ` maobibo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox