]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Source/portable/GCC/TriCore_1782/port.c
Update version number ready for next release.
[freertos] / FreeRTOS / Source / portable / GCC / TriCore_1782 / port.c
index c8d7463cc218efd7d3f09a086d845a03d41e4a06..686129a84c21ca9535d76ba0066924c4a6a3537e 100644 (file)
@@ -1,97 +1,29 @@
 /*\r
-    FreeRTOS V8.2.0rc1 - Copyright (C) 2014 Real Time Engineers Ltd.\r
-    All rights reserved\r
-\r
-    VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\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
-\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
-    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
-    FOR A PARTICULAR PURPOSE.  Full license text is available on the following\r
-    link: http://www.freertos.org/a00114.html\r
-\r
-    1 tab == 4 spaces!\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    Having a problem?  Start by reading the FAQ "My application does   *\r
-     *    not run, what could be wrong?".  Have you defined configASSERT()?  *\r
-     *                                                                       *\r
-     *    http://www.FreeRTOS.org/FAQHelp.html                               *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS provides completely free yet professionally developed,    *\r
-     *    robust, strictly quality controlled, supported, and cross          *\r
-     *    platform software that is more than just the market leader, it     *\r
-     *    is the industry's de facto standard.                               *\r
-     *                                                                       *\r
-     *    Help yourself get started quickly while simultaneously helping     *\r
-     *    to support the FreeRTOS project by purchasing a FreeRTOS           *\r
-     *    tutorial book, reference manual, or both:                          *\r
-     *    http://www.FreeRTOS.org/Documentation                              *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *   Investing in training allows your team to be as productive as       *\r
-     *   possible as early as possible, lowering your overall development    *\r
-     *   cost, and enabling you to bring a more robust product to market     *\r
-     *   earlier than would otherwise be possible.  Richard Barry is both    *\r
-     *   the architect and key author of FreeRTOS, and so also the world's   *\r
-     *   leading authority on what is the world's most popular real time     *\r
-     *   kernel for deeply embedded MCU designs.  Obtaining your training    *\r
-     *   from Richard ensures your team will gain directly from his in-depth *\r
-     *   product knowledge and years of usage experience.  Contact Real Time *\r
-     *   Engineers Ltd to enquire about the FreeRTOS Masterclass, presented  *\r
-     *   by Richard Barry:  http://www.FreeRTOS.org/contact\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    You are receiving this top quality software for free.  Please play *\r
-     *    fair and reciprocate by reporting any suspected issues and         *\r
-     *    participating in the community forum:                              *\r
-     *    http://www.FreeRTOS.org/support                                    *\r
-     *                                                                       *\r
-     *    Thank you!                                                         *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    http://www.FreeRTOS.org - Documentation, books, training, latest versions,\r
-    license and Real Time Engineers Ltd. contact details.\r
-\r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
-    compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
-    http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
-    Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
-    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High\r
-    Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS\r
-    licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
-    http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
-    engineered and independently SIL3 certified version for use in safety and\r
-    mission critical applications that require provable dependability.\r
-\r
-    1 tab == 4 spaces!\r
-*/\r
+ * FreeRTOS Kernel V10.2.1\r
+ * Copyright (C) 2019 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
+ *\r
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of\r
+ * this software and associated documentation files (the "Software"), to deal in\r
+ * the Software without restriction, including without limitation the rights to\r
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r
+ * the Software, and to permit persons to whom the Software is furnished to do so,\r
+ * subject to the following conditions:\r
+ *\r
+ * The above copyright notice and this permission notice shall be included in all\r
+ * copies or substantial portions of the Software.\r
+ *\r
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r
+ * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
+ *\r
+ * http://www.FreeRTOS.org\r
+ * http://aws.amazon.com/freertos\r
+ *\r
+ * 1 tab == 4 spaces!\r
+ */\r
 \r
 /* Standard includes. */\r
 #include <stdlib.h>\r
@@ -193,7 +125,7 @@ uint32_t *pulLowerCSA = NULL;
                _dsync();\r
 \r
                /* Consume two free CSAs. */\r
-               pulLowerCSA = portCSA_TO_ADDRESS( _mfcr( $FCX ) );\r
+               pulLowerCSA = portCSA_TO_ADDRESS( __MFCR( $FCX ) );\r
                if( NULL != pulLowerCSA )\r
                {\r
                        /* The Lower Links to the Upper. */\r
@@ -287,7 +219,7 @@ uint32_t *pulLowerCSA = NULL;
 \r
        /* Clear the PSW.CDC to enable the use of an RFE without it generating an\r
        exception because this code is not genuinely in an exception. */\r
-       ulMFCR = _mfcr( $PSW );\r
+       ulMFCR = __MFCR( $PSW );\r
        ulMFCR &= portRESTORE_PSW_MASK;\r
        _dsync();\r
        _mtcr( $PSW, ulMFCR );\r
@@ -414,7 +346,7 @@ int32_t lYieldRequired;
                enabled/disabled. */\r
                _disable();\r
                _dsync();\r
-               xUpperCSA = _mfcr( $PCXI );\r
+               xUpperCSA = __MFCR( $PCXI );\r
                pxUpperCSA = portCSA_TO_ADDRESS( xUpperCSA );\r
                *pxCurrentTCB = pxUpperCSA[ 0 ];\r
                vTaskSwitchContext();\r
@@ -484,7 +416,7 @@ uint32_t *pulNextCSA;
        {\r
                /* Look up the current free CSA head. */\r
                _dsync();\r
-               pxFreeCSA = _mfcr( $FCX );\r
+               pxFreeCSA = __MFCR( $FCX );\r
 \r
                /* Join the current Free onto the Tail of what is being reclaimed. */\r
                portCSA_TO_ADDRESS( pxTailCSA )[ 0 ] = pxFreeCSA;\r
@@ -534,7 +466,7 @@ extern volatile uint32_t *pxCurrentTCB;
                        enabled/disabled. */\r
                        _disable();\r
                        _dsync();\r
-                       xUpperCSA = _mfcr( $PCXI );\r
+                       xUpperCSA = __MFCR( $PCXI );\r
                        pxUpperCSA = portCSA_TO_ADDRESS( xUpperCSA );\r
                        *pxCurrentTCB = pxUpperCSA[ 0 ];\r
                        vTaskSwitchContext();\r
@@ -581,7 +513,7 @@ extern volatile uint32_t *pxCurrentTCB;
        enabled/disabled. */\r
        _disable();\r
        _dsync();\r
-       xUpperCSA = _mfcr( $PCXI );\r
+       xUpperCSA = __MFCR( $PCXI );\r
        pxUpperCSA = portCSA_TO_ADDRESS( xUpperCSA );\r
        *pxCurrentTCB = pxUpperCSA[ 0 ];\r
        vTaskSwitchContext();\r
@@ -596,7 +528,7 @@ uint32_t uxPortSetInterruptMaskFromISR( void )
 uint32_t uxReturn = 0UL;\r
 \r
        _disable();\r
-       uxReturn = _mfcr( $ICR );\r
+       uxReturn = __MFCR( $ICR );\r
        _mtcr( $ICR, ( ( uxReturn & ~portCCPN_MASK ) | configMAX_SYSCALL_INTERRUPT_PRIORITY ) );\r
        _isync();\r
        _enable();\r