Loading arch/xtensa/kernel/entry.S +17 −28 Original line number Diff line number Diff line Loading @@ -31,7 +31,6 @@ /* Unimplemented features. */ #undef KERNEL_STACK_OVERFLOW_CHECK #undef PREEMPTIBLE_KERNEL #undef ALLOCA_EXCEPTION_IN_IRAM /* Not well tested. Loading Loading @@ -429,7 +428,9 @@ common_exception_return: /* Jump if we are returning from kernel exceptions. */ l32i a3, a1, PT_PS _bbci.l a3, PS_UM_BIT, 4f GET_THREAD_INFO(a2, a1) l32i a4, a2, TI_FLAGS _bbci.l a3, PS_UM_BIT, 6f /* Specific to a user exception exit: * We need to check some flags for signal handling and rescheduling, Loading @@ -438,9 +439,6 @@ common_exception_return: * Note that we don't disable interrupts here. */ GET_THREAD_INFO(a2,a1) l32i a4, a2, TI_FLAGS _bbsi.l a4, TIF_NEED_RESCHED, 3f _bbsi.l a4, TIF_NOTIFY_RESUME, 2f _bbci.l a4, TIF_SIGPENDING, 5f Loading @@ -463,6 +461,19 @@ common_exception_return: callx4 a4 j 1b #ifdef CONFIG_PREEMPT 6: _bbci.l a4, TIF_NEED_RESCHED, 4f /* Check current_thread_info->preempt_count */ l32i a4, a2, TI_PRE_COUNT bnez a4, 4f movi a4, preempt_schedule_irq callx4 a4 j 1b #endif 5: #ifdef CONFIG_DEBUG_TLB_SANITY l32i a4, a1, PT_DEPC Loading @@ -470,6 +481,7 @@ common_exception_return: movi a4, check_tlb_sanity callx4 a4 #endif 6: 4: #ifdef CONFIG_TRACE_IRQFLAGS l32i a4, a1, PT_DEPC Loading Loading @@ -573,29 +585,6 @@ user_exception_exit: kernel_exception_exit: #ifdef PREEMPTIBLE_KERNEL #ifdef CONFIG_PREEMPT /* * Note: We've just returned from a call4, so we have * at least 4 addt'l regs. */ /* Check current_thread_info->preempt_count */ GET_THREAD_INFO(a2) l32i a3, a2, TI_PREEMPT bnez a3, 1f l32i a2, a2, TI_FLAGS 1: #endif #endif /* Check if we have to do a movsp. * * We only have to do a movsp if the previous window-frame has Loading Loading
arch/xtensa/kernel/entry.S +17 −28 Original line number Diff line number Diff line Loading @@ -31,7 +31,6 @@ /* Unimplemented features. */ #undef KERNEL_STACK_OVERFLOW_CHECK #undef PREEMPTIBLE_KERNEL #undef ALLOCA_EXCEPTION_IN_IRAM /* Not well tested. Loading Loading @@ -429,7 +428,9 @@ common_exception_return: /* Jump if we are returning from kernel exceptions. */ l32i a3, a1, PT_PS _bbci.l a3, PS_UM_BIT, 4f GET_THREAD_INFO(a2, a1) l32i a4, a2, TI_FLAGS _bbci.l a3, PS_UM_BIT, 6f /* Specific to a user exception exit: * We need to check some flags for signal handling and rescheduling, Loading @@ -438,9 +439,6 @@ common_exception_return: * Note that we don't disable interrupts here. */ GET_THREAD_INFO(a2,a1) l32i a4, a2, TI_FLAGS _bbsi.l a4, TIF_NEED_RESCHED, 3f _bbsi.l a4, TIF_NOTIFY_RESUME, 2f _bbci.l a4, TIF_SIGPENDING, 5f Loading @@ -463,6 +461,19 @@ common_exception_return: callx4 a4 j 1b #ifdef CONFIG_PREEMPT 6: _bbci.l a4, TIF_NEED_RESCHED, 4f /* Check current_thread_info->preempt_count */ l32i a4, a2, TI_PRE_COUNT bnez a4, 4f movi a4, preempt_schedule_irq callx4 a4 j 1b #endif 5: #ifdef CONFIG_DEBUG_TLB_SANITY l32i a4, a1, PT_DEPC Loading @@ -470,6 +481,7 @@ common_exception_return: movi a4, check_tlb_sanity callx4 a4 #endif 6: 4: #ifdef CONFIG_TRACE_IRQFLAGS l32i a4, a1, PT_DEPC Loading Loading @@ -573,29 +585,6 @@ user_exception_exit: kernel_exception_exit: #ifdef PREEMPTIBLE_KERNEL #ifdef CONFIG_PREEMPT /* * Note: We've just returned from a call4, so we have * at least 4 addt'l regs. */ /* Check current_thread_info->preempt_count */ GET_THREAD_INFO(a2) l32i a3, a2, TI_PREEMPT bnez a3, 1f l32i a2, a2, TI_FLAGS 1: #endif #endif /* Check if we have to do a movsp. * * We only have to do a movsp if the previous window-frame has Loading