All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] cobalt/arch/arm: arith: Avoid r7 usage in helpers
@ 2021-08-09 15:18 Jan Kiszka
  0 siblings, 0 replies; only message in thread
From: Jan Kiszka @ 2021-08-09 15:18 UTC (permalink / raw)
  To: Xenomai

From: Jan Kiszka <jan.kiszka@siemens.com>

Since gcc-9, direct usage of r7 is in conflict with compiler
allocations. Skip it.

This pushes mach_arm_nodiv_llimd beyond r10. r11 is reserved as frame
pointer, but r12 should be fine between function calls and long branches
like in this case.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---

Changes in v2:
 - use r12 instead of r11

 .../arch/arm/include/asm/xenomai/uapi/arith.h      | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/kernel/cobalt/arch/arm/include/asm/xenomai/uapi/arith.h b/kernel/cobalt/arch/arm/include/asm/xenomai/uapi/arith.h
index cf897b44fa..cb7fb4aa15 100644
--- a/kernel/cobalt/arch/arm/include/asm/xenomai/uapi/arith.h
+++ b/kernel/cobalt/arch/arm/include/asm/xenomai/uapi/arith.h
@@ -79,9 +79,9 @@ mach_arm_nodiv_ullimd(const unsigned long long op,
 	register unsigned frach __asm__ ("r3");
 	register unsigned integ __asm__("r4") = rhs_integ;
 	register unsigned opl __asm__ ("r6");
-	register unsigned oph __asm__ ("r7");
-	register unsigned tl __asm__("r8");
-	register unsigned th __asm__("r9");
+	register unsigned oph __asm__ ("r8");
+	register unsigned tl __asm__("r9");
+	register unsigned th __asm__("r10");
 
 	xnarch_u64tou32(op, oph, opl);
 	xnarch_u64tou32(frac, frach, fracl);
@@ -109,10 +109,10 @@ mach_arm_nodiv_llimd(const long long op,
 	register unsigned frach __asm__ ("r3");
 	register unsigned integ __asm__("r4") = rhs_integ;
 	register unsigned opl __asm__ ("r6");
-	register unsigned oph __asm__ ("r7");
-	register unsigned tl __asm__("r8");
-	register unsigned th __asm__("r9");
-	register unsigned s __asm__("r10");
+	register unsigned oph __asm__ ("r8");
+	register unsigned tl __asm__("r9");
+	register unsigned th __asm__("r10");
+	register unsigned s __asm__("r12");
 
 	xnarch_u64tou32(op, oph, opl);
 	xnarch_u64tou32(frac, frach, fracl);
-- 
2.31.1


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2021-08-09 15:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-09 15:18 [PATCH v2] cobalt/arch/arm: arith: Avoid r7 usage in helpers Jan Kiszka

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.