Skip to content

Commit b927dfc

Browse files
committed
Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
Pull ARM fixes from Russell King: - fix nommu after getting rid of mini-stack for ARMv7 - fix Thumb2 bug in iWMMXt exception handling * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: ARM: 9169/1: entry: fix Thumb2 bug in iWMMXt exception handling ARM: 9160/1: NOMMU: Reload __secondary_data after PROCINFO_INITFUNC
2 parents c883118 + 8536a5e commit b927dfc

2 files changed

Lines changed: 4 additions & 5 deletions

File tree

arch/arm/kernel/entry-armv.S

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -596,11 +596,9 @@ call_fpe:
596596
tstne r0, #0x04000000 @ bit 26 set on both ARM and Thumb-2
597597
reteq lr
598598
and r8, r0, #0x00000f00 @ mask out CP number
599-
THUMB( lsr r8, r8, #8 )
600599
mov r7, #1
601-
add r6, r10, #TI_USED_CP
602-
ARM( strb r7, [r6, r8, lsr #8] ) @ set appropriate used_cp[]
603-
THUMB( strb r7, [r6, r8] ) @ set appropriate used_cp[]
600+
add r6, r10, r8, lsr #8 @ add used_cp[] array offset first
601+
strb r7, [r6, #TI_USED_CP] @ set appropriate used_cp[]
604602
#ifdef CONFIG_IWMMXT
605603
@ Test if we need to give access to iWMMXt coprocessors
606604
ldr r5, [r10, #TI_FLAGS]
@@ -609,7 +607,7 @@ call_fpe:
609607
bcs iwmmxt_task_enable
610608
#endif
611609
ARM( add pc, pc, r8, lsr #6 )
612-
THUMB( lsl r8, r8, #2 )
610+
THUMB( lsr r8, r8, #6 )
613611
THUMB( add pc, r8 )
614612
nop
615613

arch/arm/kernel/head-nommu.S

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ ENTRY(secondary_startup)
114114
add r12, r12, r10
115115
ret r12
116116
1: bl __after_proc_init
117+
ldr r7, __secondary_data @ reload r7
117118
ldr sp, [r7, #12] @ set up the stack pointer
118119
ldr r0, [r7, #16] @ set up task pointer
119120
mov fp, #0

0 commit comments

Comments
 (0)