diff options
Diffstat (limited to 'arch/x86/kernel/irq.c')
| -rw-r--r-- | arch/x86/kernel/irq.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c index 22349f5c301b..cb38c8737602 100644 --- a/arch/x86/kernel/irq.c +++ b/arch/x86/kernel/irq.c @@ -193,6 +193,11 @@ int arch_show_interrupts(struct seq_file *p, int prec) for_each_online_cpu(j) seq_printf(p, "%10u ", irq_stats(j)->uintr_kernel_notifications); seq_puts(p, " User-interrupt kernel notification event\n"); + + seq_printf(p, "%*s: ", prec, "UKN"); + for_each_online_cpu(j) + seq_printf(p, "%10u ", irq_stats(j)->uintr_event_notifications); + seq_puts(p, " User-interrupt event notification\n"); #endif return 0; } @@ -374,6 +379,17 @@ DEFINE_IDTENTRY_SYSVEC(sysvec_uintr_kernel_notification) uintr_wake_up_process(); } +/* + * Handler for UINTR_EVENT_VECTOR. + */ +DEFINE_IDTENTRY_SYSVEC(sysvec_uintr_event_notification) +{ + /* TODO: Add entry-exit tracepoints */ + ack_APIC_irq(); + inc_irq_stat(uintr_event_notifications); + + /* do event things */ +} #endif |
