#define portBYTE_ALIGNMENT 8 /* Could make four, according to manual. */\r
#define portSTACK_GROWTH -1\r
#define portTICK_RATE_MS ( ( portTickType ) 1000 / configTICK_RATE_HZ ) \r
-#define portNOP() __asm( "NOP" )\r
+#define portNOP() __asm volatile( "NOP" )\r
\r
/* The location of the software interrupt register. Software interrupts use\r
vector 27. */\r
* These macros should be called directly, but through the taskENTER_CRITICAL()\r
* and taskEXIT_CRITICAL() macros.\r
*/\r
-#define portENABLE_INTERRUPTS() __asm ( "MVTIPL #0" );\r
-#define portDISABLE_INTERRUPTS() __asm ( "MVTIPL %0" ::"i"(configMAX_SYSCALL_INTERRUPT_PRIORITY) )\r
+#define portENABLE_INTERRUPTS() __asm volatile ( "MVTIPL #0" );\r
+#define portDISABLE_INTERRUPTS() __asm volatile ( "MVTIPL %0" ::"i"(configMAX_SYSCALL_INTERRUPT_PRIORITY) )\r
\r
/* Critical nesting counts are stored in the TCB. */\r
#define portCRITICAL_NESTING_IN_TCB ( 1 )\r
#define portEXIT_CRITICAL() vTaskExitCritical();\r
\r
/* As this port allows interrupt nesting... */\r
-unsigned long ulPortGetIPL( void ) __attribute__((naked));\r
-void vPortSetIPL( unsigned long ulNewIPL ) __attribute__((naked));\r
+unsigned long ulPortGetIPL( void );\r
+void vPortSetIPL( unsigned long ulNewIPL );\r
#define portSET_INTERRUPT_MASK_FROM_ISR() ulPortGetIPL(); portDISABLE_INTERRUPTS()\r
#define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ) vPortSetIPL( uxSavedInterruptStatus )\r
\r