Skip site navigation (1)Skip section navigation (2)
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>