Skip to content

qemu_irq_split() callers should use TYPE_SPLIT_IRQ device instead

Currently QEMU has two ways to say "take this irq line and split it so I can feed it into two devices" -- the old-style function qemu_irq_split(), and the newer TYPE_SPLIT_IRQ QOM device. For new code we prefer the QOM device.

The old qemu_irq_split() function isn't used in many places:

  • the realview boards (2 calls)
  • the stellaris board (1 call)
  • the openrisc_sim board (1 call)
  • the exynos4210 gic device (3 calls)
  • the exynos4210 combiner device (7 calls)

It would be a nice cleanup to update these five files to use TYPE_SPLIT_IRQ instead, so we can remove the old API.

I'm tentatively marking this as a bitesized task. Notes on that:

  • if you're trying this, I suggest starting with the realview board; send a patch for just that to check you have the right idea before tackling the others
  • you'll need (or will learn) some basic knowledge about how to create and wire up QOM device objects both in board models and inside other device objects
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information