···3131/* Unimplemented features. */32323333#undef KERNEL_STACK_OVERFLOW_CHECK3434-#undef PREEMPTIBLE_KERNEL3534#undef ALLOCA_EXCEPTION_IN_IRAM36353736/* Not well tested.···428429 /* Jump if we are returning from kernel exceptions. */429430430431 l32i a3, a1, PT_PS431431- _bbci.l a3, PS_UM_BIT, 4f432432+ GET_THREAD_INFO(a2, a1)433433+ l32i a4, a2, TI_FLAGS434434+ _bbci.l a3, PS_UM_BIT, 6f432435433436 /* Specific to a user exception exit:434437 * We need to check some flags for signal handling and rescheduling,···438437 * in the register file that were in use in the user task.439438 * Note that we don't disable interrupts here. 440439 */441441-442442- GET_THREAD_INFO(a2,a1)443443- l32i a4, a2, TI_FLAGS444440445441 _bbsi.l a4, TIF_NEED_RESCHED, 3f446442 _bbsi.l a4, TIF_NOTIFY_RESUME, 2f···461463 callx4 a4462464 j 1b463465466466+#ifdef CONFIG_PREEMPT467467+6:468468+ _bbci.l a4, TIF_NEED_RESCHED, 4f469469+470470+ /* Check current_thread_info->preempt_count */471471+472472+ l32i a4, a2, TI_PRE_COUNT473473+ bnez a4, 4f474474+ movi a4, preempt_schedule_irq475475+ callx4 a4476476+ j 1b477477+#endif478478+4644795:465480#ifdef CONFIG_DEBUG_TLB_SANITY466481 l32i a4, a1, PT_DEPC···481470 movi a4, check_tlb_sanity482471 callx4 a4483472#endif473473+6:4844744:485475#ifdef CONFIG_TRACE_IRQFLAGS486476 l32i a4, a1, PT_DEPC···584572 */585573586574kernel_exception_exit:587587-588588-#ifdef PREEMPTIBLE_KERNEL589589-590590-#ifdef CONFIG_PREEMPT591591-592592- /*593593- * Note: We've just returned from a call4, so we have594594- * at least 4 addt'l regs.595595- */596596-597597- /* Check current_thread_info->preempt_count */598598-599599- GET_THREAD_INFO(a2)600600- l32i a3, a2, TI_PREEMPT601601- bnez a3, 1f602602-603603- l32i a2, a2, TI_FLAGS604604-605605-1:606606-607607-#endif608608-609609-#endif610575611576 /* Check if we have to do a movsp.612577 *