From ab7c632af3b73b74025832fa0391a28d8feb8bad Mon Sep 17 00:00:00 2001 From: RichardBarry Date: Sun, 24 Sep 2006 10:05:48 +0000 Subject: [PATCH] Added the PRESERVE8 directive to all asm functions. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@37 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- Source/portable/RVDS/ARM_CM3/port.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Source/portable/RVDS/ARM_CM3/port.c b/Source/portable/RVDS/ARM_CM3/port.c index 4b60244c7..8db6dcb12 100644 --- a/Source/portable/RVDS/ARM_CM3/port.c +++ b/Source/portable/RVDS/ARM_CM3/port.c @@ -110,6 +110,7 @@ portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE __asm void prvSetPSP( unsigned long ulValue ) { + PRESERVE8 msr psp, r0 bx lr; } @@ -117,6 +118,7 @@ __asm void prvSetPSP( unsigned long ulValue ) __asm void prvSetMSP( unsigned long ulValue ) { + PRESERVE8 msr msp, r0 bx lr; } @@ -166,6 +168,7 @@ void vPortYieldFromISR( void ) __asm void vPortDisableInterrupts( void ) { + PRESERVE8 cpsid i; bx lr; } @@ -173,6 +176,7 @@ __asm void vPortDisableInterrupts( void ) __asm void vPortEnableInterrupts( void ) { + PRESERVE8 cpsie i; bx lr; } @@ -201,6 +205,8 @@ __asm void xPortPendSVHandler( void ) extern pxCurrentTCB; extern vTaskSwitchContext; + PRESERVE8 + /* Start first task if the stack has not yet been setup. */ mrs r0, psp cbz r0, no_save @@ -252,6 +258,7 @@ sv_disable_interrupts; __asm void xPortSysTickHandler( void ) { extern vTaskIncrementTick + PRESERVE8 /* Call the scheduler tick function. */ ldr r0, =vTaskIncrementTick -- 2.39.5