diff options
author | imp <imp@FreeBSD.org> | 2000-10-20 20:29:59 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2000-10-20 20:29:59 +0000 |
commit | e6c559b8afd699314e4496ab7c9c8cb1ae4e85d7 (patch) | |
tree | a18249ec65a8cdfd22ea905f7c2442e4215ff956 /sys | |
parent | 05ba5687097b06db8483122c7716c3b5d543904a (diff) | |
download | FreeBSD-src-e6c559b8afd699314e4496ab7c9c8cb1ae4e85d7.zip FreeBSD-src-e6c559b8afd699314e4496ab7c9c8cb1ae4e85d7.tar.gz |
Allow interrupts to be sharable.
This allows us to probe, but not attach.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/pccbb/pccbb.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/sys/dev/pccbb/pccbb.c b/sys/dev/pccbb/pccbb.c index 35e35cf..aac968b 100644 --- a/sys/dev/pccbb/pccbb.c +++ b/sys/dev/pccbb/pccbb.c @@ -99,12 +99,6 @@ #define DETACH_FORCE 0x1 -#if !defined(lint) -static const char rcsid[] = - "$FreeBSD $"; -#endif - - struct pccbb_sclist { struct pccbb_softc *sc; STAILQ_ENTRY(pccbb_sclist) entries; @@ -390,9 +384,10 @@ pccbb_attach(device_t dev) rid=PCCBBR_SOCKBASE; sc->sc_base_res=bus_alloc_resource(dev, SYS_RES_MEMORY, &rid, 0,~0,1, RF_ACTIVE); - if (!sc->sc_base_res){ + if (!sc->sc_base_res) { /* - * XXX EVILE HACK BAD THING! XXX + * XXX eVILE HACK BAD THING! XXX + * The pci bus device should do this for us. * Some BIOSes doesn't assign a memory space properly. * So we try to manually put one in... */ @@ -426,7 +421,6 @@ pccbb_attach(device_t dev) sc->sc_socketreg = (struct pccbb_socketreg *)rman_get_virtual(sc->sc_base_res); - pccbb_chipinit(sc); /* CSC Interrupt: Card detect interrupt on */ @@ -1398,6 +1392,9 @@ pccbb_pcic_alloc_resource(device_t self, device_t child, int type, int* rid, end = 0xdffff; } + if (type == SYS_RES_IRQ) + flags |= RF_SHAREABLE; + if (type == SYS_RES_MEMORY) flags = (flags & ~RF_ALIGNMENT_MASK) | rman_make_alignment_flags(PCCBB_MEMALIGN); |