summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/nvdimm/runtime
Commit message (Collapse)AuthorAgeFilesLines
* Make RT_TARG id generation code common between IPL time and runtimeChristian Geddes2020-01-221-1/+1
| | | | | | | | | | | | | | | | | For axone we are writing the OMI mmio bars into hdat so the hypervisor know how to talk to the devices. IPL code needs to be able to lookup the hbrt-style ids so we can use them to make hdat entries that the hypervisor will be able to associate targets with. This commit also move rt_targeting.H to the correct include directory and updates everywhere that it is included. Change-Id: I31deaa1a9c5a7523622a8b3b12ad459e2b2feed3 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80419 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>
* Always send NV_STATUS to Opal when opal-prd startsCorey Swenson2019-12-121-0/+32
| | | | | | | | | | | | | | | Opal does not persist NVDIMM status state so HBRT must send this info to Opal when opal-prd starts. Change-Id: I0771c63ff2857f9b70fbfad5760267e3da463009 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/87541 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>
* Fix auto-arming NVDIMMs for ESS systemsCorey Swenson2019-11-191-812/+0
| | | | | | | | | | | | | | | | | | | ESS requires HB to arm the NVDIMMs during IPL after PM complex is started. Requires moving the nvdimmArm() and associated functions from nvdimm_rt.C to nvdimm.C. Change-Id: Ie7fd08b27ad7959b21086f0f291764c2156e5bd9 CQ:SW479909 CMVC-Prereq:1096403 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/86489 Reviewed-by: Matt Derksen <mderkse1@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>
* NVDIMM Erase error handle not working in IPL Arm handlingMatt Derksen2019-10-091-9/+0
| | | | | | | | | | | | | | | | | | | | NVDIMM erase error handling is failing because nvdimmDisarm() checks ATTR_NVDIMM_ARMED before disarming the nvdimm. Disarming an nvdimm that is already disarmed should not be harmful. Also erase error should correctly set the error status as 0x01 (memory unable to preserve future content) Change-Id: I8a710343478691c87f1570fd30074c2543d3373c CQ: SW477541 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/84662 Reviewed-by: TSUNG K YEUNG <tyeung@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Corey V Swenson <cswenson@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: Nicholas E Bofferding <bofferdn@us.ibm.com>
* Add nvdimm arm retry logic in case of glitchesTsung Yeung2019-10-041-88/+193
| | | | | | | | | | | | | | | | | Random BPM glitches could cause temporary persistency lost and failing the arm command. Allow arm retry if glitch only persisted for a second or less. Change-Id: I28e65b05e482129f6fea34580064a825923aaaf3 CQ:SW477211 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/84668 Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@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>
* Attempt to unlock encryption in NVDIMM Arm functionCorey Swenson2019-10-021-1/+53
| | | | | | | | | | | | | | | | | Ensure encryption is unlocked when NVDIMM is armed at runtime. Failure to unlock will generate additional Arm error and prevent Arm from continuing. CQ:SW477075 Change-Id: I7f97a6b8d574562d4e4abeb256020df5433d3a5f Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/84559 Reviewed-by: Dean Sanner <dsanner@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: TSUNG K YEUNG <tyeung@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>
* Fixed error handling issues in arm pathMATTHEW I. HICKMAN2019-09-271-87/+133
| | | | | | | | | | | | Addresses the following: 1. nvdimms not getting disarmed in error cases 2. nvdimms getting garded on BPM-specific errors Change-Id: Ibf9b391cb94c1dd247406f960298a1e55ebf186f CQ:SW475860 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/84061 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* Fixed pre-req check during NVDimm ArmMATTHEW I. HICKMAN2019-09-251-1/+61
| | | | | | | | | | | | CQ:SW475280 Change-Id: I15634923e18dfecb18146e9ec33ed128111f517c Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/83484 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: TSUNG K YEUNG <tyeung@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>
* Fixed several Arm error handling bugsMATTHEW I. HICKMAN2019-09-251-1/+6
| | | | | | | | | | | | CQ:SW475445 Change-Id: I19cd03850b65a23d2a35c9160352cdc7a4946667 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/83534 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: Daniel M Crowell <dcrowell@us.ibm.com>
* Fixed several small bugs found via code reviewMATTHEW I. HICKMAN2019-09-191-60/+65
| | | | | | | | | | | CQ:SW474830 Change-Id: I1ff22805b9bb3facf68d4d62ea66de169be9b98b Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/83213 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>
* Changed the callout in the call NVM Health Status to be an NVDIMMRoland Veloz2019-09-161-17/+48
| | | | | | | | | | | | | | | | | | | | | | | In the call nvDimmNvmCheckHealthStatus, the call is incorrectly using HB when it should be associated with NVDIMM. Switched out the addPartCallout with HWAS::BPM_PART_TYPE to a addHwCallout with the given NVDIMM. Also added more trace info to print out the registers that are being retrieved. Corrected the logic such that a good state passes. Apparently, the way the code was written, a good or bad state, both would fail. Now the good state passes and the bad state fails. Change-Id: I46b62ce3fe5c5ac86efb501e2a91fdea8160b9b5 CQ: SW475265 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/83673 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 vendor log data to FFDC for all NVDIMM HW errorsCorey Swenson2019-09-131-0/+7
| | | | | | | | | | | | | Read vendor log data from NVDIMM Do checksum compare Add to error log as string Change-Id: I41a295bf54d031c978b59fe1f59c98507fbeec81 CQ:SW473585 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/83383 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>
* NVDIMM: Additional FFDC for NVDIMM/BPM calloutsCorey Swenson2019-09-121-0/+6
| | | | | | | | | | | | Add page 4 SMART regs to error log FFDC for all NVDIMM HW errors. Add attribute to prevent recursively executing the function. Change-Id: I2cdd89436a2647c440f900a729596b522829aca6 CQ:SW470690 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82599 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* Added code to support doing an NVM health checkRoland Veloz2019-09-031-117/+591
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a method that will do an NVM (non-volatile memory) health check. In particular this method will check the flash error counts and does a predictive callout if the number of flash error counts exceeds the maximum allowed. This method also checks the bad block percentage and does a predictive callout if the number of bad block percentage exceeds the maximum allowed. A predictive callout is done if either or both fail the check. Added support in the runtime commands to make the nvm health check call as well. Also, when I did the ES (energy source) health check method, I was not very explicit in the method that it was doing an ES health check. So I updated the verbiage in the nvDimmCheckHealthStatus to add ES wherever appropriate as to make these two method explicit as to what health check is being performed. Change-Id: Ib9925fd2bb8430cf2121108329247d96072beb1b CQ: 473220 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82843 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: Glenn Miles <milesg@ibm.com> Reviewed-by: Zachary Clark <zach@ibm.com> Reviewed-by: Christian R Geddes <crgeddes@us.ibm.com>
* Added security bit and fir handling, gard and trace fixesMATTHEW I. HICKMAN2019-08-271-19/+128
| | | | | | | | | | | Change-Id: I8160d9662859232dfd612b3a2f5c1c522c02e308 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82534 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: 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>
* Fix restore fail due to restore attempt on empty flashTsung Yeung2019-08-261-2/+2
| | | | | | | | | | | | | | | -fix NVDIMM FFDC misalignment -correct NV_STATUS enum naming Change-Id: Ib0084f5fb95ce8a93ee5e85a0790878469065acb CQ:SW473934 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82775 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>
* 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>
* Added error checking and handling to nvdimm iplMatthew Hickman2019-08-191-32/+182
| | | | | | | | | | | | 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>
* 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-311-0/+3
| | | | | | | | | | | | | | | | - 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>
* Call notifyNvdimmProtectionChange function during IPLCorey Swenson2019-07-011-234/+0
| | | | | | | | | | | | | | | 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>
* Move the NVDIMM_ARMED attribute from PROC to DIMM typeCorey Swenson2019-06-211-20/+5
| | | | | | | | | | | | | | | | 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 NVDIMM encryption errorsCorey Swenson2019-06-181-104/+220
| | | | | | | | | | | | 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>
* 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-031-6/+140
| | | | | | | | | | | | | | | | | | 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 - 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>
* Add part callout for the Backup Power ModuleCorey Swenson2019-04-031-0/+3
| | | | | | | | | | | | | | | Callouts were previously added for the NVDIMM controller and the BPM cable. This callout handles the BPM itself. Change-Id: I4ad680a1434ed7d3680f14f6081e456c07239c36 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75254 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: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
* NVDIMM update codeMatt Derksen2019-03-291-0/+15
| | | | | | | | | | | | | | | | | This code does the actual NVDIMM update. Refer to JEDEC BAEBI spec for details https://www.jedec.org/standards-documents/docs/jesd245a Change-Id: I8ac6f7695b8a056bb6d8e627d89b4e5e06398f1d RTC:202536 CMVC-Prereq: 1080592 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71680 Reviewed-by: TSUNG K. YEUNG <tyeung@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@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 callouts for NVDIMM errorsCorey Swenson2019-03-111-4/+10
| | | | | | | | | | | | | | | | | | - Add part callout for NVDIMM controller - Add part callout for Backup Power Module - Call new procedure for NVDIMM errors Change-Id: I33d14b8e4220ced3c632c8174eaed5faca4f088d RTC:199645 CMVC-Prereq:1077602 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71977 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: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: TSUNG K. YEUNG <tyeung@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Disable NVDIMM Trigger Before Draminit and Deassert DDR_RESETn During MPIPLTsung Yeung2019-02-121-76/+60
| | | | | | | | | | | | | | | | | | | | - Per the JEDEC spec, DDR_RESETn is masked from the DRAM when the NVDIMM is armed. This could cause the training to fail if the trigger is not disabled before training. Two scenarios where this can happen are warm reboot and cold boot before the backup power module can deplete the charge - Deassert DDR_RESETn in MPIPL before triggering the restore. - Fix the config flag to enable NVDIMM code Change-Id: I9d25c2f653fc54d379f0dbab49218f5b59a407a0 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70035 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>
* Inform PHYP of NVDIMM protection by OCCMatt Derksen2019-01-242-1/+436
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OCC is responsible for detecting the EPOW signal and triggering the save operation on the NVDIMM. Therefore, if the OCC is not running we are unprotected from a poweroff event. PHYP needs to inform the LPARs using the NV (non-volatile) memory of this state so they can behave accordingly. HBRT is responsible for telling PHYP when we get into this state. There are two ways we can detect this state: a) HBRT explicitly puts the PM complex into reset b) PRD detects a specific FIR bit The message should include this data: - what state we are in (protected or unprotected) - which processor is affected Work for this story will include: - Definition of the new message - Creating a utility function to send the message - Calling utility function to send 'unprotected' message inside of all pm reset paths at runtime Change-Id: Ib015d001d47883a247faedabedb0705ba0f1b215 RTC:201181 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68870 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: TSUNG K. YEUNG <tyeung@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
* Move NVDIMM operations under NVDIMM modulesMatt Derksen2019-01-211-0/+34
Makes it easier to find and include NVDIMM operations. Also makes it easier to exclude from non-nvdimm supported systems. Change-Id: I870c2246e1bb9201e6e8032f1868e6e4e6a2b91a Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70489 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>
OpenPOWER on IntegriCloud