Re: Panic at boot on 4/330 with cgfour and cgsix
Julian Coleman <[email protected]>
| Newsgroups | gmane.os.netbsd.ports.sparc |
|---|---|
| Message-ID | <[email protected]> |
Hi, > So I've been playing with this patch for a while but unfortunately > I've been unable to get it to work. This patch causes a panic at boot, > something like async memory error..timeout. I think it's just trying > to read an address that doesn't exist. Here's the code that caused it. > > /* XXX: PFOUR_COLOR_OFF_CMAP assumes 32 bit wraparound */ > cmap_pa = (paddr_t)oba->oba_paddr + (paddr_t)PFOUR_COLOR_OFF_CMAP; > if (bus_space_map(oba->oba_bustag, > cmap_pa, > > I think the root problem is that PFOUR_COLOR_OFF_CMAP claims to be an > offset but is actually the full address of the ramdac. I reverted > those lines and changed PFOUR_COLOR_OFF_CMAP to (-0x00100000) which is > what the actual offset is and it worked for a few more lines then I > got another panic. I wasn't able to capture the panic message but this > is the line that caused it. Sounds like it's easiest to just use (-0x00100000). > memset(sc->sc_fb.fb_pixels, (defattr >> 16) & 0xff, sc->sc_stride * > sc->sc_height); > > I don't understand what's wrong with this line. Some other drivers use > something like this with no issues so I don't know why this doesn't > work but since it's just clearing the screen it's not really needed so > I commented it out. This allowed it to continue for a few more lines > then I got a watchdog timeout on this line. Not sure why this fails. > > wsdisplay_cnattach(&cgfour_defaultscreen, ri, 0, 0, defattr); I'm guessing that we have the location of the video ram wrong. If I read correctly, everything should be relative to PFOUR_COLOR_OFF_COLOR. What value do we calculate for that? Regards, Julian --