summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-02-26 20:53:21 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-02-26 20:53:21 +0000
commit0824a170e672c91b0b165015925cede117adb7f7 (patch)
tree6df8e5acc9df6e6b40390e44f349ac6548a2f9c8 /nuttx/arch/arm
parent72bbeebe973f7313f3675533d8d19b382c8b1ac9 (diff)
downloadpx4-nuttx-0824a170e672c91b0b165015925cede117adb7f7.tar.gz
px4-nuttx-0824a170e672c91b0b165015925cede117adb7f7.tar.bz2
px4-nuttx-0824a170e672c91b0b165015925cede117adb7f7.zip
Cortex-M0/NUC120 now passes OS test; calibration NuTiny-NUC120 delay loop
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5677 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/arm')
-rw-r--r--nuttx/arch/arm/src/armv6-m/vfork.S5
-rw-r--r--nuttx/arch/arm/src/common/up_vfork.c7
2 files changed, 6 insertions, 6 deletions
diff --git a/nuttx/arch/arm/src/armv6-m/vfork.S b/nuttx/arch/arm/src/armv6-m/vfork.S
index 0e9b9790d..112d2d88d 100644
--- a/nuttx/arch/arm/src/armv6-m/vfork.S
+++ b/nuttx/arch/arm/src/armv6-m/vfork.S
@@ -119,9 +119,8 @@ vfork:
mov r6, r10
mov r7, fp
stmia r1!, {r4-r7} /* Save r8-r10 and fp in the structure */
- str r0, [r1, #0] /* Save the stack pointer in the structure */
- mov r0, r14 /* Copy lr to a low registers */
- str r0, [r1, #0] /* Save the stack pointer in the structure */
+ mov r5, lr /* Copy lr to a low register */
+ stmia r1!, {r0,r5} /* Save sp and lr in the structure */
/* Then, call up_vfork(), passing it a pointer to the stack structure */
diff --git a/nuttx/arch/arm/src/common/up_vfork.c b/nuttx/arch/arm/src/common/up_vfork.c
index a6fe6c873..6340cb3b8 100644
--- a/nuttx/arch/arm/src/common/up_vfork.c
+++ b/nuttx/arch/arm/src/common/up_vfork.c
@@ -134,11 +134,12 @@ pid_t up_vfork(const struct vfork_s *context)
uint32_t stackutil;
int ret;
- svdbg("r4:%08x r5:%08x r6:%08x r7:%08x\n",
+ svdbg("vfork context [%p]:\n", context);
+ svdbg(" r4:%08x r5:%08x r6:%08x r7:%08x\n",
context->r4, context->r5, context->r6, context->r7);
- svdbg("r8:%08x r9:%08x r10:%08x\n",
+ svdbg(" r8:%08x r9:%08x r10:%08x\n",
context->r8, context->r9, context->r10);
- svdbg("fp:%08x sp:%08x lr:%08x\n",
+ svdbg(" fp:%08x sp:%08x lr:%08x\n",
context->fp, context->sp, context->lr);
/* Allocate and initialize a TCB for the child task. */