summaryrefslogtreecommitdiffstats
path: root/arch/tile/kernel/process.c
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@tilera.com>2010-10-14 14:42:58 -0400
committerChris Metcalf <cmetcalf@tilera.com>2010-10-14 14:42:58 -0400
commitd6f0f22c3c409f9ed88e64f881f8308730be76f0 (patch)
tree5521d78679fd3441cecdfe5a273eeca81aee922f /arch/tile/kernel/process.c
parent5592840ba83c281b4df45345863b224bb290020c (diff)
downloadlinux-d6f0f22c3c409f9ed88e64f881f8308730be76f0.tar.bz2
arch/tile: update some comments to clarify register usage.
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Diffstat (limited to 'arch/tile/kernel/process.c')
-rw-r--r--arch/tile/kernel/process.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/tile/kernel/process.c b/arch/tile/kernel/process.c
index 42ff73d5f637..221f12bd27fa 100644
--- a/arch/tile/kernel/process.c
+++ b/arch/tile/kernel/process.c
@@ -214,9 +214,10 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
/*
* Copy the callee-saved registers from the passed pt_regs struct
* into the context-switch callee-saved registers area.
- * We have to restore the callee-saved registers since we may
- * be cloning a userspace task with userspace register state,
- * and we won't be unwinding the same kernel frames to restore them.
+ * This way when we start the interrupt-return sequence, the
+ * callee-save registers will be correctly in registers, which
+ * is how we assume the compiler leaves them as we start doing
+ * the normal return-from-interrupt path after calling C code.
* Zero out the C ABI save area to mark the top of the stack.
*/
ksp = (unsigned long) childregs;