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

Izumi Tsutsui <[email protected]>
Newsgroups gmane.os.netbsd.ports.sparc
Message-ID <[email protected]>
> #define PFOUR_COLOR_OFF_CMAP 0xfff00000 /* (-0x00100000) */
> 
> Since the cgfour works on sun3 I went and looked at what it does and
> it has an equivalent file sys/arch/sun3/dev/p4reg.h that says the same
> thing. However I noticed the sun3 cgfour driver doesn't use that file
> instead it's using sys/arch/sun3/dev/cg4reg.h which says something
> different.
> 
> /*
>  * Memory layout of the Type B hardware (OBMEM)
>  * P4 appears on the Sun3/60 at 0xFF300000, so
>  * define things relative to that.
>  */
> #define CG4B_OFF_CMAP  (-0x100000)
> 
> 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.

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.

---
Izumi Tsutsui
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.