kernel/userspace: Move syscall_frame field to thread struct
The syscall exception frame was stored on the CPU struct during syscall execution, but that's not right. System calls might "feel like" exceptions, but they're actually perfectly normal kernel mode code and can be preempted and migrated between CPUs at any time. Put the field on the thread struct. Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
This commit is contained in:
parent
8153144de0
commit
7353c7f95d
5 changed files with 7 additions and 9 deletions
|
@ -597,8 +597,11 @@ struct k_thread {
|
|||
struct _mem_domain_info mem_domain_info;
|
||||
/** Base address of thread stack */
|
||||
k_thread_stack_t *stack_obj;
|
||||
/** current syscall frame pointer */
|
||||
void *syscall_frame;
|
||||
#endif /* CONFIG_USERSPACE */
|
||||
|
||||
|
||||
#if defined(CONFIG_USE_SWITCH)
|
||||
/* When using __switch() a few previously arch-specific items
|
||||
* become part of the core OS
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue