On Thu, Nov 19, 2020 at 04:57:18PM +0100, Manuel Bouyer wrote: > On Thu, Nov 19, 2020 at 03:19:15PM +0100, Roger Pau Monné wrote: > > I've got two different debug patches for you to try. I'm attaching both > > to this email but I think we should start with Jan's suggestion > > (conditional_print.patch). That patch will only print extra messages > > between the ioregsel 3 ... ioregsel f existing debug messages, you > > will have to trigger this from NetBSD by using ioapic_dump_raw AFAICT. > > thanks. I didn't see any change in behavior or XEN output with this > patch (especially the vioapic_deliver string doesn't show up in the > logs).
I tried forcing print to 1, and I still don't see "vioapic_deliver" on the console. I changed the patch to: #define vioapic_deliver(vioapic, irq) ({\ if ( /* print && irq == 34 */ 1 ) \ printk("%s:%d:%s: vioapic_deliver %d\n", __FILE__, __LINE__, __func__, i rq); \ _vioapic_deliver(vioapic, irq); }) and got: [ 13.8853432] ioapic2: pin2 0x0000a067 0x00000000^M [ 13.8853432] mfii0: cmd timeout ccb 0xffff9780023b7d60 status 0x40000008^M (XEN) *** Serial input to Xen (type 'CTRL-a' three times to switch input) (XEN) vioapic.c:511:vioapic_irq_positive_edge: vioapic_deliver 2 [ 17.0001093] mfii0: cmd aborted ccb 0xffff9780023b7d60^M (XEN) vioapic.c:511:vioapic_irq_positive_edge: vioapic_deliver 2 [ 17.0217772] config_pending_decr: scsibus0 0^M (XEN) vioapic.c:511:vioapic_irq_positive_edge: vioapic_deliver 2 [ 17.(XEN) vioapic.c:511:vioapic_irq_positive_edge: vioapic_deliver 2 0417095] config_finalize 2185^M So I guess that the interrupt delivery on XEN output is vioapic.c:511 -- Manuel Bouyer <bou...@antioche.eu.org> NetBSD: 26 ans d'experience feront toujours la difference --