>>>>> "David" == David J Croyle <[EMAIL PROTECTED]> writes:
David> Intel's latest errata sheet for the SA-1110 mentions the
David> following problem:
David> Incorrect Sign-Extended Value in Register After a Read buffer
David> Allocate
David> After a read buffer allocate, a Load Register Signed Halfword
David> (LDRSH) or a Load Register Signed Byte (LDRSB) will not return
David> the correct value in the register, due to long propagation
David> delays in the sign extend logic.
David> Workaround: Execute the command twice and the data is
David> guaranteed to be correctly sign extended for the second read.
David> Status: No Fix
Good grief, what an ugly bug. The workaround seems to assume there
aren't any interrupts between the two instructions!
Given that you can't count on this (in general), it sounds to me the
only real workaround is not to use those instructions at all (or maybe
only with a register source, i.e., one where a read allocate can't
ever happen).
paul
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]
++ Please use [EMAIL PROTECTED] for ++
++ kernel-related discussions. ++