aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Donnellan <andrew.donnellan@au1.ibm.com>2019-03-18 15:28:58 +1100
committerStewart Smith <stewart@linux.ibm.com>2019-03-28 15:24:13 +1100
commite5a7411cd74ea60892ea3bd6479e4c6d0e253eff (patch)
tree076d20d54afbe2372a9eebac5ae5b6f5ceec6233
parent8dddd751ef43a915dcd1856722139d041ff2db38 (diff)
downloadskiboot-e5a7411cd74ea60892ea3bd6479e4c6d0e253eff.zip
skiboot-e5a7411cd74ea60892ea3bd6479e4c6d0e253eff.tar.gz
skiboot-e5a7411cd74ea60892ea3bd6479e4c6d0e253eff.tar.bz2
core/stack: Convert stack check code to not use backtrace wrapper
We're about to get rid of __backtrace() and __print_backtrace(), convert the stack check code to not use them. Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
-rw-r--r--core/stack.c10
-rw-r--r--include/cpu.h2
2 files changed, 6 insertions, 6 deletions
diff --git a/core/stack.c b/core/stack.c
index f7eca1f..2e47cd4 100644
--- a/core/stack.c
+++ b/core/stack.c
@@ -175,13 +175,12 @@ void __nomcount __mcount_stack_check(uint64_t sp, uint64_t lr)
/* Capture lowest stack for this thread */
if (mark < c->stack_bot_mark) {
- unsigned int count = CPU_BACKTRACE_SIZE;
lock(&stack_check_lock);
c->stack_bot_mark = mark;
c->stack_bot_pc = lr;
c->stack_bot_tok = c->current_token;
- __backtrace(c->stack_bot_bt, &count);
- c->stack_bot_bt_count = count;
+ backtrace_create(c->stack_bot_bt, CPU_BACKTRACE_SIZE,
+ &c->stack_bot_bt_metadata);
unlock(&stack_check_lock);
}
@@ -232,8 +231,9 @@ void check_stacks(void)
" pc=%08llx token=%lld\n",
lowest->pir, lowest->stack_bot_mark, lowest->stack_bot_pc,
lowest->stack_bot_tok);
- __print_backtrace(lowest->pir, lowest->stack_bot_bt,
- lowest->stack_bot_bt_count, NULL, NULL, true);
+ backtrace_print(lowest->stack_bot_bt,
+ &lowest->stack_bot_bt_metadata,
+ NULL, NULL, true);
unlock(&stack_check_lock);
}
diff --git a/include/cpu.h b/include/cpu.h
index 06d5c0d..39071a1 100644
--- a/include/cpu.h
+++ b/include/cpu.h
@@ -81,7 +81,7 @@ struct cpu_thread {
uint64_t stack_bot_tok;
#define CPU_BACKTRACE_SIZE 60
struct bt_entry stack_bot_bt[CPU_BACKTRACE_SIZE];
- unsigned int stack_bot_bt_count;
+ struct bt_metadata stack_bot_bt_metadata;
#endif
struct lock job_lock;
struct list_head job_queue;