diff mbox series

[4/7] hw/fsp, hw/ipmi: Convert attn code to not use backtrace wrappers

Message ID 20190318042900.32558-4-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
We're about to get rid of __backtrace() and __print_backtrace(), convert
the FSP/IPMI attn code to not use them.

Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
---
 hw/fsp/fsp-attn.c   | 10 +++++-----
 hw/ipmi/ipmi-attn.c |  9 +++++----
 2 files changed, 10 insertions(+), 9 deletions(-)
diff mbox series

Patch

diff --git a/hw/fsp/fsp-attn.c b/hw/fsp/fsp-attn.c
index ff702ab2602c..6774dd84cee7 100644
--- a/hw/fsp/fsp-attn.c
+++ b/hw/fsp/fsp-attn.c
@@ -92,7 +92,8 @@  static void update_sp_attn_area(const char *msg)
 {
 #define STACK_BUF_ENTRIES	20
 	struct bt_entry bt_buf[STACK_BUF_ENTRIES];
-	unsigned int ent_cnt, len;
+	struct bt_metadata metadata;
+	unsigned int len;
 
 	if (!fsp_present())
 		return;
@@ -105,11 +106,10 @@  static void update_sp_attn_area(const char *msg)
 		cpu_to_be32((uint32_t)((uint64_t)__builtin_return_address(0) & 0xffffffff));
 
 	snprintf(ti_attn->msg.version, VERSION_LEN, "%s", version);
-	ent_cnt = STACK_BUF_ENTRIES;
-	__backtrace(bt_buf, &ent_cnt);
+	___backtrace(bt_buf, STACK_BUF_ENTRIES, &metadata);
+	metadata.token = OPAL_LAST + 1;
 	len = BT_FRAME_LEN;
-	__print_backtrace(mfspr(SPR_PIR), bt_buf, ent_cnt,
-			  ti_attn->msg.bt_buf, &len, false);
+	___print_backtrace(bt_buf, &metadata, ti_attn->msg.bt_buf, &len, false);
 	snprintf(ti_attn->msg.file_info, FILE_INFO_LEN, "%s", msg);
 
 	ti_attn->msg_len = VERSION_LEN + BT_FRAME_LEN +
diff --git a/hw/ipmi/ipmi-attn.c b/hw/ipmi/ipmi-attn.c
index 8ff872c62669..8407188401a3 100644
--- a/hw/ipmi/ipmi-attn.c
+++ b/hw/ipmi/ipmi-attn.c
@@ -38,7 +38,7 @@  static struct bt_entry bt_buf[STACK_BUF_ENTRIES];
 /* Log eSEL event with OPAL backtrace */
 static void ipmi_log_terminate_event(const char *msg)
 {
-	unsigned int bt_entry_cnt = STACK_BUF_ENTRIES;
+	struct bt_metadata metadata;
 	unsigned int ti_len;
 	unsigned int ti_size;
 	struct errorlog *elog_buf;
@@ -53,9 +53,10 @@  static void ipmi_log_terminate_event(const char *msg)
 	ti_size = IPMI_TI_BUFFER_SIZE - ti_len;
 
 	/* Backtrace */
-	__backtrace(bt_buf, &bt_entry_cnt);
-	__print_backtrace(mfspr(SPR_PIR), bt_buf, bt_entry_cnt,
-			  ti_buffer + ti_len, &ti_size, true);
+	___backtrace(bt_buf, STACK_BUF_ENTRIES, &metadata);
+	metadata.token = OPAL_LAST + 1;
+	___print_backtrace(bt_buf, &metadata, ti_buffer + ti_len, &ti_size,
+			   true);
 
 	/* Create eSEL event and commit */
 	elog_buf = opal_elog_create(&e_info(OPAL_RC_ATTN), 0);