aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2012-05-04 07:04:26 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-05-05 00:50:50 -0400
commit357c9c1f07d4546bc3fbc0fd1044d96b114d14ed (patch)
treea355e9cd73ab9f7b536b4c7562d931cfb3f5a885 /arch/arm/kernel
parent69964ea4c7b68c9399f7977aa5b9aa6539a6a98a (diff)
ARM: Remove support for ARMv3 ARM610 and ARM710 CPUs
This patch removes support for ARMv3 CPUs, which haven't worked properly for quite some time (see the FIXME comment in arch/arm/mm/fault.c). The only V3 parts left is the cache model for ARMv3, which is needed for some odd reason by ARM740T CPUs, and being able to build with -march=armv3, which is required for the RiscPC platform due to its bus structure. Acked-by: Will Deacon <will.deacon@arm.com> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r--arch/arm/kernel/entry-armv.S4
-rw-r--r--arch/arm/kernel/entry-common.S28
2 files changed, 0 insertions, 32 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index 7fd3ad048da9..437f0c426517 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -556,10 +556,6 @@ call_fpe:
556#endif 556#endif
557 tst r0, #0x08000000 @ only CDP/CPRT/LDC/STC have bit 27 557 tst r0, #0x08000000 @ only CDP/CPRT/LDC/STC have bit 27
558 tstne r0, #0x04000000 @ bit 26 set on both ARM and Thumb-2 558 tstne r0, #0x04000000 @ bit 26 set on both ARM and Thumb-2
559#if defined(CONFIG_CPU_ARM610) || defined(CONFIG_CPU_ARM710)
560 and r8, r0, #0x0f000000 @ mask out op-code bits
561 teqne r8, #0x0f000000 @ SWI (ARM6/7 bug)?
562#endif
563 moveq pc, lr 559 moveq pc, lr
564 get_thread_info r10 @ get current thread 560 get_thread_info r10 @ get current thread
565 and r8, r0, #0x00000f00 @ mask out CP number 561 and r8, r0, #0x00000f00 @ mask out CP number
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S
index 54ee265dd819..7bd2d3cb8957 100644
--- a/arch/arm/kernel/entry-common.S
+++ b/arch/arm/kernel/entry-common.S
@@ -335,20 +335,6 @@ ENDPROC(ftrace_stub)
335 *----------------------------------------------------------------------------- 335 *-----------------------------------------------------------------------------
336 */ 336 */
337 337
338 /* If we're optimising for StrongARM the resulting code won't
339 run on an ARM7 and we can save a couple of instructions.
340 --pb */
341#ifdef CONFIG_CPU_ARM710
342#define A710(code...) code
343.Larm710bug:
344 ldmia sp, {r0 - lr}^ @ Get calling r0 - lr
345 mov r0, r0
346 add sp, sp, #S_FRAME_SIZE
347 subs pc, lr, #4
348#else
349#define A710(code...)
350#endif
351
352 .align 5 338 .align 5
353ENTRY(vector_swi) 339ENTRY(vector_swi)
354 sub sp, sp, #S_FRAME_SIZE 340 sub sp, sp, #S_FRAME_SIZE
@@ -379,9 +365,6 @@ ENTRY(vector_swi)
379 ldreq r10, [lr, #-4] @ get SWI instruction 365 ldreq r10, [lr, #-4] @ get SWI instruction
380#else 366#else
381 ldr r10, [lr, #-4] @ get SWI instruction 367 ldr r10, [lr, #-4] @ get SWI instruction
382 A710( and ip, r10, #0x0f000000 @ check for SWI )
383 A710( teq ip, #0x0f000000 )
384 A710( bne .Larm710bug )
385#endif 368#endif
386#ifdef CONFIG_CPU_ENDIAN_BE8 369#ifdef CONFIG_CPU_ENDIAN_BE8
387 rev r10, r10 @ little endian instruction 370 rev r10, r10 @ little endian instruction
@@ -392,26 +375,15 @@ ENTRY(vector_swi)
392 /* 375 /*
393 * Pure EABI user space always put syscall number into scno (r7). 376 * Pure EABI user space always put syscall number into scno (r7).
394 */ 377 */
395 A710( ldr ip, [lr, #-4] @ get SWI instruction )
396 A710( and ip, ip, #0x0f000000 @ check for SWI )
397 A710( teq ip, #0x0f000000 )
398 A710( bne .Larm710bug )
399
400#elif defined(CONFIG_ARM_THUMB) 378#elif defined(CONFIG_ARM_THUMB)
401
402 /* Legacy ABI only, possibly thumb mode. */ 379 /* Legacy ABI only, possibly thumb mode. */
403 tst r8, #PSR_T_BIT @ this is SPSR from save_user_regs 380 tst r8, #PSR_T_BIT @ this is SPSR from save_user_regs
404 addne scno, r7, #__NR_SYSCALL_BASE @ put OS number in 381 addne scno, r7, #__NR_SYSCALL_BASE @ put OS number in
405 ldreq scno, [lr, #-4] 382 ldreq scno, [lr, #-4]
406 383
407#else 384#else
408
409 /* Legacy ABI only. */ 385 /* Legacy ABI only. */
410 ldr scno, [lr, #-4] @ get SWI instruction 386 ldr scno, [lr, #-4] @ get SWI instruction
411 A710( and ip, scno, #0x0f000000 @ check for SWI )
412 A710( teq ip, #0x0f000000 )
413 A710( bne .Larm710bug )
414
415#endif 387#endif
416 388
417#ifdef CONFIG_ALIGNMENT_TRAP 389#ifdef CONFIG_ALIGNMENT_TRAP