Date: Mon, 26 May 1997 23:11:19 -0600 From: Steve Passe <smp@csn.net> To: Glenn Johnson <gljohnsn@iamerica.net> Cc: freebsd-current@FreeBSD.ORG, smp@FreeBSD.ORG Subject: Re: errors on startup Message-ID: <199705270511.XAA07097@Ilsa.StevesCafe.com> In-Reply-To: Your message of "Mon, 26 May 1997 23:25:05 CDT." <199705270425.XAA00218@Gforce.iamerica.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, > I am getting the following messages at the end of my startup: > > sb0 at 0x220-0x22f irq 5 drq 1 on isa > sb0: <SoundBlaster 16 4.13> > ... > opl0: <Yamaha OPL-3 FM> > create_intr: requested irq31 too high, limit is 15 > sio0: 65 events for device with no tp > sio1: 65 events for device with no tp > > I did a 'make world' on May 26. I know the sio errors have been reported but > this is the first time I have seen the create_intr and the sound card errors. > Particularly disconcerting is that the opl device is requesting IRQ 31. > Is anyone else seeing this? The new pci code that was committed the last 24 hours broke several things. Stefan got most of them fixed a few hours ago. I just got SMP working about 30 minutes ago. For those behind slow mirrors here's the fix for the SMP problem: ------------------------------------- cut ------------------------------------- *** sys/pci/pci.c.ORIG Mon May 26 21:28:45 1997 --- sys/pci/pci.c Mon May 26 22:09:01 1997 *************** *** 332,337 **** --- 330,353 ---- cfg->lattimer = pci_cfgread(cfg, PCIR_LATTIMER, 1); cfg->intpin = pci_cfgread(cfg, PCIR_INTPIN, 1); cfg->intline = pci_cfgread(cfg, PCIR_INTLINE, 1); + + #ifdef APIC_IO + if (cfg->intline && (cfg->intline != 0xff)) { + u_char airq = 0xff; + u_char rirq = 0xff; + + airq = get_pci_apic_irq(cfg->bus, + cfg->slot, cfg->intpin); + + if (airq != 0xff) { /* APIC IRQ exists */ + rirq = cfg->intline; /* 're-directed' IRQ */ + cfg->intline = airq; /* use APIC IRQ */ + pci_cfgwrite(cfg, PCIR_INTLINE, airq, 1); + undirect_pci_irq(rirq); + } + } + #endif /* APIC_IO */ + cfg->mingnt = pci_cfgread(cfg, PCIR_MINGNT, 1); cfg->maxlat = pci_cfgread(cfg, PCIR_MAXLAT, 1); ------------------------------------- cut ------------------------------------- I don't have a sound card available for testing, it may or may not be fixed by now. you will need to resup and try again. -- Steve Passe | powered by smp@csn.net | Symmetric MultiProcessor FreeBSD
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199705270511.XAA07097>