[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT PATCH] plat/kvm: don't crash on unhandled IRQ



Crashing on unhandled interrupts is not very helpful, because things as
simple as hitting a key on the VGA console leads to a crash (because
there is no keyboard driver yet).

Generally speaking, crashing on an unhandled IRQ is unnecessarily harsh.
If we just ignore it, the worst thing that can happen is that the
hardware that raised the interrupt feels ignored and floods us with
additional interrupts, which could lead to the system stalling; but that
is not any worse than an immediate crash, and in most cases, just
showing an error message and continuing will be completely fine.

Also removed a comment that seems somewhat misleading about what the
function actually does.

Signed-off-by: Florian Schmidt <florian.schmidt@xxxxxxxxx>
---
 plat/kvm/irq.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/plat/kvm/irq.c b/plat/kvm/irq.c
index f482942..bad45e2 100644
--- a/plat/kvm/irq.c
+++ b/plat/kvm/irq.c
@@ -36,7 +36,6 @@
 #include <errno.h>
 #include <uk/arch/atomic.h>
 
-
 static struct uk_alloc *allocator;
 
 struct irq_handler {
@@ -105,11 +104,8 @@ void _ukplat_irq_handle(unsigned long irq)
        }
 
        if (!handled)
-               UK_CRASH("Unhandled irq=%lu\n", irq);
+               uk_printd(DLVL_CRIT, "Unhandled irq=%lu\n", irq);
        else
-               /* Only ACK the IRQ if handled; we only need to know
-                * about an unhandled IRQ the first time round.
-                */
                intctrl_ack_irq(irq);
 }
 
-- 
2.18.0


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.