[PATCH] ARM: Thumb-2: Fix out-of-range offset for Thumb-2 in proc-v7.S

Dave Martin dave.martin at linaro.org
Wed Jan 12 11:33:33 EST 2011


2011/1/12 Uwe Kleine-König <u.kleine-koenig at pengutronix.de>:
> On Tue, Jan 11, 2011 at 06:03:33PM -0600, Dave Martin wrote:
>> The following patch introduces a pre-increment addressing
>> offset which is out of range for Thumb-2:
>>     ARM: pgtable: switch order of Linux vs hardware page tables
> a commit id would be nice here
>
> Uwe

Apologies--- it's commit d30e45eeabefadc6039d7f876a59e5f5f6cb11c6

Cheers
---Dave

>>
>> 162:  str     r3, [r0, #2048]!
>>
>> Thumb-2 only permits offsets <256 for pre-increment addressing.
>>
>> This patch replaces the store instruction with a suitable add-str
>> pair for the Thumb-2 case.
>>
>> Signed-off-by: Dave Martin <dave.martin at linaro.org>
>> ---
>> KernelVersion: v2.6.37
>>
>>  arch/arm/mm/proc-v7.S |    4 +++-
>>  1 files changed, 3 insertions(+), 1 deletions(-)
>>
>> diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
>> index b49fab2..0c1172b 100644
>> --- a/arch/arm/mm/proc-v7.S
>> +++ b/arch/arm/mm/proc-v7.S
>> @@ -159,7 +159,9 @@ ENTRY(cpu_v7_set_pte_ext)
>>       tstne   r1, #L_PTE_PRESENT
>>       moveq   r3, #0
>>
>> -     str     r3, [r0, #2048]!
>> + ARM(        str     r3, [r0, #2048]! )
>> + THUMB(      add     r0, r0, #2048 )
>> + THUMB(      str     r3, [r0] )
>>       mcr     p15, 0, r0, c7, c10, 1          @ flush_pte
>>  #endif
>>       mov     pc, lr
>> --
>> 1.7.1
>>
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>>
>
> --
> Pengutronix e.K.                           | Uwe Kleine-König            |
> Industrial Linux Solutions                 | http://www.pengutronix.de/  |
>



More information about the linux-arm-kernel mailing list