On LoongArch, IRQs can be routed to four vcpus with hardware extioi.
This patch adds the extioi virt extension support so that the IRQ can
route to 256 vcpus.
v4:
- Put patch3 ahead of patch2;
- patch1 Introduce two IRQ model(Extended IRQ model and Virt extended IRQ model);
- Link to v3: https://patchew.org/QEMU/20240521123225.231072-1-gaosong@loongson.cn/
v3:
- Split patch2 to two small patch.
- remove unused code.
- loongarch_extioi_reset() clear status without checking virt extioi
features.
- Link to v2: https://patchew.org/QEMU/20240514090756.988096-1-gaosong@loongson.cn/
v2:
- Split the patch to two small patch.
- Drop 'RFC' title. extioi virt extension suport only enable on kvm
mode and the extioi driver need patch[1].
but this series do not affect the old codes in any way.
- Link to v1: https://lore.kernel.org/all/20240116022526.498613-1-gaosong@loongson.cn/#r
[1]: https://gitee.com/openeuler/kernel/commit/5d97cff72f91f4f20a536efd60eca75bfcb78a64
Thanks.
Song Gao
Song Gao (3):
hw/intc/loongarch_extioi: Add extioi virt extension definition
hw/loongarch/virt: Use MemTxAttrs interface for misc ops
hw/loongarch/virt: Enable extioi virt extension
include/hw/intc/loongarch_extioi.h | 21 ++++
include/hw/loongarch/virt.h | 1 +
target/loongarch/cpu.h | 1 +
hw/intc/loongarch_extioi.c | 88 +++++++++++++-
hw/loongarch/virt.c | 182 +++++++++++++++++++++++------
5 files changed, 256 insertions(+), 37 deletions(-)
--
2.34.1