diff --git a/arch/arm/src/armv6-m/vfork.S b/arch/arm/src/armv6-m/vfork.S index 0e9b9790df1..112d2d88da2 100644 --- a/arch/arm/src/armv6-m/vfork.S +++ b/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/arch/arm/src/common/up_vfork.c b/arch/arm/src/common/up_vfork.c index a6fe6c8731d..6340cb3b8a1 100644 --- a/arch/arm/src/common/up_vfork.c +++ b/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. */ diff --git a/configs/nutiny-nuc120/ostest/defconfig b/configs/nutiny-nuc120/ostest/defconfig index 3256fb1eb30..a8c8e26bb69 100644 --- a/configs/nutiny-nuc120/ostest/defconfig +++ b/configs/nutiny-nuc120/ostest/defconfig @@ -85,7 +85,7 @@ CONFIG_ARCH_CHIP="nuc1xx" CONFIG_ARCH_HAVE_CMNVECTOR=y # CONFIG_ARMV7M_CMNVECTOR is not set # CONFIG_ARCH_HAVE_MPU is not set -CONFIG_BOARD_LOOPSPERMSEC=6522 +CONFIG_BOARD_LOOPSPERMSEC=2988 # CONFIG_ARCH_CALIBRATION is not set # @@ -472,7 +472,7 @@ CONFIG_EXAMPLES_OSTEST_LOOPS=1 CONFIG_EXAMPLES_OSTEST_STACKSIZE=1536 CONFIG_EXAMPLES_OSTEST_NBARRIER_THREADS=3 CONFIG_EXAMPLES_OSTEST_RR_RANGE=10000 -CONFIG_EXAMPLES_OSTEST_RR_RUNS=10 +CONFIG_EXAMPLES_OSTEST_RR_RUNS=1 # CONFIG_EXAMPLES_PASHELLO is not set # CONFIG_EXAMPLES_PIPE is not set # CONFIG_EXAMPLES_POLL is not set