]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/portable/MSVC-MingW/portmacro.h
Update version number to 9.0.0rc2.
[freertos] / FreeRTOS / Source / portable / MSVC-MingW / portmacro.h
index 121c6efbc666e1207a6d55a16e7d61a8e69beb1a..cb1e6b3677c120d666c49c2d92ca89e456cf5a0a 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-    FreeRTOS V8.2.0 - Copyright (C) 2015 Real Time Engineers Ltd.\r
+    FreeRTOS V9.0.0rc2 - Copyright (C) 2016 Real Time Engineers Ltd.\r
     All rights reserved\r
 \r
     VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
@@ -8,14 +8,14 @@
 \r
     FreeRTOS is free software; you can redistribute it and/or modify it under\r
     the terms of the GNU General Public License (version 2) as published by the\r
-    Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.\r
+    Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.\r
 \r
-       ***************************************************************************\r
+    ***************************************************************************\r
     >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
     >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
     >>!   obliged to provide the source code for proprietary components     !<<\r
     >>!   outside of the FreeRTOS kernel.                                   !<<\r
-       ***************************************************************************\r
+    ***************************************************************************\r
 \r
     FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
     WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
     ***************************************************************************\r
 \r
     http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading\r
-       the FAQ page "My application does not run, what could be wrong?".  Have you\r
-       defined configASSERT()?\r
+    the FAQ page "My application does not run, what could be wrong?".  Have you\r
+    defined configASSERT()?\r
 \r
-       http://www.FreeRTOS.org/support - In return for receiving this top quality\r
-       embedded software for free we request you assist our global community by\r
-       participating in the support forum.\r
+    http://www.FreeRTOS.org/support - In return for receiving this top quality\r
+    embedded software for free we request you assist our global community by\r
+    participating in the support forum.\r
 \r
-       http://www.FreeRTOS.org/training - Investing in training allows your team to\r
-       be as productive as possible as early as possible.  Now you can receive\r
-       FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
-       Ltd, and the world's leading authority on the world's leading RTOS.\r
+    http://www.FreeRTOS.org/training - Investing in training allows your team to\r
+    be as productive as possible as early as possible.  Now you can receive\r
+    FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
+    Ltd, and the world's leading authority on the world's leading RTOS.\r
 \r
     http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
     including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
@@ -118,6 +118,7 @@ typedef unsigned long UBaseType_t;
 /* Simulated interrupts return pdFALSE if no context switch should be performed,\r
 or a non-zero number if a context switch should be performed. */\r
 #define portYIELD_FROM_ISR( x ) return x\r
+#define portEND_SWITCHING_ISR( x ) portYIELD_FROM_ISR( ( x ) )\r
 \r
 void vPortCloseRunningThread( void *pvTaskToDelete, volatile BaseType_t *pxPendYield );\r
 void vPortDeleteThread( void *pvThreadToDelete );\r
@@ -152,11 +153,9 @@ void vPortExitCritical( void );
        /*-----------------------------------------------------------*/\r
 \r
        #ifdef __GNUC__\r
-               #define portGET_HIGHEST_PRIORITY( uxTopPriority, uxReadyPriorities )      \\r
-                       __asm volatile( "mov %0, %%eax                                                                  \n\t" \\r
-                                                       "bsr %%eax, %%eax                                                               \n\t" \\r
-                                                       "mov %%eax, %1                                                                  \n\t" \\r
-                                                       :"=r"(uxTopPriority) : "r"(uxReadyPriorities) : "eax" )\r
+               #define portGET_HIGHEST_PRIORITY( uxTopPriority, uxReadyPriorities )    \\r
+                       __asm volatile( "bsr %1, %0\n\t"                                                                        \\r
+                                                       :"=r"(uxTopPriority) : "rm"(uxReadyPriorities) : "cc" )\r
        #else\r
                /* BitScanReverse returns the bit position of the most significant '1'\r
                in the word. */\r