arch:xtensa: Add SYS_flush_context syscall
This syscall do nothing as flush context was done in interrupt handler. Signed-off-by: zhuyanlin <zhuyanlin1@xiaomi.com>
This commit is contained in:
parent
6e93b440fe
commit
b99ba04a8c
@ -91,9 +91,9 @@
|
||||
*/
|
||||
|
||||
#ifndef CONFIG_BUILD_FLAT
|
||||
# define CONFIG_SYS_RESERVED 8
|
||||
# define CONFIG_SYS_RESERVED 9
|
||||
#else
|
||||
# define CONFIG_SYS_RESERVED 4
|
||||
# define CONFIG_SYS_RESERVED 5
|
||||
#endif
|
||||
|
||||
/* Xtensa system calls ******************************************************/
|
||||
@ -119,6 +119,13 @@
|
||||
|
||||
#define SYS_switch_context (2)
|
||||
|
||||
/* SYS call 3:
|
||||
*
|
||||
* void xtensa_flushcontext(void);
|
||||
*/
|
||||
|
||||
#define SYS_flush_context (3)
|
||||
|
||||
#ifdef CONFIG_LIB_SYSCALL
|
||||
|
||||
/* SYS call 3:
|
||||
@ -126,7 +133,7 @@
|
||||
* void xtensa_syscall_return(void);
|
||||
*/
|
||||
|
||||
#define SYS_syscall_return (3)
|
||||
#define SYS_syscall_return (4)
|
||||
#endif /* CONFIG_LIB_SYSCALL */
|
||||
|
||||
#ifndef CONFIG_BUILD_FLAT
|
||||
@ -136,7 +143,7 @@
|
||||
* noreturn_function;
|
||||
*/
|
||||
|
||||
#define SYS_task_start (4)
|
||||
#define SYS_task_start (5)
|
||||
|
||||
/* SYS call 5:
|
||||
*
|
||||
@ -145,7 +152,7 @@
|
||||
* noreturn_function
|
||||
*/
|
||||
|
||||
#define SYS_pthread_start (5)
|
||||
#define SYS_pthread_start (6)
|
||||
|
||||
/* SYS call 6:
|
||||
*
|
||||
@ -153,14 +160,14 @@
|
||||
* siginfo_t *info, void *ucontext);
|
||||
*/
|
||||
|
||||
#define SYS_signal_handler (6)
|
||||
#define SYS_signal_handler (7)
|
||||
|
||||
/* SYS call 7:
|
||||
*
|
||||
* void signal_handler_return(void);
|
||||
*/
|
||||
|
||||
#define SYS_signal_handler_return (7)
|
||||
#define SYS_signal_handler_return (8)
|
||||
#endif /* !CONFIG_BUILD_FLAT */
|
||||
|
||||
/****************************************************************************
|
||||
|
@ -165,6 +165,23 @@ int xtensa_swint(int irq, void *context, void *arg)
|
||||
CURRENT_REGS = (uint32_t *)regs[REG_A4];
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
/* A2=SYS_flush_context: This flush windows to the stack:
|
||||
*
|
||||
* int xtensa_flushcontext(void);
|
||||
*
|
||||
* At this point, the following values are saved in context:
|
||||
*
|
||||
* A2 = SYS_flush_context
|
||||
*
|
||||
* In this case, we simply need to do nothing.
|
||||
* As flush the register windows to the stack has be done by
|
||||
* interrupt enter handler.
|
||||
*/
|
||||
|
||||
case SYS_flush_context:
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user