| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On a NVDIMM system we need to make sure that we don't
use the NV memory for the HOMER (or other reserved
memory). Depending on the specific memory layout
the NV memory could be placed at the top of memory
where we would normally land.
Change-Id: Ie4407c63a4944cc5be13d2573d06fbed09d6a11f
CQ: SW470564
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/86480
Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com>
Reviewed-by: Corey V Swenson <cswenson@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: Matt Derksen <mderkse1@us.ibm.com>
Reviewed-by: William G Hoffa <wghoffa@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In bpm_update.C there were two places where the wrong errl was being
given as a parameter to FFDC functions. The errl supplied was nullptr
causing hostboot to crash as a result. This commit fixes that by
suppling the correct errl.
Change-Id: I50e8459d2b3602177ca740059a706613402c3e95
RTC:212448
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/83781
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For any command error or timeout during FW_UPDATE
add regs to error log. Registers specified in
NVDIMM IPL Error Handling Document.
CQ:SW473060
Change-Id: I3ca8933b9c62f0b12bebefbae06357400e8e436e
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/83590
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds part callouts for all BPM related error logs and collects BPM
traces for any errors that are returned from interactions with the
NVDIMM to provide context. Additionally, if there is an error during the
config updates the code will erase the firmware section to force an
update on any subsequent attempt.
Change-Id: I045b4ba1feea2fbc1ddb5e418bf60b86d6c11bb1
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82946
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>
Reviewed-by: Corey V Swenson <cswenson@us.ibm.com>
Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a lingering issue where an error that was retryable was
thought to be non-retryable. This propagated out of blockWrite() causing
the update to think it had failed when it fact it had not.
Change-Id: I536e79ddd4ac476fdf1aa0b370f81f4b0b198f4c
RTC: 212448
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82614
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: Christian R Geddes <crgeddes@us.ibm.com>
Reviewed-by: Roland Veloz <rveloz@us.ibm.com>
Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 0x10: Contents are encrypted
Set when encryption is enabled
Clear when encryption is disabled
Attribute comments should match HDAT
Change-Id: I52805f6c8c3f303ce29cf8b8534304dfd0a09821
RTC:214625
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82638
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See defect for register list and hard-coded values
Change-Id: Ibc32ddfcb4719388dd744aa946df62e27066a05c
CQ:SW472435
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82348
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Glenn Miles <milesg@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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
-Move erase and arm to after OCC has started
-Address several TODOs in I2d68123ceb0b8e7a33b54f9acad0968670a67ea9
-Combine arm and erase into an atomic operation with ATOMIC_SAVE_AND_ERASE
Change-Id: Iad06f6fe7128df3defc4ded57b0151f9c4b9d15e
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/68197
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Tested-by: Daniel M. Crowell <dcrowell@us.ibm.com>
|
|
-New NVDIMM functions to support restore and trigger setup
-Includes NVDIMM step in call_mss_power_cleanup after mss_power_cleanup HWP
-Fixes attribute NV_STATUS_FLAG to match HDAT spec
Change-Id: I2d68123ceb0b8e7a33b54f9acad0968670a67ea9
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/63948
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: Daniel M. Crowell <dcrowell@us.ibm.com>
|