On 18/12/24 21:20, Phil Dennis-Jordan wrote:
From: Alexander Graf <[email protected]>

Some boards such as vmapple don't do real legacy PCI IRQ swizzling.
Instead, they just keep allocating more board IRQ lines for each new
legacy IRQ. Let's support that mode by giving instantiators a new
"nr_irqs" property they can use to support more than 4 legacy IRQ lines.
In this mode, GPEX will export more IRQ lines, one for each device.

Signed-off-by: Alexander Graf <[email protected]>
Signed-off-by: Phil Dennis-Jordan <[email protected]>
Reviewed-by: Akihiko Odaki <[email protected]>
Tested-by: Akihiko Odaki <[email protected]>
---

v4:

  * Turned pair of IRQ arrays into array of structs.
  * Simplified swizzling logic selection.

v12:

  * Fixed uses of deleted GPEX_NUM_IRQS constant that have been
    added to QEMU since this patch was originally written.

  hw/arm/sbsa-ref.c          |  2 +-
  hw/arm/virt.c              |  2 +-
  hw/i386/microvm.c          |  2 +-
  hw/loongarch/virt.c        | 12 +++++------
  hw/mips/loongson3_virt.c   |  2 +-
  hw/openrisc/virt.c         | 12 +++++------
  hw/pci-host/gpex.c         | 43 ++++++++++++++++++++++++++++++--------
  hw/riscv/virt.c            | 12 +++++------
  hw/xen/xen-pvh-common.c    |  2 +-
  hw/xtensa/virt.c           |  2 +-
  include/hw/pci-host/gpex.h |  7 +++----
  11 files changed, 61 insertions(+), 37 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <[email protected]>


Reply via email to