summaryrefslogtreecommitdiffstats
path: root/src/include/usr/isteps/nvdimm/nvdimmreasoncodes.H
Commit message (Collapse)AuthorAgeFilesLines
* Add support for NVDIMM secure erase verifyCorey Swenson2020-01-171-1/+4
| | | | | | | | | | | | | | | | | | Add nvdimm operations to interface Add wrapper for factory default function Add secure erase verify start function Add secure erase verify status function Change-Id: I84774e679593e7df1907c1a442c831b2f4df88d9 CQ:SW475562 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/84301 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: Roland Veloz <rveloz@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
* Slot check after firmware updateMatt Derksen2019-11-051-0/+1
| | | | | | | | | | | | | | | | | | Verify every NVDIMM is running from slot 1 and is at the latest firmware version. Create a predictive error for those that are not running latest code level. Change-Id: I46766d267f4a1293739a49c989ef5ab7dde585b5 CQ:SW478561 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/85656 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> Reviewed-by: TSUNG K YEUNG <tyeung@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 update - Clear FW Ops Status verificationMatt Derksen2019-11-051-0/+2
| | | | | | | | | | | | | | | | | | | SMART is recommending after 0x41=0x02 (Clear FW Ops Status) that the IBM utility read 0x71 to verify that the OPS_SUCCESS and OPS_ERROR bits have been cleared and that only Bit 2 (FIRMWARE_UPDATE_MODE) is set. First of two fixes for SW469894 Change-Id: Id9e9d7fa5abd5bcd3bae806b27332513f48956b2 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/83946 Reviewed-by: TSUNG K YEUNG <tyeung@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 nvdimm arm retry logic in case of glitchesTsung Yeung2019-10-041-0/+1
| | | | | | | | | | | | | | | | | 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-0/+2
| | | | | | | | | | | | | | | | | 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-0/+2
| | | | | | | | | | | | 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>
* Added additional erase error handlingMATTHEW I. HICKMAN2019-09-271-0/+1
| | | | | | | | | | | | CQ:SW476620 Change-Id: I5fb983405d7d9c0bf58f5e45dfbcfb0a3435a89f Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/84069 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: Daniel M Crowell <dcrowell@us.ibm.com>
* Fixed several small bugs found via code reviewMATTHEW I. HICKMAN2019-09-191-0/+2
| | | | | | | | | | | 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>
* Add vendor log data to FFDC for all NVDIMM HW errorsCorey Swenson2019-09-131-0/+4
| | | | | | | | | | | | | 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>
* Added code to support doing an NVM health checkRoland Veloz2019-09-031-78/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 error checking and handling to nvdimm iplMatthew Hickman2019-08-191-15/+40
| | | | | | | | | | | | 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/+5
| | | | | | | | | | | | | | | | | | | | | | * 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>
* Add option to factory reset nvdimmsDan Crowell2019-07-161-0/+1
| | | | | | | | | | | | | 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>
* Push ATTR_NVDIMM_ARMED down to FSP to handle MPIPL caseDan Crowell2019-07-011-0/+1
| | | | | | | | | | | | | | | 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>
* Push NVDIMM attribute updates down to the FSPDan Crowell2019-06-211-0/+2
| | | | | | | | | | | | | | | | 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>
* NVDIMM encryption HW function supportCorey Swenson2019-06-031-1/+18
| | | | | | | | | | | | | | | | | | 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>
* Add NVDIMM key attributes and generate keysCorey Swenson2019-05-111-0/+5
| | | | | | | | | | | | | | | | 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>
* Small cleanup of NVDIMM updateMatt Derksen2019-04-041-1/+2
| | | | | | | | | | | | | | | | | | 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 update codeMatt Derksen2019-03-291-0/+20
| | | | | | | | | | | | | | | | | 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>
* Framework for NVDIMM updateMatt Derksen2019-02-281-0/+2
| | | | | | | | | | | | | | | | | This includes framework to update the firmware running on the NV controller. The controller requires 12V power to update, so this function in inside hostboot. Change-Id: I0733d83ff6ba2fc3f026d49c72784b1295bd3eed RTC:201197 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/69879 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: 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>
* Inform PHYP of NVDIMM protection by OCCMatt Derksen2019-01-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+125
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