Go to the documentation of this file.
15 #ifndef _ASM_TILE_SWITCH_TO_H
16 #define _ASM_TILE_SWITCH_TO_H
26 #define CALLEE_SAVED_FIRST_REG 30
27 #define CALLEE_SAVED_REGS_COUNT 24
36 #define prepare_arch_switch(next) _prepare_arch_switch(next)
40 #define switch_to(prev, next, last) ((last) = _switch_to((prev), (next)))
47 unsigned long new_system_save_k_0);
57 #define finish_arch_switch(prev) do { \
58 if (unlikely((prev)->state == TASK_DEAD)) \
59 __insn_mtspr(SPR_SIM_CONTROL, SIM_CONTROL_OS_EXIT | \
60 ((prev)->pid << _SIM_CONTROL_OPERATOR_BITS)); \
61 __insn_mtspr(SPR_SIM_CONTROL, SIM_CONTROL_OS_SWITCH | \
62 (current->pid << _SIM_CONTROL_OPERATOR_BITS)); \
63 if (current->mm == NULL && !kstack_hash && \
64 current_thread_info()->homecache_cpu != smp_processor_id()) \
65 homecache_migrate_kthread(); \