Commit 3e245b7b authored by Huacai Chen's avatar Huacai Chen
Browse files

LoongArch: Move __arch_cpu_idle() to .cpuidle.text section



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 97c8580e ("MIPS: Annotate
cpu_wait implementations with __cpuidle")

Cc: stable@vger.kernel.org
Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
parent 90436d23
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
#include <asm/stackframe.h>
#include <asm/thread_info.h>

	.section .cpuidle.text, "ax"
	.align	5
SYM_FUNC_START(__arch_cpu_idle)
	/* start of idle interrupt region */
@@ -31,14 +32,16 @@ SYM_FUNC_START(__arch_cpu_idle)
	 */
	idle	0
	/* end of idle interrupt region */
1:	jr	ra
idle_exit:
	jr	ra
SYM_FUNC_END(__arch_cpu_idle)
	.previous

SYM_CODE_START(handle_vint)
	UNWIND_HINT_UNDEFINED
	BACKUP_T0T1
	SAVE_ALL
	la_abs	t1, 1b
	la_abs	t1, idle_exit
	LONG_L	t0, sp, PT_ERA
	/* 3 instructions idle interrupt region */
	ori	t0, t0, 0b1100