Source-Changes archive

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

CVS commit: src/sys/arch/arm/arm



Module Name:    src
Committed By:   scw
Date:           Mon Dec 15 09:27:18 UTC 2003

Modified Files:
        src/sys/arch/arm/arm: bcopyinout_xscale.S

Log Message:
Work-around an obscure bug (reported by a couple of people, and reproduced
exactly twice by me) which causes the code at the top of copyin which
word-aligns the destination pointer to copy more bytes than necessary,
resulting in an alignment fault later on.

The bug is difficult to reproduce, but as far as I can tell it seems
to be as a result of the condition codes being corrupted, possibly
following a page fault caused by the first ldrbt/strb instructions.
The subsequent ldr<cc>bt/str<cc>b instructions then _always_ execute.
I can't think of any obvious reason why this would happen, though.


To generate a diff of this commit:
cvs rdiff -r1.2 -r1.3 src/sys/arch/arm/arm/bcopyinout_xscale.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index