I make a short patch to sharing IRQ between a PCIC and a PC Card when using PCI IRQ routing. #Does this patch help you? ------- YAMAMOTO Shigeru Internet Initiative Japan Inc. <[EMAIL PROTECTED]> Network Engineering Div.
Index: pcic.c =================================================================== RCS file: /share/cvsup/FreeBSD/current/usr/src/sys/pccard/pcic.c,v retrieving revision 1.141 diff -u -r1.141 pcic.c --- pcic.c 2001/06/04 03:29:06 1.141 +++ pcic.c 2001/06/13 04:18:17 @@ -805,8 +805,13 @@ /* * If we're routing via pci, we can share. */ - if (sc->func_route == pci_parallel && type == SYS_RES_IRQ) + if (sc->func_route == pci_parallel && type == SYS_RES_IRQ) { flags |= RF_SHAREABLE; + if (sc->irqres) { + start = rman_get_start(sc->irqres); + end = rman_get_start(sc->irqres); + } + } return (bus_generic_alloc_resource(dev, child, type, rid, start, end, count, flags)); Index: pcic_pci.c =================================================================== RCS file: /share/cvsup/FreeBSD/current/usr/src/sys/pccard/pcic_pci.c,v retrieving revision 1.48 diff -u -r1.48 pcic_pci.c --- pcic_pci.c 2001/06/09 07:34:17 1.48 +++ pcic_pci.c 2001/06/13 04:26:52 @@ -446,9 +446,10 @@ sc->flags = PCIC_PD_POWER; num6729++; } else { + device_printf(dev, "MEMORY mapped device!\n"); sc->memrid = CB_PCI_SOCKET_BASE; sc->memres = bus_alloc_resource(dev, SYS_RES_MEMORY, - &sc->memrid, 0, ~0, 1, RF_ACTIVE); + &sc->memrid, 0, ~0, 0x1000, RF_ACTIVE); if (sc->memres == NULL && pcic_pci_get_memory(dev) != 0) return (ENOMEM); sp->getb = pcic_pci_getb2;