diff options
author | Dean Sanner <dsanner@us.ibm.com> | 2018-02-01 09:53:30 -0600 |
---|---|---|
committer | Dean Sanner <dsanner@us.ibm.com> | 2018-02-13 06:38:43 -0500 |
commit | 305fcd051d535220f5372051cace8968d25f8491 (patch) | |
tree | e89ac2d7331a2c495735e9f45ba1af8a5767ea0a /src/usr/intr | |
parent | b3073568dbd8ec534ad77e0ed89c03e2cedfb160 (diff) | |
download | talos-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.C | 12 |
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 |