On Mon, 14 Feb 2011, Dave Martin wrote:

> @@ -289,8 +297,20 @@ clean_l2:
>        *  - should be faster and will change with kernel
>        *  - 'might' have to copy address, load and jump to it
>        */
> +#ifdef CONFIG_THUMB2_KERNEL
> +     /* kernel is non-interworking : must do this from Thumb */
> +     adr     r1, . + 1
> +     bx      r1
> +     .thumb
> +#endif
>       ldr     r1, kernel_flush

Didn't you mean this instead:

        /* kernel is non-interworking : must do this from Thumb */
        adr     r1, 1f + 1
        bx      r1
        .thumb
1:      ldr     r1, kernel_flush
        ...

?

>       blx     r1
> +#ifdef CONFIG_THUMB2_KERNEL
> +     .align
> +     bx      pc
> +     nop
> +     .arm

Also here, the .align has the potential to introduce a zero halfword in 
the instruction stream before the bx.  What about:

        adr     r3, 1f
        bx      r3
        .align
        .arm
1:      ...


Nicolas
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to