---
arch/arm64/kernel/entry.S | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S
index fa76ad1..4ae6cf3 100644
--- a/arch/arm64/kernel/entry.S
+++ b/arch/arm64/kernel/entry.S
@@ -126,6 +126,17 @@
str x21, [sp, #S_SYSCALLNO]
.endif
+#ifdef CONFIG_IPIPE_TRACE
+ mov x0, #1
+ mov x3, #0x90000000
+ ldr x2, [sp, #S_PC]
+ mov x1, #0
+ bl ipipe_trace_asm
+ ldp x0, x1, [sp]
+ ldp x2, x3, [sp, #S_X2]
+ ldp x4, x5, [sp, #S_X4]
+ ldp x6, x7, [sp, #S_X6]
+#endif
/*
* Registers that may be useful after this macro is invoked:
*
@@ -136,6 +147,21 @@
.endm
.macro kernel_exit, el, ret = 0
+
+#ifdef CONFIG_IPIPE_TRACE
+ .if \ret
+ mov x19, x0
+ .endif
+ mov x0, #2
+ mov x3, #0x90000000
+ ldr x2, [sp, #S_PC]
+ mov x1, #0
+ bl ipipe_trace_asm
+ .if \ret
+ mov x0, x19
+ .endif
+#endif
+
ldp x21, x22, [sp, #S_PC] // load ELR, SPSR
.if \el == 0
ct_user_enter
--
1.8.4
_______________________________________________
Xenomai mailing list
[email protected]
http://xenomai.org/mailman/listinfo/xenomai