]> git.sur5r.net Git - freertos/commitdiff
Replace asm wrappers to interrupt handlers with functions that use the interrupt...
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Wed, 22 Sep 2010 22:03:40 +0000 (22:03 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Wed, 22 Sep 2010 22:03:40 +0000 (22:03 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1128 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

Source/portable/GCC/RX600/port.c
Source/portable/GCC/RX600/portmacro.h

index 76afa3cfabf8140587f5a3cae7c38b144d20639c..5ff53c18c0f745f2b653155eaccd2e5248dc5f9c 100644 (file)
@@ -98,7 +98,7 @@ void vSoftwareInterruptISR( void ) __attribute__((naked));
 /*\r
  * The tick interrupt handler.\r
  */\r
-void vTickISR( void ) __attribute__((naked));\r
+void vTickISR( void ) __attribute__((interrupt));\r
 \r
 /*-----------------------------------------------------------*/\r
 \r
@@ -336,9 +336,8 @@ void vSoftwareInterruptISR( void )
 \r
 void vTickISR( void )\r
 {\r
-       /* This is a naked function.  This macro saves registers then re-enables\r
-       interrupts. */\r
-       portENTER_INTERRUPT();\r
+       /* Re-enabled interrupts. */\r
+       __asm volatile( "SETPSW I" );\r
        \r
        /* Increment the tick, and perform any processing the new tick value\r
        necessitates.  Ensure IPL is at the max syscall value first. */\r
@@ -352,9 +351,6 @@ void vTickISR( void )
        #if( configUSE_PREEMPTION == 1 )\r
                taskYIELD();\r
        #endif\r
-       \r
-       /* Retore registers, then return. */\r
-       portEXIT_INTERRUPT();\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
index e2038318823e93a0d2d40a903001ebe49469ac2c..1910923f2655b9fe01a6f6ff54641984efbf99cc 100644 (file)
@@ -122,10 +122,6 @@ void vPortSetIPL( unsigned long ulNewIPL ) __attribute__((naked));
 #define portSET_INTERRUPT_MASK_FROM_ISR() ulPortGetIPL(); portDISABLE_INTERRUPTS()\r
 #define portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ) vPortSetIPL( uxSavedInterruptStatus )\r
 \r
-#define portENTER_INTERRUPT() __asm volatile( "PUSHM   R1-R15 \t\n SETPSW      I" )\r
-#define portEXIT_INTERRUPT() __asm volatile( "POPM R1-R15 \t\n  RTE" )\r
-\r
-\r
 /*-----------------------------------------------------------*/\r
 \r
 /* Task function macros as described on the FreeRTOS.org WEB site. */\r