[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH] plat/kvm: don't crash on unhandled IRQ
Hey Florian, On 16.08.2018 11:19, Simon Kuenzer wrote: Hey,I agree with this new behavior. It makes Unikraft a bit more resistant as long as we do not support all default-enabled platform interrupts (e.g., keyboard controller).Could you provide a patch that introduces this behavior also to Xen? I think, the file should be plat/common/x86/traps.c. Forget this comment. We have do not have yet interrupts support on Xen as we have on KVM. Cheers, Simon Reviewed-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx> On 16.08.2018 09:07, Florian Schmidt wrote: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); }_______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |