Re: O2 framebuffer problems with install kernel
Jorge Acereda Maciá <[email protected]>
| Newsgroups | gmane.os.netbsd.ports.sgimips |
|---|---|
| Message-ID | <[email protected]> |
On Jul 28, 2008, at 5:26 PM, Michael Lorenz wrote: > > Not really - as I said, unaligned writes there are silently > ignored, unaligned reads just work so you wouldn't get an error > either way, just malfunctioning drivers. > The other driver that might get bitten by this is mec ( the O2's > onboard ethernet ) but I don't know if it uses any bits that would > be affected, IIRC most of its registers are 32bit aligned to 64bit. mec works properly. > > To test this please do this: > Look at crmfb_attach(). After mapping the drawing engine's > registers ( rv = bus_space_map(sc->sc_iot, 0x15000000, > 0x6000, 0, &sc->sc_reh); > ) write some random but recognizeable value into one of the > drawing engine's TLB registers ( like this: bus_space_write_8(sc- > >sc_iot, sc->sc_reh, CRIME_RE_TLB_A, 0x1122334455667788L); ) and > read it back a little bit later. If you get the same value you > wrote you're fine and I'll have to think of a new way to screw > things up, but if you get something like 0x1122334400000000 or some > random garbage in the lower 32 bit then that's the problem. > If you do this right after mapping the registers it should run even > on a serial console, the code that checks for firmware setup come > later. Done, it reads back the same value.