Align exception (was: MMC cards support)

Stanislav Sedov stas at FreeBSD.org
Sat Dec 15 08:43:52 PST 2007


On Sat, Dec 15, 2007 at 06:22:42PM +0300 Stanislav Sedov mentioned:
> 
> Also the faults tend to be in different places depending on code layout,
> but the faulting address always the same: 42203735 (r6). Obviously, it's
> wrong.
> 

This address always comes from it->it_thread. and should obviously
reflect thread td structure:

        td = it->it_thread;
c00ee064:       e51b301c        ldr     r3, [fp, #-28]
c00ee068:       e5933004        ldr     r3, [r3, #4]
c00ee06c:       e50b3018        str     r3, [fp, #-24]
        p = td->td_proc;
c00ee070:       e51b3018        ldr     r3, [fp, #-24]
c00ee074:       e5933004        ldr     r3, [r3, #4]

However the contents of td (r3) is always 42203735 when
it's loaded from it->it_thread. It looks like uart does
something awful with the interrupt thread pointer.

-- 
Stanislav Sedov
ST4096-RIPE


More information about the freebsd-arm mailing list