Date: Tue, 18 Apr 2000 09:12:37 -0700 (PDT) From: Frank Mayhar <frank@exit.com> To: Cameron Grant <gandalf@vilnya.demon.co.uk> Cc: frank@exit.com, Chris Richards <crichard-freebsd@wso.williams.edu>, freebsd-stable@FreeBSD.ORG, cg@FreeBSD.ORG Subject: Re: Sound Blaster Live! 4.0 Message-ID: <200004181612.JAA01805@realtime.exit.com> In-Reply-To: <000901bfa880$8e4ceeb0$0304020a@NENYA> from Cameron Grant at "Apr 17, 2000 04:21:08 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
Cameron Grant wrote: > to be honest, i have no idea why this happens. if the linux driver also > behaves in this way then the matter needs to be taken up with creative as > that code is the only available programming info. Well, I checked with Creative and was directed to http://developer.soundblaster.com which had a link to http://opensource.creative.com/ from which I went to their bugzilla database. Turns out this has been found and fixed in their driver. It looks like a hack to me, but the patch was in their main.c rev 1.63 and involved, apparently, initializing all the card page table entries "to point to themselves so that when illegal memory access occurs, the system won't hang" (quoted from the patch in Bugzilla). The code in question is in main.c in function hw_init() around line 473: for (pagecount = 0; pagecount < (MAXPAGES - RESERVED); pagecount++) ((u32 *) card->virtualpagetable->virtaddx)[pagecount] = (card->silentpage->busaddx * 2) | pagecount; Cameron, I hope you know how to interpret this in terms of the FreeBSD emu10k1.c (I certainly don't). It apparently _does_ fix the NMIs seen in Linux, though. -- Frank Mayhar frank@exit.com http://www.exit.com/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200004181612.JAA01805>