TASK_SWITCH_GATE
if (reason == TASK_SWITCH_GATE) {
if (reason != TASK_SWITCH_CALL && reason != TASK_SWITCH_GATE)
if (reason == TASK_SWITCH_CALL || reason == TASK_SWITCH_GATE)
reason = TASK_SWITCH_GATE;
if (reason == TASK_SWITCH_GATE) {
if (reason != TASK_SWITCH_GATE ||
if (reason == TASK_SWITCH_GATE && idt_v) {