On Tue, 8 Jan 2008 02:05:58 +0000 "Steven M. Bellovin" <smb%cs.columbia.edu@localhost> wrote: > On Sun, 06 Jan 2008 10:56:55 -0500 > "Jared D. McNeill" <jmcneill%invisible.ca@localhost> wrote: > > > Steven M. Bellovin wrote: > > > On a more pragmatic and more immediate note, what should I set it > > > to > manually? I have a 3G machine; I haven't yet found a setting > > > that will > avoid messages like these in dmesg: > > > > cbb0 at pci6 dev 0 function 0: Ricoh 5C476 PCI-CardBus bridge > > > > (rev. 0xba) > > > cbb0: can't map socket base address 0xf8300000 > > > cbb0: can't map socket base address 0xffffffff804e8a0f: io mode > > > cbb0: interrupting at ioapic0 pin 16 (irq 10) > > > cardslot0 at cbb0 slot 0 flags 0 > > > > http://mail-index.netbsd.org/tech-kern/2007/11/27/0021.html > > > The good news is that that let the slots be recognized and mapped. > The bad news is that devices aren't working. The worse news is that > one of them -- my infamous EVDO card, about which more in another > thread -- caused a panic... > > Diagnostic output I added says that the size of the rbus area > was .75GB, starting at 3.25GB. In other words, it overlaps the > entire PCI hole. Is that right? > I changed my RBUS_MIN_OPTION to 3GB; that let the EVDO card be recognized properly. The compact flash card worked better -- it recognized wdc2 and an atabus controller. It did not recognize wd2, not did it recognize anything when I removed the card. I tried inserting the EVDO card it the same slot; that wasn't noticed. However, when I removed the EVDO card, it decided that the CF card had been removed. Since the differing behavior made me suspect problems with the range 3.25-3.5GB, I added code for a new kernel option, RBUS_SIZE. It doesn't seem to have helped with the CF card; given that EVDO was helped by the change in RBUS_MIN_OPTION, I'm inclined to commit the (attached) change, at least until someone who understands the amd64 architecture can write the correct code. Comments? --Steve Bellovin, http://www.cs.columbia.edu/~smb
Attachment:
rbus_machdep.c.diff
Description: Binary data