|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH] plat/linuxu: Acknowledge all interrupts on controller
Like on plat/kvm, we acknowledge interrupts even in the
case when there was no handler for it. We do this to get
similar platform behaviour.
Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>
---
plat/linuxu/irq.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/plat/linuxu/irq.c b/plat/linuxu/irq.c
index e7435b34..f2b18a85 100644
--- a/plat/linuxu/irq.c
+++ b/plat/linuxu/irq.c
@@ -123,19 +123,20 @@ asm("__restorer:mov r7, #0x77\nsvc 0x0");
static void _irq_handle(int irq)
{
struct irq_handler *h;
- int handled = 0;
UK_ASSERT(irq >= 0 && irq < IRQS_NUM);
UK_SLIST_FOREACH(h, &irq_handlers[irq], entries) {
- if (h->func(h->arg) == 1) {
- handled = 1;
- break;
- }
+ if (h->func(h->arg) == 1)
+ return;
}
-
- if (!handled)
- UK_CRASH("Unhandled irq=%d\n", irq);
+ /*
+ * Just warn about unhandled interrupts. We do this to
+ * (1) compensate potential spurious interrupts of
+ * devices, and (2) to minimize impact on drivers that share
+ * one interrupt line that would then stay disabled.
+ */
+ uk_pr_crit("Unhandled irq=%d\n", irq);
}
int ukplat_irq_register(unsigned long irq, irq_handler_func_t func, void *arg)
--
2.11.0
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |