Spacemit K3 and Tenstorrent Atlantis support only 64 guest interrupt
identities. QEMU virt machine always requests 255.
This patchset queries the hw limits from the KVM AIA device to avoid
requesting more interrupt identities than supported.
Without this patchet QEMU KVM crashes on those platforms.

Bug Ticket: https://gitlab.com/qemu-project/qemu/-/work_items/4599

Signed-off-by: Stefan Butz <[email protected]>
---
Stefan Butz (4):
      hw/riscv/virt: Provide number of interrupt identities
      hw/riscv/virt: Move platform bus interrupts below 64
      target/riscv/kvm: Create KVM AIA device before configuring it
      hw/riscv/virt: Limit interrupt identities to what KVM AIA supports

 hw/riscv/virt-acpi-build.c   |  4 ++--
 hw/riscv/virt.c              | 29 ++++++++++++++++++++++-------
 include/hw/riscv/virt.h      |  5 +++--
 target/riscv/kvm/kvm-cpu.c   | 43 ++++++++++++++++++++++++++++++++-----------
 target/riscv/kvm/kvm-stub.c  | 18 ++++++++++++++----
 target/riscv/kvm/kvm_riscv.h | 10 ++++++----
 6 files changed, 79 insertions(+), 30 deletions(-)
---
base-commit: efa3b9d5ac8024078225e1ab434411fdfe53b457
change-id: 20260928-spacemit-k3-31322d958522

Best regards,
--  
Stefan Butz <[email protected]>


Reply via email to