summaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/entry-armo.S
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-10-09 00:00:47 +0000
committerRalf Baechle <ralf@linux-mips.org>1999-10-09 00:00:47 +0000
commitd6434e1042f3b0a6dfe1b1f615af369486f9b1fa (patch)
treee2be02f33984c48ec019c654051d27964e42c441 /arch/arm/kernel/entry-armo.S
parent609d1e803baf519487233b765eb487f9ec227a18 (diff)
Merge with 2.3.19.
Diffstat (limited to 'arch/arm/kernel/entry-armo.S')
-rw-r--r--arch/arm/kernel/entry-armo.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/kernel/entry-armo.S b/arch/arm/kernel/entry-armo.S
index 758163f07..5d9ce0ac6 100644
--- a/arch/arm/kernel/entry-armo.S
+++ b/arch/arm/kernel/entry-armo.S
@@ -650,6 +650,15 @@ Ldata_ldcstc_pre:
b SYMBOL_NAME(do_DataAbort)
/*
+ * Register switch for older 26-bit only ARMs
+ */
+ENTRY(__switch_to)
+ stmfd sp!, {r4 - sl, fp, lr} @ Store most regs on stack
+ str sp, [r0, #TSS_SAVE] @ Save sp_SVC
+ ldr sp, [r1, #TSS_SAVE] @ Get saved sp_SVC
+ ldmfd sp!, {r4 - sl, fp, pc}^ @ Load all regs saved previously
+
+/*
*=============================================================================
* Low-level interface code
*-----------------------------------------------------------------------------