]> git.sur5r.net Git - freertos/commitdiff
Tidy up.
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Wed, 17 Sep 2008 15:58:45 +0000 (15:58 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Wed, 17 Sep 2008 15:58:45 +0000 (15:58 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@469 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

Source/portable/GCC/ColdFire_V2/port.c

index 986e85c4f5288c13706180db45156241bed34667..8a7883bfde3d68c9f9713128907a391c46a0f57b 100644 (file)
@@ -48,7 +48,6 @@
 */\r
 \r
 /* Kernel includes. */\r
-\r
 #include "FreeRTOS.h"\r
 #include "task.h"\r
 \r
 /* Supervisor mode set. */\r
 #define portINITIAL_STATUS_REGISTER            ( ( portSTACK_TYPE ) 0x2000)\r
 \r
+/* Used to keep track of the number of nested calls to taskENTER_CRITICAL().  This\r
+will be set to 0 prior to the first task being started. */\r
 static unsigned portLONG ulCriticalNesting = 0x9999UL;\r
 \r
+/*-----------------------------------------------------------*/\r
 \r
 portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE * pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
 {\r
@@ -76,48 +78,7 @@ portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE * pxTopOfStack, pdTASK_COD
        pxTopOfStack--;\r
 \r
        *pxTopOfStack = ( portSTACK_TYPE ) 0x0; /*FP*/\r
-       pxTopOfStack--;\r
-\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0xA5A5A5A5;\r
-       pxTopOfStack--;\r
-\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0xA4A4A4A4;\r
-       pxTopOfStack--;\r
-\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0xA3A3A3A3;\r
-       pxTopOfStack--;\r
-\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0xA2A2A2A2;\r
-       pxTopOfStack--;\r
-\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0xA1A1A1A1;\r
-       pxTopOfStack--;\r
-\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0xA0A0A0A0;\r
-       pxTopOfStack--;\r
-\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0xD7D7D7D7;\r
-       pxTopOfStack--;\r
-\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0xD6D6D6D6;\r
-       pxTopOfStack--;\r
-\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0xD5D5D5D5;\r
-       pxTopOfStack--;\r
-\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0xD4D4D4D4;\r
-       pxTopOfStack--;\r
-\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0xD3D3D3D3;\r
-       pxTopOfStack--;\r
-\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0xD2D2D2D2;\r
-       pxTopOfStack--;\r
-\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0xD1D1D1D1;\r
-       pxTopOfStack--;\r
-\r
-       *pxTopOfStack = ( portSTACK_TYPE ) 0xD0D0D0D0;\r
+       pxTopOfStack -= 14; /* A5 to D0. */\r
 \r
     return pxTopOfStack;\r
 }\r
@@ -129,7 +90,10 @@ extern void vPortStartFirstTask( void );
 \r
        ulCriticalNesting = 0UL;\r
 \r
+       /* Configure the interrupts used by this port. */\r
        vApplicationSetupInterrupts();\r
+\r
+       /* Start the first task executing. */\r
        vPortStartFirstTask();\r
 \r
        return pdFALSE;\r
@@ -138,6 +102,7 @@ extern void vPortStartFirstTask( void );
 \r
 void vPortEndScheduler( void )\r
 {\r
+       /* Not implemented as there is nothing to return to. */\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
@@ -145,6 +110,8 @@ void vPortEnterCritical( void )
 {\r
        if( ulCriticalNesting == 0UL )\r
        {\r
+               /* Guard against context switches being pended simultaneously with a\r
+               critical section being entered. */\r
                do\r
                {\r
                        portDISABLE_INTERRUPTS();\r
@@ -176,7 +143,6 @@ void vPortYieldHandler( void )
 unsigned portLONG ulSavedInterruptMask;\r
 \r
        ulSavedInterruptMask = portSET_INTERRUPT_MASK_FROM_ISR();\r
-               /* -32 as we are using the high word of the 64bit mask. */\r
                /* Note this will clear all forced interrupts - this is done for speed. */\r
                MCF_INTC0_INTFRCH = 0;\r
                vTaskSwitchContext();\r