LoongArch: Move __arch_cpu_idle() to .cpuidle.text section
commit 3e245b7b74c3a2ead5fa4bad27cc275284c75189 upstream.
Now arch_cpu_idle() is annotated with __cpuidle which means it is in
the .cpuidle.text section, but __arch_cpu_idle() isn't. Thus, fix the
missing .cpuidle.text section assignment for __arch_cpu_idle() in order
to correct backtracing with nmi_backtrace().
The principle is similar to the commit 97c8580e85 ("MIPS: Annotate
cpu_wait implementations with __cpuidle")
Cc: stable@vger.kernel.org
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
111e55db3c
commit
66a309b4d5
@@ -16,6 +16,7 @@
|
|||||||
#include <asm/stackframe.h>
|
#include <asm/stackframe.h>
|
||||||
#include <asm/thread_info.h>
|
#include <asm/thread_info.h>
|
||||||
|
|
||||||
|
.section .cpuidle.text, "ax"
|
||||||
.align 5
|
.align 5
|
||||||
SYM_FUNC_START(__arch_cpu_idle)
|
SYM_FUNC_START(__arch_cpu_idle)
|
||||||
/* start of idle interrupt region */
|
/* start of idle interrupt region */
|
||||||
@@ -31,14 +32,16 @@ SYM_FUNC_START(__arch_cpu_idle)
|
|||||||
*/
|
*/
|
||||||
idle 0
|
idle 0
|
||||||
/* end of idle interrupt region */
|
/* end of idle interrupt region */
|
||||||
1: jr ra
|
idle_exit:
|
||||||
|
jr ra
|
||||||
SYM_FUNC_END(__arch_cpu_idle)
|
SYM_FUNC_END(__arch_cpu_idle)
|
||||||
|
.previous
|
||||||
|
|
||||||
SYM_CODE_START(handle_vint)
|
SYM_CODE_START(handle_vint)
|
||||||
UNWIND_HINT_UNDEFINED
|
UNWIND_HINT_UNDEFINED
|
||||||
BACKUP_T0T1
|
BACKUP_T0T1
|
||||||
SAVE_ALL
|
SAVE_ALL
|
||||||
la_abs t1, 1b
|
la_abs t1, idle_exit
|
||||||
LONG_L t0, sp, PT_ERA
|
LONG_L t0, sp, PT_ERA
|
||||||
/* 3 instructions idle interrupt region */
|
/* 3 instructions idle interrupt region */
|
||||||
ori t0, t0, 0b1100
|
ori t0, t0, 0b1100
|
||||||
|
|||||||
Reference in New Issue
Block a user