From c9bc52a250a0f15e75b10670165f8e518a845b68 Mon Sep 17 00:00:00 2001 From: Andrew Donnellan Date: Mon, 18 Mar 2019 15:28:54 +1100 Subject: core/stack: Remove r1 argument from ___backtrace() ___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 Signed-off-by: Stewart Smith --- core/stack.c | 6 ++---- include/stack.h | 5 +---- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/core/stack.c b/core/stack.c index 3a86a376..5e4cf4bc 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 7578cc34..ae910a32 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 */ -- cgit v1.2.1