graphics on G4

Justin Hibbits jrh29 at alumni.cwru.edu
Mon Mar 2 19:23:48 PST 2009


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


More information about the freebsd-ppc mailing list