summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/plat/mem/prdfMemDynDealloc.C
diff options
context:
space:
mode:
authorCaleb Palmer <cnpalmer@us.ibm.com>2019-06-13 09:17:51 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2019-06-28 14:07:59 -0500
commit8db1ba5aaa8198a0535cc472eda56cecdbb016f9 (patch)
tree54f5e433bff81a254e95a963265677a992474d35 /src/usr/diag/prdf/plat/mem/prdfMemDynDealloc.C
parent1581c67d3151e1c17d81c739d69e2122afd08364 (diff)
downloadtalos-hostboot-8db1ba5aaa8198a0535cc472eda56cecdbb016f9.tar.gz
talos-hostboot-8db1ba5aaa8198a0535cc472eda56cecdbb016f9.zip
PRD: Avoid gard for NVDIMMs
Change-Id: Icaa517b196826c2b442da769ef45b3cdf56e6a9d CQ: SW467502 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79189 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: Benjamen G. Tyner <ben.tyner@ibm.com> Reviewed-by: Paul Greenwood <paul.greenwood@ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79670
Diffstat (limited to 'src/usr/diag/prdf/plat/mem/prdfMemDynDealloc.C')
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemDynDealloc.C14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemDynDealloc.C b/src/usr/diag/prdf/plat/mem/prdfMemDynDealloc.C
index 0cf4bfa7c..9286a31ee 100644
--- a/src/usr/diag/prdf/plat/mem/prdfMemDynDealloc.C
+++ b/src/usr/diag/prdf/plat/mem/prdfMemDynDealloc.C
@@ -1351,6 +1351,20 @@ int32_t dimmList( TargetHandleList & i_dimmList )
sendPredDeallocRequest( ssAddr, seAddr );
PRDF_TRAC( PRDF_FUNC "Predictive dealloc for start addr: 0x%016llx "
"end addr: 0x%016llx", ssAddr, seAddr );
+
+ // If the DIMM is an NVDIMM, send a message to PHYP that a save/restore
+ // may work.
+ if ( isNVDIMM(*it) )
+ {
+ uint32_t l_rc = PlatServices::nvdimmNotifyPhypProtChange( *it,
+ NVDIMM::NVDIMM_RISKY_HW_ERROR );
+ if ( SUCCESS != l_rc )
+ {
+ PRDF_TRAC( PRDF_FUNC "nvdimmNotifyPhypProtChange(0x%08x) "
+ "failed.", getHuid(*it) );
+ continue;
+ }
+ }
}
return o_rc;
OpenPOWER on IntegriCloud