diff options
Diffstat (limited to 'src/usr')
-rw-r--r-- | src/usr/diag/prdf/plat/prdfPlatServices_rt.C | 24 | ||||
-rw-r--r-- | src/usr/diag/prdf/plat/prdfPlatServices_rt.H | 12 | ||||
-rw-r--r-- | src/usr/diag/prdf/prdf_hb_only.mk | 8 |
3 files changed, 41 insertions, 3 deletions
diff --git a/src/usr/diag/prdf/plat/prdfPlatServices_rt.C b/src/usr/diag/prdf/plat/prdfPlatServices_rt.C index b8a0fbf01..23926f9bb 100644 --- a/src/usr/diag/prdf/plat/prdfPlatServices_rt.C +++ b/src/usr/diag/prdf/plat/prdfPlatServices_rt.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016,2018 */ +/* Contributors Listed Below - COPYRIGHT 2016,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -105,6 +105,28 @@ void sendPredDeallocRequest( uint64_t i_saddr, uint64_t i_eaddr ) __dyndealloc( i_saddr, i_eaddr, MEMORY_ERROR_PREDICTIVE ); } +uint32_t nvdimmNotifyPhypProtChange( TARGETING::TargetHandle_t i_target, + const NVDIMM::nvdimm_protection_t i_state ) +{ + #define PRDF_FUNC "[PlatServices::nvdimmNotifyPhypProtChange] " + + uint32_t o_rc = SUCCESS; + + errlHndl_t errl = NVDIMM::notifyNvdimmProtectionChange( i_target, i_state ); + if ( nullptr != errl ) + { + PRDF_ERR( PRDF_FUNC "NVDIMM::notifyNvdimmProtectionChange(0x%08x) " + "failed.", getHuid(i_target) ); + PRDF_COMMIT_ERRL( errl, ERRL_ACTION_REPORT ); + o_rc = FAIL; + } + + return o_rc; + + #undef PRDF_FUNC + +} + //############################################################################## //## Nimbus Maintenance Command wrappers //############################################################################## diff --git a/src/usr/diag/prdf/plat/prdfPlatServices_rt.H b/src/usr/diag/prdf/plat/prdfPlatServices_rt.H index ad2ea5553..f152175f6 100644 --- a/src/usr/diag/prdf/plat/prdfPlatServices_rt.H +++ b/src/usr/diag/prdf/plat/prdfPlatServices_rt.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016,2018 */ +/* Contributors Listed Below - COPYRIGHT 2016,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -30,6 +30,7 @@ #include <p9_l2err_extract.H> #include <p9_pm_callout.H> #include <prdfMemAddress.H> +#include <isteps/nvdimm/nvdimm.H> namespace PRDF { @@ -64,6 +65,15 @@ void sendDynMemDeallocRequest( uint64_t i_saddr, uint64_t i_eaddr ); */ void sendPredDeallocRequest( uint64_t i_saddr, uint64_t i_eaddr ); +/** + * @brief Notify PHYP of NVDIMM protection status + * + * @param i_target Processor with NVDIMM + * @param i_state Protection state of NVDIMM + */ +uint32_t nvdimmNotifyPhypProtChange( TARGETING::Target * i_target, + const NVDIMM::nvdimm_protection_t i_state ); + //############################################################################## //## Nimbus/Centaur Maintenance Command wrappers //############################################################################## diff --git a/src/usr/diag/prdf/prdf_hb_only.mk b/src/usr/diag/prdf/prdf_hb_only.mk index b52a0e1e8..73168a875 100644 --- a/src/usr/diag/prdf/prdf_hb_only.mk +++ b/src/usr/diag/prdf/prdf_hb_only.mk @@ -5,7 +5,7 @@ # # OpenPOWER HostBoot Project # -# Contributors Listed Below - COPYRIGHT 2013,2018 +# Contributors Listed Below - COPYRIGHT 2013,2019 # [+] International Business Machines Corp. # # @@ -130,6 +130,12 @@ ifeq (${HOSTBOOT_RUNTIME},1) # plat/ prd_obj += prdfPlatServices_rt.o +# nvdimm +prd_vpath += ${ROOTPATH}/src/usr/isteps/nvdimm/ +prd_vpath += ${ROOTPATH}/src/usr/isteps/nvdimm/runtime +prd_obj_no_sim += nvdimm.o +prd_obj_no_sim += nvdimm_rt.o + endif ################################################################################ |