[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20211223025658.3768629-1-xukuohai@huawei.com>
Date: Thu, 23 Dec 2021 02:56:58 +0000
From: Xu Kuohai <xukuohai@...wei.com>
To: <linux-arm-kernel@...ts.infradead.org>, <linux@...linux.org.uk>,
<linux-kernel@...r.kernel.org>
Subject: [PATCH RESEND] ARM: Add unwinding annotations to __loop.*delay functions
The unwind directives can't handle nested function entries, so only the
outermost function __loop_udelay is annotated, and the inner nested
entries share the same unwind info with __loop_udelay.
Signed-off-by: Xu Kuohai <xukuohai@...wei.com>
---
arch/arm/lib/delay-loop.S | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/arch/arm/lib/delay-loop.S b/arch/arm/lib/delay-loop.S
index 3ccade0f8130..f0a076f9abc5 100644
--- a/arch/arm/lib/delay-loop.S
+++ b/arch/arm/lib/delay-loop.S
@@ -7,6 +7,7 @@
#include <linux/linkage.h>
#include <asm/assembler.h>
#include <asm/delay.h>
+#include <asm/unwind.h>
.text
@@ -21,6 +22,7 @@
*/
ENTRY(__loop_udelay)
+UNWIND(.fnstart)
ldr r2, .LC1
mul r0, r2, r0 @ r0 = delay_us * UDELAY_MULT
ENTRY(__loop_const_udelay) @ 0 <= r0 <= 0xfffffaf0
@@ -54,6 +56,7 @@ ENTRY(__loop_delay)
#endif
bhi __loop_delay
ret lr
-ENDPROC(__loop_udelay)
-ENDPROC(__loop_const_udelay)
ENDPROC(__loop_delay)
+ENDPROC(__loop_const_udelay)
+UNWIND(.fnend)
+ENDPROC(__loop_udelay)
--
2.27.0
Powered by blists - more mailing lists