summaryrefslogtreecommitdiffstats
path: root/src/usr/mbox/ipcSp.C
Commit message (Collapse)AuthorAgeFilesLines
* Turn off core xstop escalalation on slave nodes prior payload handoffChristian Geddes2018-09-101-4/+10
| | | | | | | | | | | | | | | | | | | | | There was a bug in the code where we only were turning off core xstop escalation on the master node. This is because we were not using IPC to tell slave nodes they also need to do this. This commit re-adds the enableCoreCheckstop function to istep21 and adds it to part of the IPC_START_PAYLOAD message handler so this will happen prior to shutdown on all nodes. Change-Id: I0b601f379635107c851d6fc723b75a0ba21d1016 CQ: SW444801 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/65768 Reviewed-by: Dean Sanner <dsanner@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
* Save HRMOR in mbox scratch reg for IPC messagingPrachi Gupta2018-06-261-35/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to know where the IPC message of a given node is, we save off the HRMOR of every node in a hw register. Originally, we were saving this information in the core scratch register. Since, the core scratch registers are wiped off when the cores go into the winkle state, therefore, we were writing to the register after we come out of winkle. But, at that point, we ran into race conditions because other nodes could be ahead and try to access the register on a node that is not exactly out of winkle yet. This fixes the problems by using the mbox scratch register rather than the core scratch register because they are saved off even when the cores go into winkle state. Because the registers are preseved, we can set the value prior to cores coming out of winkle, so, we don't run into the race condition where one node is trying to read a value prior to the other one writing the value. Change-Id: I822bfc8defe09cbb418edc5f36a99b7cd41eec88 CQ:SW435271 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/61093 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Added in a sleep after we winkle in istep 18 to avoid race conditionsPrachi Gupta2018-06-201-0/+3
| | | | | | | | | | | | | | | | | | We are adding in a sleep to make sure that all the nodes are awake from the winkle prior to writing the HRMOR in the core scratch register for IPC to function properly. CQ:SW433411 Change-Id: I01eb6c1005047c4c6eebe5c15db083e6ec9df1e0 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/60992 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Disable-CI: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Fixes to node IPC messaging to handle non-zero base addressesBrian Bakke2018-06-071-1/+135
| | | | | | | | | | | | | | | | | | | | Current code has each Node calculate each Remote Node's IPC area remote address by performing a fixed format calculation. This change has each Node calculating its IPC area Remote address and posting this value to a local SCOM register. A Node reads a Remote Node's SCOM register to acquire the Remote IPC area address. Change-Id: I25260ce180e0d07e5e81990d4c1f99e249912491 RTC:191463 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59177 Tested-by: Jenkins Server <pfd-jenkins+hostboot@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: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Verify frequency attributes across nodes to match with that of master nodeSwathi Madhuri Bhattiprolu2018-05-161-0/+84
| | | | | | | | | | | | | | | | | | | | | -Existing code ensures consistency of frequency data across all modules in istep6.12. -In a multi-drawer config this data needs to be consistent across all drawers. -Master drawer sends the frequency data to all the other via IPC mechanism. -This data is compared and error is returned if there is a mismatch. Change-Id: Ia1daf1f0eeb90fbafb68417b979488b040efe535 RTC:158036 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/57542 Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Fix multinode Inst storage exception on runtime callDean Sanner2018-04-241-2/+3
| | | | | | | | | | | | Change-Id: I0d3e7c022d1a02e4d18242afa6140a26b66d822a Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/57579 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Multinode SBE Window SupportJaymes Wilks2018-04-131-2/+4
| | | | | | | | | | | | | | | | | | | Code for SP ATTN, COMM, and SBE FFDC areas has been extended to all chips/nodes. The COMM area base address calculation is now updated to use the lowest addressable location for the master node. Change-Id: Ib02e62958a520c60e4bcc5bd9d4c4257893adbd9 RTC:189038 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56614 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: ILYA SMIRNOV <ismirno@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Ensure runtime lib is loaded for IPC_POPULATE_TPM_INFO_BY_NODEDean Sanner2018-04-121-6/+40
| | | | | | | | | | | | | | | | | | Need to load the runtime lib before making calls to it in IPC otherwise slave nodes will see segfault and boot "hang" Only impacts multinode systems Change-Id: I292096256a33c35b1ddb03a6adf540b6e171abe1 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/57097 CI-Ready: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Marshall J. Wilks <mjwilks@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Revert "Verify frequency attributes across nodes"SWATHI M. BHATTIPROLU2018-04-091-76/+5
| | | | | | | | | | | | This reverts commit 571e1d84dfe50aaa674aa7e33abb75868b432d78. Change-Id: I8720246ef94be07ce0a37151b7209c8080320d59 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56933 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Propagate TPM information into HDAT on non-master nodesJaymes Wilks2018-04-061-2/+30
| | | | | | | | | | | | | | | | | | | | | | | Extends HDAT population to add TPM data to all functional nodes - Added message sends from the master to each node - Each node updates # of instances, sizes of structures, etc. - Each node navigates to its appropriate offset in HDAT - HDAT now populates entries for all TPMs in the blueprint - Physical presence interaction mechanism is master-only obtained - TPM SRTM and DRTM logs are no longer interlaced between TPM info - Single node workaround reverted Change-Id: Ic77cbeb7ba3d35a9f02ba68525ed79f27159e9bf RTC:167290 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/55283 Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: ILYA SMIRNOV <ismirno@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Verify frequency attributes across nodesSwathi Madhuri Bhattiprolu2018-04-051-4/+77
| | | | | | | | | | | | | | | | | | | | | | | -Existing code ensures consistency of frequency data across all modules in istep6.12. -In a multi-drawer config this data needs to be consistent across all drawers. -Master drawer sends the frequency data to all the other via IPC mechanism. -This data is compared and error is returned if there is a mismatch. Change-Id: I922d32456c9d3c4e53dae528f088dbb013c3ded9 RTC:158036 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/54825 CI-Ready: SWATHI M. BHATTIPROLU <bhmadhur@in.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Richard Ward <rward15@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Close and Disable TCEs on Non-Master NodesMike Baiocchi2018-03-291-2/+70
| | | | | | | | | | | | | | | | | | During istep21.1 this commit sends a message to all non-Master nodes to close and disable their TCEs using the ipc mailbox interface to the FSP. Change-Id: I5575228c9f237025a48e0aeca23e741724ec7886 RTC:187335 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56269 CI-Ready: Michael Baiocchi <mbaiocch@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: ILYA SMIRNOV <ismirno@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Support sending chip info to SBEs on multinodeDean Sanner2018-02-281-1/+90
| | | | | | | | | | | | | | | | | | | | Existing code didn't support collecting the present chips on all nodes (Hostboot instances) and updating all SBEs with a system wide view. For non multi drawer configs it will just update based on HB instance view. For multi drawer configs the other hostboot instances will be queried for their configs, aggregated, and then informed of the system wide view via IPC commnuication. Change-Id: I45c5673df26f940de212cbe2b54525e32c9147ab Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53603 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-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> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Fixes for multinode istep 21.1Dean Sanner2018-02-061-18/+36
| | | | | | | | | | | | | | | -Reordered start_payload to ensure that common things like disabling special wakeup, closing down SBE windows, core xstop, and clearing PM bars are executed as part of our shutdown path -Due to above, needed to correct shared libs loaded on non master HB instance -Added back in the P8 code to pass the payload base to slave HB Instances on populate attr IPC message Change-Id: I5371b9daf7a4e1aadd1743badcd4219604a38ce7 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53343 Tested-by: William G. Hoffa <wghoffa@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Enable multi-drawer hdat constructionRichard J. Knight2018-02-061-5/+3
| | | | | | | | | | | | | | | | | | | | | -Enable IPC message to drawers to populate hdat -Update HDAT HB reserved memory pointer allocation to be based on the number of drawers in the system -Modify reserved memory pointer allocator to allow drawer specific range of reserved memory pointers -Duplicate data in hdat will be resolved with a follow on commit. Change-Id: I8093a0aac36fbd3d6642db6a1595caa020fd6e78 RTC:186290 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/52655 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Multi-Drawer (IPC) Interrupt/Messaging SupportBill Hoffa2018-01-251-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | - Use doorbells instead of IPIs (no IPI support using LSI interupts in the XIVE intr architecture) - New message type from kernel to userspace so the kernel can notify the HB userspace Interrupt Resource Provider (INTRP) that an IPC message was sent to the particular HB instance (in P8 this happened automatically as that was part of the IPI architecture). - Re-enable testcase that validates that an IPC message can be successfully sent. Change-Id: Ic846f8dca45217205ed61d8381a573e995cb16f2 RTC: 150861 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/52004 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Remove all compile dependencies on old fapiPrachi Gupta2015-12-111-3/+4
| | | | | | | Change-Id: Ia1633645fe2b294fecd15a8ede67983b86d3549c Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/22283 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* P9 Isteps: Created directory structure for istep 21 wrappersPrachi Gupta2015-12-111-3/+3
| | | | | | | | | Change-Id: Ie9760711a21d3965579e7f6f4854839b8e474e54 RTC:137652 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/21503 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Stop IPLing in IpcSp::messageHandler if there is an errorPrachi Gupta2014-09-261-2/+11
| | | | | | | | | | | CQ: SW278972 Backport: release-fips820 Change-Id: I1c93de796b9ae953b7060b6efdb33c7dea10554b Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/13526 Tested-by: Jenkins Server Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Reviewed-by: STEPHEN M. CPREK <smcprek@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Set payload base address correctly on slave nodesDoug Gilbert2014-06-241-0/+3
| | | | | | | | | Change-Id: I6cc9f135a5f79b524db673f0f4563466b1d52202 CQ: SW266592 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/11764 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Change copyright prolog for all files to Apache.Patrick Williams2014-05-211-10/+10
| | | | | | | Change-Id: I5664587b4f889099290ef50d50fa9ce5e580e1eb Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/11167 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Handle pending interrupts across nodes in mpiplDoug Gilbert2014-03-021-0/+9
| | | | | | | | | RTC: 80988 Change-Id: I7ef9feaa3d163d6956576f30538e2fe001e892a1 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/8441 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* implement start_payload for multi-drawerDoug Gilbert2014-01-101-0/+54
| | | | | | | | RTC: 71994 Change-Id: I422f349d5588731a5e7cfc504d96e497958d6b95 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/7426 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Remove leftover fixme/todo and update error calloutsDan Crowell2014-01-101-3/+14
| | | | | | | | | | | | | | | | Remove all untagged fixme/todo comments Adde new parm to error log constructor to avoid extra code in common software error case Update error callouts Add strncpy Change-Id: I8bd8f48193a96b79db91ed35c4fd485e6da38dba RTC: 67921 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/7921 Tested-by: Jenkins Server Reviewed-by: Michael Baiocchi <baiocchi@us.ibm.com> Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* istep 18.12 hb changesayma2014-01-101-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | 18.12. host_coalesce_host : Re-activate Hostboot images a) FSP sends each Hostboot image a mailbox .wakeup. message This places an a pending interrupt to the EX, but it is blocked by the .block wakeup. sources b) FSP then removes the block wakeup sources (master processor last) p8_block_wakeup_intr.C -reset This removes the block wakeup sources and allows hostboot to receive (and exit winkle) the pending mailbox message c) HB instance will wake up (un-winkle) its master core, thread 0 d) Hostboot will then issue IPIs to all threads in its instance e) Hostboot will establish IPC between each of the HB entities On failure system will xstop or TI No sync point with the FSP RTC: 89024 Change-Id: I747873d0b5c38f8c440a8546d44be2b8e94bce2e Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/7395 Tested-by: Jenkins Server Reviewed-by: Brian H. Horton <brianh@linux.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
* Populate hb attributes across drawersDoug Gilbert2013-07-101-0/+164
RTC: 50866 Change-Id: Ia5cd58d7ccf90a14f391ed87943fd09cddbb040e Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4820 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
OpenPOWER on IntegriCloud