c17413ff3e
including soft interrupt, and this is way too low in some use (lots of domains, or domains with lots of xennet, or even hardware with lots of devices at different interrupts). Based on idea from YAMAMOTO Takashi, keep one list of handler per-event and one per-IPL (so the same handler is now in 2 lists). In the common case were an event is received at low IPL, we can call the handlers quickly (there is usually only one handler per event, unless the event is mapped to a physical interrupt and this interrupt is shared by different devices). Deffered events and software interrupts are handled by a bitmask (as before) with one bit per IPL. When one IPL has an event pending all handlers for this IPL will be called. With this change, it is now possible to have all the 1024 events active. While here, handle debug event in a special way: the handler is always called, regardless of the current IPL. Make the handler print usefull informations about events and IPL states. Also remove code not used on Xen in files inherited from the x86 port. |
||
---|---|---|
.. | ||
bus_space.c | ||
consinit.c | ||
intr.c |