summaryrefslogtreecommitdiffstats
path: root/src/usr/intr
diff options
context:
space:
mode:
authorDean Sanner <dsanner@us.ibm.com>2018-02-01 09:53:30 -0600
committerDean Sanner <dsanner@us.ibm.com>2018-02-13 06:38:43 -0500
commit305fcd051d535220f5372051cace8968d25f8491 (patch)
treee89ac2d7331a2c495735e9f45ba1af8a5767ea0a /src/usr/intr
parentb3073568dbd8ec534ad77e0ed89c03e2cedfb160 (diff)
downloadtalos-hostboot-305fcd051d535220f5372051cace8968d25f8491.tar.gz
talos-hostboot-305fcd051d535220f5372051cace8968d25f8491.zip
Updates to make multinode IPC work
-Fixed node/group id calculations -Reduced dbell printk to prevent printk overflow -Fixed architectual hole in how internode IPC works Workitems won't work, instead just always check for IPC on any doorbells to master thread -Changed PIR tracing to print out in hex Change-Id: I25eb7f87fd812a90f98a7724b1ac1100f764fe7b Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53187 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Dean Sanner <dsanner@us.ibm.com>
Diffstat (limited to 'src/usr/intr')
-rw-r--r--src/usr/intr/intrrp.C12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/usr/intr/intrrp.C b/src/usr/intr/intrrp.C
index a076e0fb5..d5f00f8ef 100644
--- a/src/usr/intr/intrrp.C
+++ b/src/usr/intr/intrrp.C
@@ -937,7 +937,7 @@ void IntrRp::msgHandler()
TRACFCOMP(g_trac_intr,INFO_MRK
"IntrRp::msgHandler Doorbell IPC msg received"
- " for %d", l_xirr_pir);
+ " for %x", l_xirr_pir);
// Now handle any IPC messages
// If something is registered for the IPC msg
@@ -1000,6 +1000,12 @@ void IntrRp::msgHandler()
"to handle it. Ignoring it.");
}
+ // Always acknowlege msg to kernel
+ // kernel expects rc in data[1]
+ // rc of 0 means a successful return
+ msg->data[1] = 0;
+ msg_respond(iv_msgQ, msg);
+
if (l_err)
{
l_err->collectTrace(INTR_COMP_NAME, 256);
@@ -1212,18 +1218,18 @@ void IntrRp::msgHandler()
}
break;
-#ifdef CONFIG_MPIPL_ENABLED //TODO RTC 134431
case MSG_INTR_ADD_HBNODE: // node info for mpipl
{
+#ifdef CONFIG_MPIPL_ENABLED //TODO RTC 134431
errlHndl_t err = addHbNodeToMpiplSyncArea(msg->data[0]);
if(err)
{
errlCommit(err,INTR_COMP_ID);
}
+#endif
msg_free(msg); // async message
}
break;
-#endif
case MSG_INTR_DRAIN_QUEUE:
{
//The purpose of this message is allow the
OpenPOWER on IntegriCloud