summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-09-12 08:06:49 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-09-12 08:06:49 -0600
commit2425a7e58bf1e08e6b22880dfca6f9095e675630 (patch)
tree37f73cc6e3f2c3b1fcc2b961e83a79f33793f916
parentde19ad5f0c7bfba50bde0136c4dd8037b72859f1 (diff)
downloadnuttx-2425a7e58bf1e08e6b22880dfca6f9095e675630.tar.gz
nuttx-2425a7e58bf1e08e6b22880dfca6f9095e675630.tar.bz2
nuttx-2425a7e58bf1e08e6b22880dfca6f9095e675630.zip
Update ChangeLog
-rwxr-xr-xnuttx/ChangeLog9
1 files changed, 9 insertions, 0 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index 389218d95..54cc8cfce 100755
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -8489,3 +8489,12 @@
* arch/arm/src/armv7-a/arm_vectors.S: Fix logic for returning from
exceptions to user-mode contexts. NuttX processes are now functional
on the Cortex-A (2014-9-11).
+ * arch/arm/src/armv7-a/arm_fullcontextrestore.S, arm_syscall.c, crt0.c,
+ and svcall.h: Modify up_fullcontextrestore() for CONFIG_BUILD_KERNEL.
+ It changed CPSR while in kernel. That will crash if the new CPSR is
+ user mode while executing in kernel space. Fixed by adding a
+ SYS_context_restore system call. There is an alternative, simpler
+ modification to up_fullcontextrestore() that could have been done: It
+ might have been possible to use the SPSR instead of the CPRSR and then
+ do an exception return from up_fullcontextrestore(). That would be
+ more efficient, but I never tried it (2014-9-12).