From 80a49c7022b2241b09270ca8dfd8892e5bdc9803 Mon Sep 17 00:00:00 2001 From: Andrew Donnellan Date: Mon, 18 Mar 2019 15:28:56 +1100 Subject: core/stack: Store PIR in ___backtrace() In ___backtrace(), store the current PIR in the metadata struct, rather than relying on the caller to do it. Signed-off-by: Andrew Donnellan Signed-off-by: Stewart Smith --- core/stack.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/stack.c b/core/stack.c index 773d91e3..f7eca1ff 100644 --- a/core/stack.c +++ b/core/stack.c @@ -57,6 +57,8 @@ void __nomcount ___backtrace(struct bt_entry *entries, unsigned int max_ents, metadata->token = eframe->gpr[0]; else metadata->token = -1UL; + + metadata->pir = mfspr(SPR_PIR); } void ___print_backtrace(struct bt_entry *entries, struct bt_metadata *metadata, @@ -121,9 +123,7 @@ struct lock bt_lock = LOCK_UNLOCKED; void backtrace(void) { - struct bt_metadata metadata = { - .pir = mfspr(SPR_PIR), - }; + struct bt_metadata metadata; lock(&bt_lock); -- cgit v1.2.1