Added the PRESERVE8 directive to all asm functions.

pull/1/head
Richard Barry 19 years ago
parent 4508e6fe73
commit 7508aa6219

@ -110,6 +110,7 @@ portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE
__asm void prvSetPSP( unsigned long ulValue ) __asm void prvSetPSP( unsigned long ulValue )
{ {
PRESERVE8
msr psp, r0 msr psp, r0
bx lr; bx lr;
} }
@ -117,6 +118,7 @@ __asm void prvSetPSP( unsigned long ulValue )
__asm void prvSetMSP( unsigned long ulValue ) __asm void prvSetMSP( unsigned long ulValue )
{ {
PRESERVE8
msr msp, r0 msr msp, r0
bx lr; bx lr;
} }
@ -166,6 +168,7 @@ void vPortYieldFromISR( void )
__asm void vPortDisableInterrupts( void ) __asm void vPortDisableInterrupts( void )
{ {
PRESERVE8
cpsid i; cpsid i;
bx lr; bx lr;
} }
@ -173,6 +176,7 @@ __asm void vPortDisableInterrupts( void )
__asm void vPortEnableInterrupts( void ) __asm void vPortEnableInterrupts( void )
{ {
PRESERVE8
cpsie i; cpsie i;
bx lr; bx lr;
} }
@ -201,6 +205,8 @@ __asm void xPortPendSVHandler( void )
extern pxCurrentTCB; extern pxCurrentTCB;
extern vTaskSwitchContext; extern vTaskSwitchContext;
PRESERVE8
/* Start first task if the stack has not yet been setup. */ /* Start first task if the stack has not yet been setup. */
mrs r0, psp mrs r0, psp
cbz r0, no_save cbz r0, no_save
@ -252,6 +258,7 @@ sv_disable_interrupts;
__asm void xPortSysTickHandler( void ) __asm void xPortSysTickHandler( void )
{ {
extern vTaskIncrementTick extern vTaskIncrementTick
PRESERVE8
/* Call the scheduler tick function. */ /* Call the scheduler tick function. */
ldr r0, =vTaskIncrementTick ldr r0, =vTaskIncrementTick

Loading…
Cancel
Save