Port-sparc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Panic at boot on 4/330 with cgfour and cgsix



Hi,

> > So I changed PFOUR_COLOR_OFF_CMAP to (-0x00100000) and I was able to
> > boot successfully. I don't know if this is the right way to fix it but
> > at least now I can boot the system and test things some more. Thanks
> > everyone for the help so far, I'll be trying to run X and other things
> > soon and hopefully have some good news.

I think that it makes sense to make this change.

I had a quick look at the CG6 code (src/sys/arch/sparc/dev/cgsix_obio.c)
and it defines offsets directly like:

  oba->oba_paddr + CGSIX_BT_OFFSET

so I assume that we have the wrong address here as well.  Maybe substracting
0x00100000 from these will make that work as well.  It will be hard to test
without hardware though.

> Somehow bus_addr_t (in sys/arch/sparc/include/bus_defs.h) is uint64_t
> so passing "oba->oba_paddr + PFOUR_COLOR_OFF_CMAP"
> (i.e. "oba->oba_paddr + 0xfff00000") to bus_space_map(9)
> causes unintended (no wraparound) address.

I guess that the offset was inherited from directly from sun3 p4reg.h and
we didn't notice that this broke P4 framebuffers since bus_addr_t changed
from 32 to 64 bit back in 2001:

  https://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/sparc/include/Attic/bus.h.diff?r1=1.25;r2=1.26

Nice work, everyone!

Regards,

Julian


Home | Main Index | Thread Index | Old Index