]> git.sur5r.net Git - freertos/blobdiff - Source/portable/GCC/PPC405/portmacro.h
PPC405 work in progress.
[freertos] / Source / portable / GCC / PPC405 / portmacro.h
index dc895d215db82ceadecd538d3557697b2c75f8d0..6ba2c7f0847c846d599dfcacd03c9caa847c71ce 100644 (file)
@@ -43,6 +43,8 @@
 #ifndef PORTMACRO_H\r
 #define PORTMACRO_H\r
 \r
+#include "xexception_l.h"\r
+\r
 #ifdef __cplusplus\r
 extern "C" {\r
 #endif\r
@@ -75,23 +77,26 @@ extern "C" {
 #endif\r
 /*-----------------------------------------------------------*/        \r
 \r
+#define portCRITICAL_NESTING_IN_TCB            1\r
+\r
 /* Interrupt control macros. */\r
-#define portDISABLE_INTERRUPTS()       \r
-#define portENABLE_INTERRUPTS()                \r
+#define portDISABLE_INTERRUPTS()               XExc_mDisableExceptions( XEXC_NON_CRITICAL );\r
+#define portENABLE_INTERRUPTS()                        XExc_mEnableExceptions( XEXC_NON_CRITICAL );\r
+\r
 /*-----------------------------------------------------------*/\r
 \r
 /* Critical section macros. */\r
-void vPortEnterCritical( void );\r
-void vPortExitCritical( void );\r
-#define portENTER_CRITICAL()                                                                   \r
-#define portEXIT_CRITICAL()\r
+void vTaskEnterCritical( void );\r
+void vTaskExitCritical( void );\r
+#define portENTER_CRITICAL()                   vTaskEnterCritical()\r
+#define portEXIT_CRITICAL()                            vTaskExitCritical()\r
 \r
 /*-----------------------------------------------------------*/\r
 \r
 /* Task utilities. */\r
 void vPortYield( void );\r
 #define portYIELD() asm volatile ( "SC \n\t NOP" )\r
-#define portYIELD_FROM_ISR()\r
+#define portYIELD_FROM_ISR() vTaskSwitchContext()\r
 /*-----------------------------------------------------------*/\r
 \r
 /* Hardware specifics. */\r
@@ -105,6 +110,10 @@ void vPortYield( void );
 #define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void *pvParameters )\r
 #define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters )\r
 \r
+/* Port specific initialisation function. */\r
+void vPortSetupInterruptController( void );\r
+portBASE_TYPE xPortInstallInterruptHandler( unsigned portCHAR ucInterruptID, XInterruptHandler pxHandler, void *pvCallBackRef );\r
+\r
 #ifdef __cplusplus\r
 }\r
 #endif\r