Xtensa: Make sure that all C callable assembly functions includes ENTRY prologue and RET epilogue.

This commit is contained in:
Gregory Nutt 2016-12-15 14:02:19 -06:00
parent c56268b416
commit aa5a8b0ca2
3 changed files with 9 additions and 2 deletions

View File

@ -227,6 +227,7 @@ _xtensa_context_save:
.align 4
xtensa_context_save:
ENTRY(16)
/* Set up for call to _xtensa_context_save() */
@ -248,7 +249,7 @@ xtensa_context_save:
l32i a0, a2, (4 * REG_A0) /* Recover return addess */
movi a2, 0 /* Return zero */
ret
RET(16)
.size xtensa_context_save, . - xtensa_context_save
@ -372,6 +373,7 @@ _xtensa_context_restore:
.align 4
xtensa_context_restore:
ENTRY(16) /* REVISIT */
/* Restore the processor state */

View File

@ -139,7 +139,12 @@ __cpu1_start:
/* Finish initialization in C */
movi a2, 1 /* Argument 1: CPU ID */
#ifdef __XTENSA_CALL0_ABI__
call0 xtensa_start_handler
#else
call4 xtensa_start_handler
#endif
/* xtensa_start_handler() does not return */

View File

@ -187,7 +187,7 @@ void xtensa_irq_initialize(void)
#endif
#ifndef CONFIG_SUPPRESS_INTERRUPTS
/* And finally, enable interrupts */
/* And finally, enable interrupts. Also clears PS.EXCM */
up_irq_enable();
#endif