Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Mar 2009 22:24:18 -0500
From:      Justin Hibbits <jrh29@alumni.cwru.edu>
To:        freebsd-ppc@freebsd.org
Subject:   Re: graphics on G4
Message-ID:  <20090303032418.GA1055@narn.knownspace>
In-Reply-To: <20090302024918.GA1060@narn.knownspace>
References:  <20081023040422.EKQ11018@dommail.onthenet.com.au> <20081025024544.GA22527@narn.knownspace> <20090302024918.GA1060@narn.knownspace>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Mar 01, 2009 at 09:49:19PM -0500, Justin Hibbits wrote:
> On Fri, Oct 24, 2008 at 10:45:44PM -0400, Justin Hibbits wrote:
> > On Thu, Oct 23, 2008 at 04:04:22AM +1000, Peter Grehan wrote:
> > > Hi Nathan,
> > > 
> > > >One thing that worries me about our PMAP layer could cause
> > > >this. This machine has a lot of RAM. What happens if we have
> > > >physical or device memory in the same range as kmem VAs?
> > > >It seems like trying to modify it through the BAT map (as
> > > >zero/copy page, /dev/mem and friends do) will overwrite
> > > >random bits of KVA instead...

I wrote a simple kernel module to print out BAT and segment registers, and the
output immediately following boot is:


register 528 = 0x1ffe
register 529 = 0x12
register 530 = 0
register 531 = 0
register 532 = 0
register 533 = 0
register 534 = 0
register 535 = 0
register 536 = 0x1ffe
register 537 = 0x12
register 538 = 0x80001ffe
register 539 = 0x8000002a
register 540 = 0xa0001ffe
register 541 = 0xa000002a
register 542 = 0x20001ffe
register 543 = 0x20000012
segment register 0 = 0xfffff0
segment register 1 = 0xfffff0
segment register 2 = 0xfffff0
segment register 3 = 0xfffff0
segment register 4 = 0xfffff0
segment register 5 = 0xfffff0
segment register 6 = 0xfffff0
segment register 7 = 0xfffff0
segment register 8 = 0xfffff0
segment register 9 = 0xfffff0
segment register 10 = 0xfffff0
segment register 11 = 0xfffff0
segment register 12 = 0xe55e47
segment register 13 = 0xfffffd
segment register 14 = 0xfffffe
segment register 15 = 0xfffff0

Later, and I don't know precisely what is meant by "later", registers 540 and
541 get changed to 0x4......., which means the video memory gets un-BAT-mapped.
This could be the cause of the hangs I've been seeing, but I don't know offhand
how to further diagnose and fix this.

- Justin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090303032418.GA1055>