On Wed, May 25, 2022 at 07:51:12PM +0200, Frank Kardel wrote: > See uuencodes files: thanks, I see nothing obvious here. Please rebuild the netbsd-XEN3_DOM0 kernel with the attached patch, and use the attached xen-debug.gz (it has extra printk which I used to debug the msi/msi-x setup). Hopefully this will tell us why Xen refuses to map the msi-x, and then the msi interrupts. -- Manuel Bouyer <bouyer%antioche.eu.org@localhost> NetBSD: 26 ans d'experience feront toujours la difference --
Index: sys/arch/xen/x86/pintr.c =================================================================== RCS file: /cvsroot/src/sys/arch/xen/x86/pintr.c,v retrieving revision 1.23 diff -u -p -u -r1.23 pintr.c --- sys/arch/xen/x86/pintr.c 24 May 2022 15:51:10 -0000 1.23 +++ sys/arch/xen/x86/pintr.c 25 May 2022 18:59:23 -0000 @@ -208,7 +208,7 @@ xen_map_msi_pirq(struct pic *pic, int co } aprint_debug("\n"); } else { - aprint_debug(" fail\n"); + aprint_debug(" fail %d\n", ret); } return ret; } @@ -246,7 +246,7 @@ xen_map_msix_pirq(struct pic *pic, int c aprint_debug(" map %d", i); ret = HYPERVISOR_physdev_op(PHYSDEVOP_map_pirq, &map_irq); if (ret) { - aprint_debug(" fail\n"); + aprint_debug(" fail %d\n", ret); goto fail; } msi_i->mp_xen_pirq[i] = map_irq.pirq;
Attachment:
xen-debug.gz
Description: Binary data