]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/portable/MPLAB/PIC32MZ/portmacro.h
Update version number to 9.0.0rc2.
[freertos] / FreeRTOS / Source / portable / MPLAB / PIC32MZ / portmacro.h
index 48d83ed8754247f5a37ec7e4668a156b23dfc51c..05457d32aadcc0c8566eec621bd35b9cfef40981 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
@@ -137,7 +137,7 @@ ensure API function and interrupt entry is as fast and as simple as possible. */
 #ifdef configASSERT\r
        #define portDISABLE_INTERRUPTS()                                                                                        \\r
        {                                                                                                                                                       \\r
-       uint32_t ulStatus;                                                                                                              \\r
+       uint32_t ulStatus;                                                                                                                      \\r
                                                                                                                                                                \\r
                /* Mask interrupts at and below the kernel interrupt priority. */               \\r
                ulStatus = _CP0_GET_STATUS();                                                                                   \\r
@@ -152,7 +152,7 @@ ensure API function and interrupt entry is as fast and as simple as possible. */
 #else /* configASSERT */\r
        #define portDISABLE_INTERRUPTS()                                                                                \\r
        {                                                                                                                                               \\r
-       uint32_t ulStatus;                                                                                                      \\r
+       uint32_t ulStatus;                                                                                                              \\r
                                                                                                                                                        \\r
                /* Mask interrupts at and below the kernel interrupt priority. */       \\r
                ulStatus = _CP0_GET_STATUS();                                                                           \\r
@@ -163,7 +163,7 @@ ensure API function and interrupt entry is as fast and as simple as possible. */
 \r
 #define portENABLE_INTERRUPTS()                                                                                        \\r
 {                                                                                                                                              \\r
-uint32_t ulStatus;                                                                                                     \\r
+uint32_t ulStatus;                                                                                                             \\r
                                                                                                                                                \\r
        /* Unmask all interrupts. */                                                                            \\r
        ulStatus = _CP0_GET_STATUS();                                                                           \\r
@@ -183,6 +183,15 @@ extern void vPortClearInterruptMaskFromISR( UBaseType_t );
 #define portSET_INTERRUPT_MASK_FROM_ISR() uxPortSetInterruptMaskFromISR()\r
 #define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedStatusRegister ) vPortClearInterruptMaskFromISR( uxSavedStatusRegister )\r
 \r
+#if ( __mips_hard_float == 0 ) && ( configUSE_TASK_FPU_SUPPORT == 1 )\r
+    #error configUSE_TASK_FPU_SUPPORT can only be set to 1 when the part supports a hardware FPU module.\r
+#endif\r
+\r
+#if ( __mips_hard_float == 1 ) && ( configUSE_TASK_FPU_SUPPORT == 1 )\r
+    void vPortTaskUsesFPU( void );\r
+       #define portTASK_USES_FLOATING_POINT() vPortTaskUsesFPU()\r
+#endif\r
+\r
 #ifndef configUSE_PORT_OPTIMISED_TASK_SELECTION\r
        #define configUSE_PORT_OPTIMISED_TASK_SELECTION 1\r
 #endif\r
@@ -210,7 +219,7 @@ extern void vPortClearInterruptMaskFromISR( UBaseType_t );
 \r
 #define portYIELD()                                                            \\r
 {                                                                                              \\r
-uint32_t ulCause;                                                      \\r
+uint32_t ulCause;                                                              \\r
                                                                                                \\r
        /* Trigger software interrupt. */                       \\r
        ulCause = _CP0_GET_CAUSE();                                     \\r