summaryrefslogtreecommitdiff
path: root/nuttx/arch/rgmp
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-08-28 08:10:19 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-08-28 08:10:19 -0600
commit8840883bda397389b96654b3637f8549fd7af226 (patch)
tree65114106c4e2ccb506d58e9ea2dc3dedbbf8097f /nuttx/arch/rgmp
parent4226c6c8e4f1feadfd3b084b48681a63d48a9af4 (diff)
downloadnuttx-8840883bda397389b96654b3637f8549fd7af226.tar.gz
nuttx-8840883bda397389b96654b3637f8549fd7af226.tar.bz2
nuttx-8840883bda397389b96654b3637f8549fd7af226.zip
Add address environment support to ALL implementatins of up_release_pending()
Diffstat (limited to 'nuttx/arch/rgmp')
-rw-r--r--nuttx/arch/rgmp/src/nuttx.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/nuttx/arch/rgmp/src/nuttx.c b/nuttx/arch/rgmp/src/nuttx.c
index ea0a4311f..4cc2a1a05 100644
--- a/nuttx/arch/rgmp/src/nuttx.c
+++ b/nuttx/arch/rgmp/src/nuttx.c
@@ -376,7 +376,15 @@ void up_release_pending(void)
if (sched_mergepending()) {
/* The currently active task has changed! */
struct tcb_s *nexttcb = (struct tcb_s*)g_readytorun.head;
+#ifdef CONFIG_ARCH_ADDRENV
+ /* Make sure that the address environment for the previously
+ * running task is closed down gracefully (data caches dump,
+ * MMU flushed) and set up the address environment for the new
+ * thread at the head of the ready-to-run list.
+ */
+ (void)group_addrenv(nexttcb);
+#endif
// context switch
up_switchcontext(rtcb, nexttcb);
}