core, cpu: rename thread_start_threading() -> cpu_switch_context_exit()
This commit is contained in:
parent
2a177ea6c8
commit
32c10ae2c9
@ -136,11 +136,7 @@ void sched_switch(uint16_t other_prio);
|
|||||||
/**
|
/**
|
||||||
* @brief Call context switching at thread exit
|
* @brief Call context switching at thread exit
|
||||||
*/
|
*/
|
||||||
extern void thread_start_threading(void);
|
NORETURN void cpu_switch_context_exit(void);
|
||||||
NORETURN static inline void cpu_switch_context_exit(void)
|
|
||||||
{
|
|
||||||
thread_start_threading();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Flag indicating whether a context switch is necessary after handling an
|
* Flag indicating whether a context switch is necessary after handling an
|
||||||
|
|||||||
@ -491,11 +491,6 @@ void thread_stack_print(void);
|
|||||||
*/
|
*/
|
||||||
void thread_print_stack(void);
|
void thread_print_stack(void);
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Start threading by loading a threads initial information from the stack
|
|
||||||
*/
|
|
||||||
void thread_start_threading(void) NORETURN;
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -222,8 +222,8 @@ void thread_stack_print(void)
|
|||||||
printf("stack size: %u bytes\n", size);
|
printf("stack size: %u bytes\n", size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void thread_start_threading(void) __attribute__((naked));
|
void cpu_switch_context_exit(void) __attribute__((naked));
|
||||||
void thread_start_threading(void)
|
void cpu_switch_context_exit(void)
|
||||||
{
|
{
|
||||||
sched_run();
|
sched_run();
|
||||||
AVR_CONTEXT_SWAP_INIT;
|
AVR_CONTEXT_SWAP_INIT;
|
||||||
|
|||||||
@ -105,7 +105,7 @@ extern uint32_t _sstack;
|
|||||||
/**
|
/**
|
||||||
* @brief Noticeable marker marking the beginning of a stack segment
|
* @brief Noticeable marker marking the beginning of a stack segment
|
||||||
*
|
*
|
||||||
* This marker is used e.g. by *thread_start_threading* to identify the
|
* This marker is used e.g. by *cpu_switch_context_exit* to identify the
|
||||||
* stacks beginning.
|
* stacks beginning.
|
||||||
*/
|
*/
|
||||||
#define STACK_MARKER (0x77777777)
|
#define STACK_MARKER (0x77777777)
|
||||||
@ -277,7 +277,7 @@ void *thread_isr_stack_start(void)
|
|||||||
return (void *)&_sstack;
|
return (void *)&_sstack;
|
||||||
}
|
}
|
||||||
|
|
||||||
__attribute__((naked)) void NORETURN thread_start_threading(void)
|
__attribute__((naked)) void NORETURN cpu_switch_context_exit(void)
|
||||||
{
|
{
|
||||||
__asm__ volatile (
|
__asm__ volatile (
|
||||||
"bl irq_enable \n" /* enable IRQs to make the SVC
|
"bl irq_enable \n" /* enable IRQs to make the SVC
|
||||||
|
|||||||
@ -118,7 +118,7 @@ void thread_stack_print(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
extern void __exception_restore(void);
|
extern void __exception_restore(void);
|
||||||
void thread_start_threading(void)
|
void cpu_switch_context_exit(void)
|
||||||
{
|
{
|
||||||
unsigned int status = mips32_get_c0(C0_STATUS);
|
unsigned int status = mips32_get_c0(C0_STATUS);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user