Just do complicate things there is also a bug (at least thats the
only answer I can come up with) with the ldm ^, I've hit this on the
SA-110 and the SA-1100 (However I haven't noticed the reported stm ^ bug).
The bug is the following:

The sequence: ldmfd   r0, {sp, pc}^ 
        doesn't work (I think we found it was unstacking to the svc_sp not
the user_sp, r0 is the kernel stack)

The sequence: ldmfd   r0!, {sp}^
              ldmfd   r0, {pc}^
        Does work (BTW does anyone know how many cycles this sequence
takes the SA-110 Instruction timming app note doens't mention the timming
of ldm^ with the pc as a target).

        I'm pretty sure this is a silicon bug, since the two sequences
should result in the same behaviour (AFAIK from the ARM ARM).

        Cheers Adam


On Tue, 30 Nov 1999, Russell King - ARM Linux Admin wrote:

> Nicholas Clark writes:
> > Am I right in thinking that Russell worked out a cunning fix
> > that circumvents the K StrongARM bug on ARMLinux, from version
> > 2.2.6 or thereabouts.  Is how it works documented anywhere?
> > 
> > Therefore, could the ARM BSD source be similarly patched, so
> > that BSD users on K didn't have to upgrade [to T or to Linux :-)]?
> 
> Looking at all the emails here, it appears to be really confused.
> 
> 1. The K StrongARM bug refers to the stm ^ with svc & user registers,
>    and a certain cache state.
> 
>    This occurs very frequently if you use the instruction, and causes
>    Linux to lock solid.  This has been solved a long long time ago
>    (about 3 years ago) in both Linux 2.0 kernels and ARM *BSD kernels.
> 
> 2. Suspected bug causing random SIGSEGVs.  I now believe this not to
>    be a processor related bug, but some rare events which happen to
>    co-incide in the kernel (now fixed in 2.2.13, hopefully, if I can
>    have any feedback, please?).
> 
> Hence, for the last 3 years, there have been no additional fixes for
> confirmed StrongARM processor bugs in the ARM Linux kernel.
>    _____
>   |_____| ------------------------------------------------- ---+---+-
>   |   |        Russell King       [EMAIL PROTECTED]      --- ---
>   | | | |  http://www.arm.linux.org.uk/~rmk/armlinux.html    /  /  |
>   | +-+-+                                                     --- -+-
>   /   |               THE developer of ARM Linux              |+| /|\
>  /  | | |                                                     ---  |
>     +-+-+ -------------------------------------------------  /\\\  |
> 
> unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]
> ++        Please use [EMAIL PROTECTED] for           ++
> ++                        kernel-related discussions.                      ++
> 


unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]
++        Please use [EMAIL PROTECTED] for           ++
++                        kernel-related discussions.                      ++

Reply via email to