diff mbox series

[1/7] core/stack: Remove r1 argument from ___backtrace()

Message ID 20190318042900.32558-1-andrew.donnellan@au1.ibm.com
State Accepted
Headers show
Series [1/7] core/stack: Remove r1 argument from ___backtrace() | expand

Checks

Context Check Description
snowpatch_ozlabs/apply_patch success Successfully applied on branch master (2ba5ce84a197ee61423355f443a3ff3eea185ff1)
snowpatch_ozlabs/snowpatch_job_snowpatch-skiboot success Test snowpatch/job/snowpatch-skiboot on branch master
snowpatch_ozlabs/snowpatch_job_snowpatch-skiboot-dco success Signed-off-by present

Commit Message

Andrew Donnellan March 18, 2019, 4:28 a.m. UTC
___backtrace() is always called with r1 = __builtin_frame_address(0), and
it's unlikely we're going to need it to do something else any time soon, so
simplify the API by removing the parameter.

Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
---
 core/stack.c    | 6 ++----
 include/stack.h | 5 +----
 2 files changed, 3 insertions(+), 8 deletions(-)
diff mbox series

Patch

diff --git a/core/stack.c b/core/stack.c
index 3a86a3768655..5e4cf4bc0c53 100644
--- a/core/stack.c
+++ b/core/stack.c
@@ -28,11 +28,10 @@  static struct bt_entry bt_buf[STACK_BUF_ENTRIES];
 
 /* Dumps backtrace to buffer */
 void __nomcount ___backtrace(struct bt_entry *entries, unsigned int *count,
-				unsigned long r1,
 				unsigned long *token, unsigned long *r1_caller)
 {
 	unsigned int room = *count;
-	unsigned long *fp = (unsigned long *)r1;
+	unsigned long *fp = __builtin_frame_address(0);
 	unsigned long top_adj = top_of_ram;
 	struct stack_frame *eframe = (struct stack_frame *)fp;
 
@@ -128,8 +127,7 @@  void backtrace(void)
 
 	lock(&bt_lock);
 
-	___backtrace(bt_buf, &ents, (unsigned long)__builtin_frame_address(0),
-			&token, &r1_caller);
+	___backtrace(bt_buf, &ents, &token, &r1_caller);
 	___print_backtrace(mfspr(SPR_PIR), bt_buf, ents, token, r1_caller,
 			NULL, NULL, true);
 
diff --git a/include/stack.h b/include/stack.h
index 7578cc34517d..ae910a3211a0 100644
--- a/include/stack.h
+++ b/include/stack.h
@@ -118,15 +118,12 @@  extern void *boot_stack_top;
 
 /* Create a backtrace */
 void ___backtrace(struct bt_entry *entries, unsigned int *count,
-				unsigned long r1,
 				unsigned long *token, unsigned long *r1_caller);
 static inline void __backtrace(struct bt_entry *entries, unsigned int *count)
 {
 	unsigned long token, r1_caller;
 
-	___backtrace(entries, count,
-			(unsigned long)__builtin_frame_address(0),
-			&token, &r1_caller);
+	___backtrace(entries, count, &token, &r1_caller);
 }
 
 /* Convert a backtrace to ASCII */