The concept of the IRQ isn't needed at this layerPartially reverting 9b33b154b53. The IRQ is something
which belongs to the particular hardware, not the innermost layer of the
kernel.D39178 now has a proposed common interface for "irq" to interrupt structure resolution, Put another way intr_eventRemaining portion is the device/interrupt source side
of the interrupt, "IRQs" are an interrupt controller concepto switch `intr_{get|set}affinity()` and `_intr_drain()` to the interface.
This largely reverts commit 9b33b154b53There is a question of whether the numeric value to `struct intr_event *` should be internal, versus external. Many places originally modifiedReceiving a `struct intr_event *` seems more consistent with the rest of `kern_intr.c`, though all present users have the number handy.
Squash review: (the original has been broken into pieces)
no longer exist and a number of new locations have been added. This isswitch `intr_{get|set}affinity()` to internally use `intr2event()`/`intrtab_lookup()`
still reverting a large portion of that commit.
Squash review:switch `intr_{get|set}affinity()` to expect `intr_event *` as argument
switching `intr_{get|set}affinity()` to using proposed standard interfaceremove "irq" argument from `intr_event_create()`
removing "irq" from kernel event interface
switching `intr_{get|set}affinity()` to using `e `->ie_irq` from `struct intr_event *``