summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Donnellan <andrew.donnellan@au1.ibm.com>2019-03-18 15:28:57 +1100
committerStewart Smith <stewart@linux.ibm.com>2019-03-28 15:24:12 +1100
commit8dddd751ef43a915dcd1856722139d041ff2db38 (patch)
tree52cd5cc81692c95ee49f09af30f67397bbbdcf24
parent80a49c7022b2241b09270ca8dfd8892e5bdc9803 (diff)
downloadblackbird-skiboot-8dddd751ef43a915dcd1856722139d041ff2db38.tar.gz
blackbird-skiboot-8dddd751ef43a915dcd1856722139d041ff2db38.zip
hw/fsp, hw/ipmi: Convert attn code to not use backtrace wrappers
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> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
-rw-r--r--hw/fsp/fsp-attn.c10
-rw-r--r--hw/ipmi/ipmi-attn.c9
2 files changed, 10 insertions, 9 deletions
diff --git a/hw/fsp/fsp-attn.c b/hw/fsp/fsp-attn.c
index ff702ab2..6774dd84 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 8ff872c6..84071884 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);
OpenPOWER on IntegriCloud