• Johannes Berg's avatar
    um: Support dynamic IRQ allocation · 36d46a59
    Johannes Berg authored
    It's cumbersome and error-prone to keep adding fixed IRQ numbers,
    and for proper device wakeup support for the virtio/vhost-user
    support we need to have different IRQs for each device. Even if
    in theory two IRQs (with and without wake) might be sufficient,
    it's much easier to reason about it when we have dynamic number
    assignment. It also makes it easier to add new devices that may
    dynamically exist or depending on the configuration, etc.
    
    Add support for this, up to 64 IRQs (the same limit as epoll FDs
    we have right now). Since it's not easy to port all the existing
    places to dynamic allocation (some data is statically initialized)
    keep the low numbers are reserved for the existing hard-coded IRQ
    numbers.
    Acked-By: default avatarAnton Ivanov <anton.ivanov@cambridgegreys.com>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    Acked-By: default avatarAnton Ivanov <anton.ivanov@cambridgegreys.com>
    Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
    36d46a59
ubd_kern.c 39.4 KB