summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Donnellan <andrew.donnellan@au1.ibm.com>2019-03-18 15:28:56 +1100
committerStewart Smith <stewart@linux.ibm.com>2019-03-28 15:24:12 +1100
commit80a49c7022b2241b09270ca8dfd8892e5bdc9803 (patch)
tree390dfb2731bf1952200c1b63c058c030016c4c41
parentb971b67ac2e10880c490e73be99fdeb9731bd395 (diff)
downloadblackbird-skiboot-80a49c7022b2241b09270ca8dfd8892e5bdc9803.tar.gz
blackbird-skiboot-80a49c7022b2241b09270ca8dfd8892e5bdc9803.zip
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 <andrew.donnellan@au1.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
-rw-r--r--core/stack.c6
1 files 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);
OpenPOWER on IntegriCloud