summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/nvdimm
Commit message (Collapse)AuthorAgeFilesLines
...
* In regards to health check errors, removed the software calloutRoland Veloz2019-08-211-4/+4
| | | | | | | | | | | | | | | | | Software callouts, ADD_SW_CALLOUT, where added to the error logs for errors associated with the health check status when they should not have. Changed them to NO_SW_CALLOUT. Change-Id: Iccf5289a38053aa3eccaa59b200a99fa1f14f83b CQ: SW473391 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82540 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Corey V Swenson <cswenson@us.ibm.com> Reviewed-by: Christian R Geddes <crgeddes@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> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* Enable BPM UpdatesMatthew Raybuck2019-08-202-395/+881
| | | | | | | | | | | | | | | | This commit turns on BPM updates and fixes several issues that were preventing them from occuring successfully. Change-Id: I2aa544c59f04fcc06bf7f10bdff5026579d7f053 RTC:212448 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82487 Reviewed-by: Roland Veloz <rveloz@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: Daniel M Crowell <dcrowell@us.ibm.com>
* Fix NVDIMM update error log commentsCorey Swenson2019-08-201-17/+17
| | | | | | | | | | | | | | First line of error log comment must include /*@ or error log will not be documented. Also fixed in other HB files. Change-Id: Ifa5eba6d6abd7f8565a4cc8d62a25a2b833725f2 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82497 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E Bofferding <bofferdn@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* Fix retry failure in nvdimmWriteData()Matt Derksen2019-08-191-3/+6
| | | | | | | | | | | | | | | | Need to create a local variable for i_dataLen, because deviceOp will alter the i_dataLen value on failure (ie NACK). Change-Id: If73efb77a1ba918fbc1bb7decd8fb46a5d2014b9 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82344 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: TSUNG K YEUNG <tyeung@us.ibm.com> Reviewed-by: Matthew Raybuck <matthew.raybuck@ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* Add attribute to force/skip BPM updatesMatthew Raybuck2019-08-191-7/+72
| | | | | | | | | | | | | | | | | Adds a new attribute ATTR_BPM_UPDATE_OVERRIDE to override the default update behavior. Updates can be forced, skipped, and the firmware and config portion of the updates can be individually forced or skipped. Change-Id: I1d50ab60d18a0511466f1551108755ef9f70cf35 RTC:212448 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82263 Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R Geddes <crgeddes@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>
* Correct BPM update flow to match SMARTs flowMatthew Raybuck2019-08-192-170/+540
| | | | | | | | | | | | | | | | | | Corrects the update flow for the BPM to match the flow given by SMART. This commit also pulls out the firmware and config update procedures into their own functions as well as fix a few bugs in the verifyBlockWrite function. Change-Id: Ia7950078112e1ad54ef63594efa010b06460513a RTC:212448 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82219 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: Christian R Geddes <crgeddes@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* Add code to run BPM update procedure from nvdimm_update.CMatthew Raybuck2019-08-192-21/+187
| | | | | | | | | | | | | | | | | Adds the necessary code to hook the existing BPM update code into istep 21. The BPM update will be called in nvdimm_update.C after the nvdimm updates have occurred. Change-Id: If968313433bfdfbbbb929874de6eb0bf4d21b241 RTC: 212448 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79640 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: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* Added error checking and handling to nvdimm iplMatthew Hickman2019-08-1912-233/+2372
| | | | | | | | | | | | Change-Id: I153cf39cc674b49441b5f41f7b96cd667b2a265b Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/77543 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: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: TSUNG K YEUNG <tyeung@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* NVDIMM: Fix issue where a deviceRead of a register is returning bad dataRoland Veloz2019-08-094-4/+117
| | | | | | | | | | | | | | | | | | | The reason the deviceRead is returning bad data, from an NVDIMM register, is because the register data is segmented across several pages. One must first set the page correctly before attempting to do a read of a register. This fix will set the page up correctly before doing a read/write to an NVDIMM register. Change-Id: Ic63c8671c0083f1ca243f255a29d1ef4606b7ce5 CQ: SW465917 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/81542 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Matthew Raybuck <matthew.raybuck@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: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* Fix to not send a NVDIMM protection state change to OPALRoland Veloz2019-08-091-1/+6
| | | | | | | | | | | | | | | | | | | There is a firmware request call, within the notifyNvdimmProtectionChange method, that needs to be guarded such that the message is NOT sent to OPAL. A guard has been placed in the call so the notification is only sent to PHYP and not OPAL. Change-Id: Ib17dd8f3bb20d4d40bf163760da4b4b3c835ff70 CQ:SW471511 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/81976 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: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* Add multiple error handling to BPM update procedureMatthew Raybuck2019-08-091-12/+54
| | | | | | | | | | | | | | | | | | There are a few function in bpm_update.C that can fail multiple times due to attempts to recover the BPM and/or the update procedure. This commit adds a helper function that will link errors together and commit the extra ones right away. Change-Id: I24bb0eb7d24ec96c49a16165349d6dd6230bae87 RTC:212447 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/81772 Reviewed-by: Christian R Geddes <crgeddes@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@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: Daniel M Crowell <dcrowell@us.ibm.com>
* Add error logs to BPM update procedureMatthew Raybuck2019-08-091-22/+281
| | | | | | | | | | | | | | | | Adds error logs throughout various locations in the code in bpm_update.C that were not included in prior commits. Change-Id: Id547744c48b8654120f57a1a356db8defa5aa9ec RTC: 212447 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/81507 Reviewed-by: Roland Veloz <rveloz@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: Daniel M Crowell <dcrowell@us.ibm.com>
* Add update verification and recovery proceduresMatthew Raybuck2019-08-092-32/+274
| | | | | | | | | | | | | | | | | Adds in retry loops, and various other processes to attempt to recover from a failure during the update process. A future commit will add errors to the bad paths. Change-Id: Ib974badee9e5ac0fea28a966b6777ef9d17384ec RTC: 212447 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/81271 Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R Geddes <crgeddes@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>
* Add BPM config update procedureMatthew Raybuck2019-08-094-268/+1662
| | | | | | | | | | | | | | | | | | Adds the config portion of the BPM updates. This includes missing requirements from BSL version 1.4. Currently, only BSL 1.4 is supported by the BPM update procedure. If a BSL version is unsupported, then the update will be skipped. Change-Id: I063786bad0723441da52db95b815a32b6498df4c RTC: 212446 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80925 Reviewed-by: Christian R Geddes <crgeddes@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@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> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* NVDIMM unlock error DELAYED_DECONFIGCorey Swenson2019-08-061-1/+1
| | | | | | | | | | | | | | | | DECONFIG on NVDIMM callout is not garded on reconfig boot, needs to be DELAYED_DECONFIG Change-Id: I80577736f07dab16a20938707d7dfcf7003c9d72 CQ:SW471228 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/81726 Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* Added support for checking on the health status of an NVDIMMRoland Veloz2019-07-311-0/+321
| | | | | | | | | | | | | | | | | | | | | | * The check for the health status piggy backs off the current NVDIMM operation interface. * Added the method doNvDimmCheckHealthStatus to perform the health check status of the individual NVDIMMs. * Added wrapper methods nvDimmCheckHealthStatusOnSystem and nvdimmCheckHealthStatus that call the doNvDimmCheckHealthStatus * Added an interface in the runtime commands to call make the check health status call. Change-Id: Iefa1fcf5cb6a13c496fd776cdc34ade58ae0612b CQ:SW469962 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80589 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: Corey V Swenson <cswenson@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* Miscellaneous NVDIMM cleanupCorey Swenson2019-07-313-12/+17
| | | | | | | | | | | | | | | | - Move constants to .C file - Use constants for NVDIMM states - Clean up rt_cmds NVDIMM protection function Change-Id: I3ff81c76971e962eb99e2f3b6ea1f109355d337a Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/81261 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: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* Invalidate BAR during MPIPL NVDIMM restoreTsung Yeung2019-07-241-0/+45
| | | | | | | | | | | | | | | | This is a preventive measure to avoid access from the proc to step on the restore. Change-Id: I8d190f1cf2d49663ee40caaae56cb3b63e7b5d0c CQ:SW470208 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80571 Reviewed-by: Matt Derksen <mderkse1@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: Corey V Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* Add BPM firmware update procedureMatthew Raybuck2019-07-236-2/+1856
| | | | | | | | | | | | | | | | | | Adds the necessary code to update the firmware data of the BPM. This commit doesn't support the config data portion of the update. The BPM code hasn't been hooked into the existing NVDIMM code yet either. These things, along with error paths, will be added in future commits. Change-Id: I11aa8b8afda26a093682765e488a4de0e31c0f6c RTC:210367 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79277 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@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>
* Add option to factory reset nvdimmsDan Crowell2019-07-162-5/+113
| | | | | | | | | | | | | Added a factory reset function along with a overridable attribute (ATTR_FORCE_NVDIMM_RESET) to trigger the reset during boot. Change-Id: Ib39675e53d693ede897ace0f4432e104dcf8062e Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80293 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>
* Double nvdimm ops timeout values to accommodate encryptionTsung Yeung2019-07-111-1/+6
| | | | | | | | | | | | | | | | Encryption requires additional time on certain ops which pushes the time required close to the timeout value. Double the timeout values for safety margins. Change-Id: Idcd147fe613059cb03592d46b36537e882b8e7f2 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80242 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: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Deconfig dimms when nvdimm encryption unlock failsCorey Swenson2019-07-101-2/+6
| | | | | | | | | | | | | Change-Id: I7c9c7a9d7923f96816e4baf82443855fb64aaa03 CQ:SW469507 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80164 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: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Move gen_keys and encrypt_unlock from istep 14 to 13Corey Swenson2019-07-101-0/+6
| | | | | | | | | | | | | | | Need to unlock nvdimm encryption before draminit. CQ:SW469239 Change-Id: Ib8d228470431082f3450cdeb52cfef1c7cff18dc Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79873 Tested-by: Jenkins Server <pfd-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> 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: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Fix send_ATTR_NVDIMM_ARMED function to send armed attr to HWSVCorey Swenson2019-07-091-1/+1
| | | | | | | | | | | | | Change-Id: I1bac1d632a0d37f7c97ed5b54de28feac7ab5e4e CQ:SW469679 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80083 Reviewed-by: Roland Veloz <rveloz@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: Dean Sanner <dsanner@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* Change polling condition to avoid premature timeout errorTsung Yeung2019-07-021-1/+1
| | | | | | | | | | | | | Restore with encryption requires longer time and could be hitting timeout value. Modify the polling condition to allow one extra iteration as buffer. Change-Id: Ib69774a67062be7d9d57a6880b9a31155a84d11b Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79876 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>
* Push ATTR_NVDIMM_ARMED down to FSP to handle MPIPL caseDan Crowell2019-07-011-5/+70
| | | | | | | | | | | | | | | If the NVDIMM is not armed when the save/flush call is made during a mpipl reboot, it will cause errors in the memory. To avoid this we need HBRT to push down the armed state to the FSP so that HWSV can skip the save call in the case where the NVDIMM is not armed. Change-Id: I16611e8fcb5274c3cb0aee6fec1300a95579b11b Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79825 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>
* Turn off NVDIMM debug trace outputMatthew Raybuck2019-07-012-3/+3
| | | | | | | | | | | | Change-Id: I8b0e17cd2f7549b9372fd93feca9bcef4106aa33 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79631 Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-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: Daniel M. Crowell <dcrowell@us.ibm.com>
* Remove dependency on ATTR_NVDIMM_ENCRYPTION_ENABLE for unlockCorey Swenson2019-07-014-67/+66
| | | | | | | | | | | | | | | | | An eflash will set ATTR_NVDIMM_ENCRYPTION_ENABLE = 0, so only use HW encryption enabled to decide whether to unlock. Also need to unlock whenever the nvdimm controller is reset. Change-Id: I1505573283da5611354dcfb296b1cf488fa8aef9 CQ:SW469014 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79674 Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-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: Daniel M. Crowell <dcrowell@us.ibm.com>
* Call notifyNvdimmProtectionChange function during IPLCorey Swenson2019-07-012-235/+240
| | | | | | | | | | | | | | | The function updates ATTR_NVDIMM_ARMED and ATTR_NV_STATUS_FLAG. These need to be kept up-to-date during IPL as well as runtime. Change-Id: If2e8ce9bcc78fb54a0852d3d42753898c199570f Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79472 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: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Fix memory leak in nvdimm_update.CMatthew Raybuck2019-06-251-0/+18
| | | | | | | | | | | | Change-Id: I9e5574680ec0e48df560a72844cab3a641e14dd1 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79351 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@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>
* Move the NVDIMM_ARMED attribute from PROC to DIMM typeCorey Swenson2019-06-212-28/+7
| | | | | | | | | | | | | | | | The attribute holds status for armed/occ_active/errors. As DIMM type it will more accurately reflect nvdimm status. Removed the workaround using the scratch register. RTC:211510 Change-Id: I8a1c686773fc7d9ba4d2788dc788764f5170c136 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79068 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>
* Handle unsupported status bit for NVDIMM Encrytion StatusDan Crowell2019-06-211-3/+9
| | | | | | | | | | | | | | | | | The new NVDIMM FW level added an additional bit to the status register. We don't care about this bit so added a check mask to ignore it when we check the status of the encryption operations. Change-Id: I67ddd087ff8d04d7af81ee41549f1522f717d974 CQ: SW468004 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79335 Reviewed-by: Corey V. Swenson <cswenson@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: Daniel M. Crowell <dcrowell@us.ibm.com>
* Default NV state to Memory Not PreservedDan Crowell2019-06-211-1/+3
| | | | | | | | | | | | | | | During the restore portion of the IPL we will force NV_STATUS_FLAG to indicate 'memory will not persist' (bit 0) since the logic is not armed until later on. Change-Id: I3008053081ae4f9cfe0406ab226639737e38b785 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79334 Reviewed-by: Corey V. Swenson <cswenson@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: Daniel M. Crowell <dcrowell@us.ibm.com>
* Push NVDIMM attribute updates down to the FSPDan Crowell2019-06-211-11/+67
| | | | | | | | | | | | | | | | Added calls to send attributes down to HWSV whenever we update the KEYS or ENABLE values. RTC: 208343 Change-Id: I34f18e6b6c852aa673821853064d5126afdd840e Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79082 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@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>
* Handle NVDIMM encryption errorsCorey Swenson2019-06-183-143/+270
| | | | | | | | | | | | Update ATTR_NVDIMM_ARMED and ATTR_NV_STATUS_FLAG Update notifyNvdimmProtectionChange() Set encryption error and check before arm/disarm Change-Id: I1edf738af3460684ee93b02f06ff417c3e72d4e3 RTC:210689 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/78828 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Use i2c word write for NVDIMM updateMatt Derksen2019-06-122-40/+64
| | | | | | | | | | | | | | Trying to reduce the update time and this reduced teh time to about 12.3 minutes. Change-Id: I97cd29a8bcda58902089480f2cc0849381e7d2cf CQ:SW466226 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/78422 Tested-by: Jenkins Server <pfd-jenkins+hostboot@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> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Revert "Add workaround to avoid DARN instruction at runtime"Corey V. Swenson2019-06-101-7/+1
| | | | | | | | | | | | | | | This reverts commit 20f6884ac8c615da75db885feae636ca60dc6f5a. Change-Id: I083743def26e5ae8679db22e64f11fcd796ee803 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/78470 Reviewed-by: Matt Derksen <mderkse1@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: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add workaround to avoid DARN instruction at runtimeCorey Swenson2019-06-041-1/+7
| | | | | | | | | | | | | | | The DARN instruction caused the HBRT adjunct to crash. Use hardcoded workaround until the problem is resolved. Change-Id: I34887b03fc3ef9634d75eb1adc9c6a77f2eea217 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/78260 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-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: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* NVDIMM encryption HW function supportCorey Swenson2019-06-033-300/+1558
| | | | | | | | | | | | | | | | | | Update random number generation, IPL and runtime. Write encryption regs to enable nvdimm encryption, crypto-erase, disable encryption. Read config-status reg to verify encryption state. Change-Id: I25625b53f90eeb542767fa729ebb47f8f8455a4b RTC:201474 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/77321 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: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Matthew Raybuck <matthew.raybuck@ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* NVDIMM info logs around updateMatt Derksen2019-05-162-68/+136
| | | | | | | | | | | | | | Information error logs around the start/end of individual NVDIMM updates. Also add in a 30 second retry window to nvdimm reads. Change-Id: I8f3e76e7dc811aad2817fa8c0d210c283ac61bcf Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75678 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>
* Enable 32GB NVDIMM updateMatt Derksen2019-05-151-11/+0
| | | | | | | | | | | | | | | Enable updating 32GB type NVDIMMs. Version 3.1 provided by SMART fixes the update issue found in previous versions. Change-Id: Ie2b0d3db1705f076d06d7fec8cd1ece5713de5f2 CMVC-Prereq: 1081102 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75527 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>
* Add back nvdimm_gen_keys functionCorey Swenson2019-05-131-0/+179
| | | | | | | | | | Function lost during ekb merge. Change-Id: I132991ac8516e864057da3528085cae13b67bf23 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/77315 Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Fixed the ccs port merge conflicts and added lab codeMatthew Hickman2019-05-131-179/+2
| | | | | | | | | | | | | | | | | | Change-Id: I665ea2460a5ace289b17ae868b07a8876b65a0c8 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75236 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Dev-Ready: STEPHEN GLANCY <sglancy@us.ibm.com> Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Reviewed-by: Louis Stermole <stermole@us.ibm.com> Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com> Reviewed-by: Mark Pizzutillo <mark.pizzutillo@ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/76885 Reviewed-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Add NVDIMM key attributes and generate keysCorey Swenson2019-05-111-1/+179
| | | | | | | | | | | | | | | | 3 keys, 32 bytes each, random numbers generated by TPM hardware. 2 attributes for keys, 1 stored in FW 1 stored in anchor card. 1 attribute for enable/disable encryption. Change-Id: Ie3c258f06204e68c2d65b8d5fea294da5264d597 RTC:208342 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/76126 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@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> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* NVDIMM Change Polling OrderTsung Yeung2019-04-171-1/+2
| | | | | | | | | | | | | | | Change ops status read to after wait to avoid status checking timing out too soon. Change-Id: I71bd7242e1a6d2d9dc5674d3fcd0c2c3447f0697 CQ:SW462191 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75637 Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-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: Daniel M. Crowell <dcrowell@us.ibm.com>
* Allow update of zeroed NVDIMM levelMatt Derksen2019-04-121-3/+3
| | | | | | | | | | | | | | | Version 00 means the slot is blank, so a code update should be allowed. Change-Id: I0dc685ff72c699e1c3062a5b92e8679516305ca4 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75889 Tested-by: Jenkins Server <pfd-jenkins+hostboot@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> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: TSUNG K. YEUNG <tyeung@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* HB Improvements: Fix compiler warnings on modern compilersLuis Fernandez2019-04-051-1/+1
| | | | | | | | | | | | | | | | Resolve warnings when compiling with gcc 4.8. Compiled with GCC 7.3, no more compile errors/warnings; build ends with caught exception from linker. This commit compiles with GCC 8.2, no more error/warnings; except for a linking warning. Change-Id: Ib5d7c2b5bd350edc76ee2c7de96896154cd44420 RTC: 202716 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72271 Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Tested-by: Jenkins Server <pfd-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>
* Small cleanup of NVDIMM updateMatt Derksen2019-04-041-39/+41
| | | | | | | | | | | | | | | | | | Changes made based on review comments. - Needed to make some errors purely software errors. - Removed error if running on non-FSP system. - Make it clear that writeCycleTime is NOT used. Change-Id: Iac4acdda46bfcdb35c8ce7f3a1d1541f8c560957 RTC:202536 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75229 Tested-by: Jenkins Server <pfd-jenkins+hostboot@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> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: TSUNG K. YEUNG <tyeung@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* NVDIMM - erase after arm to prevent stale image getting restored on next bootTsung Yeung2019-04-041-0/+29
| | | | | | | | | | | | | Change-Id: I44626ab7d2c9cb10eac0a2ae2aa3d2217d307d69 CQ:SW459987 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75472 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-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: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Adds HWP call to set up CCS for EPOWTsung Yeung2019-04-041-0/+56
| | | | | | | | | | | | | Change-Id: Idf457ec19eea1101cb7ac2627b16d446641581fb CQ:SW458983 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75176 Tested-by: Jenkins Server <pfd-jenkins+hostboot@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> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
OpenPOWER on IntegriCloud